From b9dee56294e1774c363ac364176451d2369af613 Mon Sep 17 00:00:00 2001 From: Aaron Vaage Date: Tue, 22 May 2018 14:46:45 -0700 Subject: [PATCH] Rebuild Text WebVtt to MP4 WebVtt The previous text to mp4 webvtt pipeline was incomplete. It did not insert ad cues and it could only insert a segment after a sample ended. Now the pipeline supports ad cue insert and segment insertion mid text sample. This required the pipeline to use the text chunker (to split samples and insert segments) and required a major overhaul of the text to mp4 converter. Before the converter came before the chunker. This meant that the converter only expected to see stream info and text samples. Moving the converter after the cue aligner and chunker means that the convert had to be aware of segments and cues. The general approach is the same, however the converter will convert the samples per-segment as the chunker will introduce duplicate samples if a sample spans across segments. Closes #362 Closes #382 Change-Id: I0f54a40524c36a602ad3804a0da26e80851c92fd --- packager/app/test/packager_test.py | 18 + .../bear-640x360-audio-1.m4s | Bin 0 -> 16731 bytes .../bear-640x360-audio-2.m4s | Bin 0 -> 16329 bytes .../bear-640x360-audio-3.m4s | Bin 0 -> 1021 bytes .../bear-640x360-audio-4.m4s | Bin 0 -> 9198 bytes .../bear-640x360-audio-init.mp4 | Bin 0 -> 757 bytes .../bear-640x360-audio.m3u8 | 16 + .../bear-640x360-video-1.m4s | Bin 0 -> 99393 bytes .../bear-640x360-video-2.m4s | Bin 0 -> 121887 bytes .../bear-640x360-video-3.m4s | Bin 0 -> 79742 bytes .../bear-640x360-video-iframe.m3u8 | 18 + .../bear-640x360-video-init.mp4 | Bin 0 -> 823 bytes .../bear-640x360-video.m3u8 | 14 + .../bear-subtitle-english-text-1.m4s | Bin 0 -> 239 bytes .../bear-subtitle-english-text-2.m4s | Bin 0 -> 237 bytes .../bear-subtitle-english-text-3.m4s | Bin 0 -> 237 bytes .../bear-subtitle-english-text-4.m4s | Bin 0 -> 237 bytes .../bear-subtitle-english-text-5.m4s | Bin 0 -> 237 bytes .../bear-subtitle-english-text-6.m4s | Bin 0 -> 253 bytes .../bear-subtitle-english-text-init.mp4 | Bin 0 -> 718 bytes .../bear-subtitle-english-text.m3u8 | 20 + .../vtt-text-to-mp4-with-ad-cues/output.m3u8 | 11 + packager/media/base/media_handler.cc | 20 + packager/media/base/media_handler.h | 2 + .../media/base/media_handler_test_base.cc | 20 - packager/media/base/media_handler_test_base.h | 1 - .../formats/webvtt/webvtt_to_mp4_handler.cc | 364 ++++++---- .../formats/webvtt/webvtt_to_mp4_handler.h | 69 +- .../webvtt/webvtt_to_mp4_handler_unittest.cc | 665 +++++++++++------- packager/packager.cc | 50 +- 30 files changed, 791 insertions(+), 497 deletions(-) create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-1.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-2.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-3.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-4.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-init.mp4 create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio.m3u8 create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-1.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-2.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-3.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-iframe.m3u8 create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-init.mp4 create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video.m3u8 create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-1.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-2.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-3.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-4.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-5.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-6.m4s create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-init.mp4 create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text.m3u8 create mode 100644 packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/output.m3u8 diff --git a/packager/app/test/packager_test.py b/packager/app/test/packager_test.py index d62eb498dd..38109f0169 100755 --- a/packager/app/test/packager_test.py +++ b/packager/app/test/packager_test.py @@ -1047,6 +1047,24 @@ class PackagerFunctionalTest(PackagerAppTest): self.assertPackageSuccess(streams, flags) self._CheckTestResults('hls-audio-video-text-with-ad-cues') + def testVttTextToMp4WithAdCues(self): + streams = [ + self._GetStream('audio', + hls=True, + segmented=True), + self._GetStream('video', + hls=True, + segmented=True), + self._GetStream('text', + hls=True, + segmented=True, + test_file='bear-subtitle-english.vtt', + output_format='mp4') + ] + flags = self._GetFlags(output_hls=True, ad_cues='1.5') + self.assertPackageSuccess(streams, flags) + self._CheckTestResults('vtt-text-to-mp4-with-ad-cues') + def testWebmSubsampleEncryption(self): streams = [ self._GetStream('video', diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-1.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-1.m4s new file mode 100644 index 0000000000000000000000000000000000000000..c4b4ac03d9f29ed640acd5b10a1674322a7da93b GIT binary patch literal 16731 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 GyZ#3_ksT5M literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-2.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-2.m4s new file mode 100644 index 0000000000000000000000000000000000000000..8504387c993317d9366f8ba3128df01facc5dfd7 GIT binary patch literal 16329 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℞HW={gk=Q#Q3@f_#D~_gqzmP2VZ#Y;(n_{ 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 iEu>zg_Was6)t3X>_C9L7{r5NY`bRw literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-4.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio-4.m4s new file mode 100644 index 0000000000000000000000000000000000000000..cd5f00f50ca71f2ae5803daf90acb1111bf2f5d9 GIT binary patch literal 9198 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 literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio.m3u8 b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio.m3u8 new file mode 100644 index 0000000000..5e114bac78 --- /dev/null +++ b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-audio.m3u8 @@ -0,0 +1,16 @@ +#EXTM3U +#EXT-X-VERSION:6 +## Generated with https://github.com/google/shaka-packager version -- +#EXT-X-TARGETDURATION:2 +#EXT-X-PLAYLIST-TYPE:VOD +#EXT-X-MAP:URI="bear-640x360-audio-init.mp4" +#EXTINF:1.022, +bear-640x360-audio-1.m4s +#EXTINF:0.998, +bear-640x360-audio-2.m4s +#EXTINF:0.046, +bear-640x360-audio-3.m4s +#EXT-X-PLACEMENT-OPPORTUNITY +#EXTINF:0.697, +bear-640x360-audio-4.m4s +#EXT-X-ENDLIST diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-1.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-1.m4s new file mode 100644 index 0000000000000000000000000000000000000000..82605ec2c30428a0cff9d9f6c124502f65de509c GIT binary patch literal 99393 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
    {ob29wLUokNEW)3-v@ZW@BPJ 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 literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-3.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-3.m4s new file mode 100644 index 0000000000000000000000000000000000000000..71e371e17a3ba96d808f676ec8e3e98279107161 GIT binary patch literal 79742 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 M)GEPq{|^o6z_TV3HUIzs literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-iframe.m3u8 b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-iframe.m3u8 new file mode 100644 index 0000000000..756a032739 --- /dev/null +++ b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-iframe.m3u8 @@ -0,0 +1,18 @@ +#EXTM3U +#EXT-X-VERSION:6 +## Generated with https://github.com/google/shaka-packager version -- +#EXT-X-TARGETDURATION:2 +#EXT-X-PLAYLIST-TYPE:VOD +#EXT-X-I-FRAMES-ONLY +#EXT-X-MAP:URI="bear-640x360-video-init.mp4" +#EXTINF:1.001, +#EXT-X-BYTERANGE:15581@80 +bear-640x360-video-1.m4s +#EXTINF:1.001, +#EXT-X-BYTERANGE:18221@80 +bear-640x360-video-2.m4s +#EXT-X-PLACEMENT-OPPORTUNITY +#EXTINF:0.734, +#EXT-X-BYTERANGE:19663@80 +bear-640x360-video-3.m4s +#EXT-X-ENDLIST diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-init.mp4 b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video-init.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..5ed12ec0532ac65e24a75bde8756e92456822e50 GIT binary patch literal 823 zcmZ`%K}*~~6n@dtf(TV=i-MF;w#RL%?LlObl`W#TQs|yaam-|suo)+0W`l|ckKzvy zkK(xpe?kv}hyH>ddMNFs?JwwQ`@JNqVcR}3dEfWmo0s`shKL$HyPw8JD}uqVsPyHM z6ebe6zvQc)Pc->JX`LgTs63Kfclh-3h!@e|IdgJ~r+_1VOUitmx9j9@Jb}=O3aqG7 zZX}azRJQf%#qtPO{{1NS@EYh&5#4zGW~&R-B8sd{&8p{xv5f{h&wQ=CQ0p)WJgDr8 zW-9!?2!o7TR)lNKRs{8MHZXP#y1v*<^wH^^?HB6r-KuBZ|FQAR7;j_S#1Xnjyx-YZ zGG?`|lK-CY+bgc4W_=QQEQ2Ciy}ICfQ|!tFTF|ti;@uuVLzaF~W&v|HKF;(YOWX>7 zH+ClhJ~P%7zqpDY^ECiw8)npq(fD9kM#kUs!y!V;=-P24Jsy6g zg%JM3=k~exJDtU4oBToabNl|I=BYz>qhH@XJ^6?oGsap|YX)v`HE(PV{NRR_05!g@ l#pZHV47aXhMdiUBYGzbW4xXI$1-NUoBF@{n9*YlF+8=BAg0uht literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video.m3u8 b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video.m3u8 new file mode 100644 index 0000000000..ed69bc21bf --- /dev/null +++ b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-640x360-video.m3u8 @@ -0,0 +1,14 @@ +#EXTM3U +#EXT-X-VERSION:6 +## Generated with https://github.com/google/shaka-packager version -- +#EXT-X-TARGETDURATION:2 +#EXT-X-PLAYLIST-TYPE:VOD +#EXT-X-MAP:URI="bear-640x360-video-init.mp4" +#EXTINF:1.068, +bear-640x360-video-1.m4s +#EXTINF:1.001, +bear-640x360-video-2.m4s +#EXT-X-PLACEMENT-OPPORTUNITY +#EXTINF:0.734, +bear-640x360-video-3.m4s +#EXT-X-ENDLIST diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-1.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-1.m4s new file mode 100644 index 0000000000000000000000000000000000000000..577826f3fa2f1e33884dbb39ced2392c4c69a734 GIT binary patch literal 239 zcmXv`K?=e!5M1rWV~^epBJ@%OLC}YI@whe(DKs`TTd}|J4}Qj{_zY*QE=*=Jv$I5G zl8muQT_6nj7~+0sIr%EM1glJqy=#V<5oPa5{{Qq;?=hKe=sE|P2j}f?4;?y5&+0El z{W-0n)mP}`;;c;a`);HkuDGlD96**CZ~?r41#k$KwNulmLK9 zJa!>P0)g;>y8RAas!Q@oqHPNJ)Sh4gu=-4I_V8B!`dL7V(TmK;*EmJ66uxlpG&ijI z5{{x}*Srr3(Ta>c@+9>iSaUzL!v9%lM4t$q&J+*kQaJD2*qke~N!D63kXDSLy_sv} N`n(DEN=_WSw_l~FF4h15 literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-3.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-3.m4s new file mode 100644 index 0000000000000000000000000000000000000000..8c94e9149db8618c937139bb900fe839e19c5ad8 GIT binary patch literal 237 zcmXv}OA5j;5FPEpZ5JLOJ2y5UD2U*$3m0A@HjNE-n$k?g-oh(*Bah)RoH6*|<$Y#C z2mq)^Q}1IyV6g77-)^jlO@%IUwT|9CWX6~QWFLUVJ4MOxVwTTTSPa3j&CxYBRgkfs zX)w|&l70>c_HtKPGIvZtPR>%Yzc-dNj2-9yZp;3N*2vE8PE@fLy_womtyWQMtwxm7 T2H#!Pr8Yy+`diIk9G%l&;1n%k literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-4.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-4.m4s new file mode 100644 index 0000000000000000000000000000000000000000..635b90fd6b1f4529dba28d5aeac4b887c3967200 GIT binary patch literal 237 zcmXX>I}XAy3^kvDu|p4#jfF-+q7p)4XW$Z{X=p^;RE>-1Ew}==;~3bqZ}9u%B~}1H zB^o=QA_9Z?h}~gtO=>E1iKAWe_9bVG1;FYHu*oMY9zK%2r@&&2j%9|fv2$n5e5Kw< zu1NAFoLI}<`8_CE3o>$+Ci&lyQ$Muq=Pm@+XS7B-<&&slE;=)YORcs^Ypn*9X`^rN Q>Qwy?7YFC`579m?IsgCw literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-5.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-5.m4s new file mode 100644 index 0000000000000000000000000000000000000000..706143b94e22b13f7d2bebc843b90b47c5da84ed GIT binary patch literal 237 zcmXX>I}XAy3^gDomJS>s8w-tuL?wj8&cG!?)6j^xsTvp2TW|$##~~Q7Y2V=Y$xEyN zfJ!v9K1Bou^8wra&YD!0=n_ZUtus)$R(kUK9C3D`IA)G6sXFA)F$ literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-6.m4s b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-6.m4s new file mode 100644 index 0000000000000000000000000000000000000000..1f56626de245387e00fefc5efe355dfb8e67c323 GIT binary patch literal 253 zcmXX>K?=e!5L_#WH+%FLMDSt*f(1Vy_y9i;o5Tj2CNx{Izwj&m$%D^u*E+D7+1bpJ z0Dwq1M3;gG0`bAe{Z6Y?SKcPFw#n%S&j=HM=?7r(9$W6=#olu?8XtlsnR{F7|D74} z89T-P64}pSMVhl*j2x}TQT}$XvFlsf%kzwiW*NVsq(~&5QyslloGI^!6>$;O(436e dBq^onJ)b(b_9`w$bw%TDhQ8WcD|rEh%oig(FyR0I literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-init.mp4 b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text-init.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8c9238168e1cd570f8e7c87d4c6d5885c3658e3c GIT binary patch literal 718 zcmZuvy-ve05O!N67&=snOg4f*2SP4}*9F z1|$|9gva3QByA|1Vtqe%=lGluLYy(&Cy`c?U?BEnaM zJZ`@|nMFwB+h|g=kENwvh&*4_gR1z;>u9}54zx%)Arom?HayxDQu0&op|oNERt zjd7=Ii0$;Ni|NhWf5V!~nI%2=)mCdu7E!bu$^O6L%MaVoson(e8C18qKz&LlOyDRO z?=qT<5w}>5n=Iu_} z88^Kx4WJRrK&|obnMWJ-!(8PAYkXDlni}%?(d)^K&k$RZm)`mpY6nv5n>KSMTn)zv F6F;3|aN7U? literal 0 HcmV?d00001 diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text.m3u8 b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text.m3u8 new file mode 100644 index 0000000000..ed76d2c784 --- /dev/null +++ b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/bear-subtitle-english-text.m3u8 @@ -0,0 +1,20 @@ +#EXTM3U +#EXT-X-VERSION:6 +## Generated with https://github.com/google/shaka-packager version -- +#EXT-X-TARGETDURATION:2 +#EXT-X-PLAYLIST-TYPE:VOD +#EXT-X-MAP:URI="bear-subtitle-english-text-init.mp4" +#EXTINF:1.000, +bear-subtitle-english-text-1.m4s +#EXTINF:1.000, +bear-subtitle-english-text-2.m4s +#EXTINF:0.068, +bear-subtitle-english-text-3.m4s +#EXT-X-PLACEMENT-OPPORTUNITY +#EXTINF:1.000, +bear-subtitle-english-text-4.m4s +#EXTINF:1.000, +bear-subtitle-english-text-5.m4s +#EXTINF:1.000, +bear-subtitle-english-text-6.m4s +#EXT-X-ENDLIST diff --git a/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/output.m3u8 b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/output.m3u8 new file mode 100644 index 0000000000..05803d55d5 --- /dev/null +++ b/packager/app/test/testdata/vtt-text-to-mp4-with-ad-cues/output.m3u8 @@ -0,0 +1,11 @@ +#EXTM3U +## Generated with https://github.com/google/shaka-packager version -- + +#EXT-X-MEDIA:TYPE=AUDIO,URI="bear-640x360-audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_1",AUTOSELECT=YES,CHANNELS="2" + +#EXT-X-MEDIA:TYPE=SUBTITLES,URI="bear-subtitle-english-text.m3u8",GROUP-ID="default-text-group",NAME="stream_0",AUTOSELECT=YES + +#EXT-X-STREAM-INF:BANDWIDTH=1150004,CODECS="avc1.64001e,mp4a.40.2,wvtt",RESOLUTION=640x360,AUDIO="default-audio-group",SUBTITLES="default-text-group" +bear-640x360-video.m3u8 + +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=214291,CODECS="avc1.64001e",RESOLUTION=640x360,URI="bear-640x360-video-iframe.m3u8" diff --git a/packager/media/base/media_handler.cc b/packager/media/base/media_handler.cc index e26bce3745..425b01368f 100644 --- a/packager/media/base/media_handler.cc +++ b/packager/media/base/media_handler.cc @@ -9,6 +9,26 @@ namespace shaka { namespace media { +std::string StreamDataTypeToString(StreamDataType type) { + switch (type) { + case StreamDataType::kStreamInfo: + return "stream info"; + case StreamDataType::kMediaSample: + return "media sample"; + case StreamDataType::kTextSample: + return "text sample"; + case StreamDataType::kSegmentInfo: + return "segment info"; + case StreamDataType::kScte35Event: + return "scte35 event"; + case StreamDataType::kCueEvent: + return "cue event"; + case StreamDataType::kUnknown: + return "unknown"; + } + return "unknown"; +} + Status MediaHandler::SetHandler(size_t output_stream_index, std::shared_ptr handler) { if (output_handlers_.find(output_stream_index) != output_handlers_.end()) { diff --git a/packager/media/base/media_handler.h b/packager/media/base/media_handler.h index b0cef596f1..32b623e8bb 100644 --- a/packager/media/base/media_handler.h +++ b/packager/media/base/media_handler.h @@ -29,6 +29,8 @@ enum class StreamDataType { kCueEvent, }; +std::string StreamDataTypeToString(StreamDataType type); + // Scte35Event represents cuepoint markers in input streams. It will be used // to represent out of band cuepoint markers too. struct Scte35Event { diff --git a/packager/media/base/media_handler_test_base.cc b/packager/media/base/media_handler_test_base.cc index ae983e8f96..d6ec24127a 100644 --- a/packager/media/base/media_handler_test_base.cc +++ b/packager/media/base/media_handler_test_base.cc @@ -62,26 +62,6 @@ const uint8_t kData[]{ namespace shaka { namespace media { -std::string StreamDataTypeToString(StreamDataType stream_data_type) { - switch (stream_data_type) { - case StreamDataType::kStreamInfo: - return "stream info"; - case StreamDataType::kMediaSample: - return "media sample"; - case StreamDataType::kTextSample: - return "text sample"; - case StreamDataType::kSegmentInfo: - return "segment info"; - case StreamDataType::kScte35Event: - return "scte35 event"; - case StreamDataType::kCueEvent: - return "cue event"; - case StreamDataType::kUnknown: - return "unknown"; - } - return "unknown"; -} - std::string BoolToString(bool value) { return value ? "true" : "false"; } diff --git a/packager/media/base/media_handler_test_base.h b/packager/media/base/media_handler_test_base.h index d6f7def9e2..aea5898a27 100644 --- a/packager/media/base/media_handler_test_base.h +++ b/packager/media/base/media_handler_test_base.h @@ -16,7 +16,6 @@ namespace shaka { namespace media { -std::string StreamDataTypeToString(StreamDataType stream_data_type); std::string BoolToString(bool value); MATCHER_P(IsStreamInfo, stream_index, "") { diff --git a/packager/media/formats/webvtt/webvtt_to_mp4_handler.cc b/packager/media/formats/webvtt/webvtt_to_mp4_handler.cc index af37b7ec3d..8515ccae1f 100644 --- a/packager/media/formats/webvtt/webvtt_to_mp4_handler.cc +++ b/packager/media/formats/webvtt/webvtt_to_mp4_handler.cc @@ -7,112 +7,64 @@ #include "packager/media/formats/webvtt/webvtt_to_mp4_handler.h" #include +#include #include "packager/media/base/buffer_writer.h" #include "packager/media/formats/mp4/box_buffer.h" #include "packager/media/formats/mp4/box_definitions.h" +#include "packager/status_macros.h" namespace shaka { namespace media { - -class DisplayAction { - public: - DisplayAction(uint64_t id, int64_t time) : id_(id), time_(time) {} - virtual ~DisplayAction() = default; - - uint64_t id() const { return id_; } - int64_t time() const { return time_; } - virtual void ActOn(std::list* display) const = 0; - - private: - uint64_t id_; - int64_t time_; -}; - namespace { -const uint64_t kTrackId = 0; +size_t kTrackId = 0; -class AddToDisplayAction : public DisplayAction { - public: - explicit AddToDisplayAction(uint64_t id, - std::shared_ptr& sample) - : DisplayAction(id, sample->start_time()), sample_(sample) {} - void ActOn(std::list* display) const override { - display->push_back(sample_.get()); - } +enum class DisplayActionType { ADD, REMOVE }; - private: - std::shared_ptr sample_; +struct DisplayAction { + DisplayActionType type; + const TextSample* sample; }; -class RemoveFromDisplayAction : public DisplayAction { - public: - explicit RemoveFromDisplayAction(uint64_t id, - std::shared_ptr& sample) - : DisplayAction(id, sample->EndTime()), sample_(sample) {} - void ActOn(std::list* display) const override { - display->remove(sample_.get()); +std::multimap CreateActionList( + int64_t segment_start, + int64_t segment_end, + const std::list>& samples) { + std::multimap actions; + + for (const auto& sample : samples) { + DCHECK(sample); + + // The add action should occur either in this segment or in a previous + // segment. + DCHECK_LT(sample->start_time(), segment_end); + actions.insert( + {sample->start_time(), {DisplayActionType::ADD, sample.get()}}); + + // If the remove happens in a later segment, then we don't want to include + // that action. + if (sample->EndTime() < segment_end) { + actions.insert( + {sample->EndTime(), {DisplayActionType::REMOVE, sample.get()}}); + } } - private: - std::shared_ptr sample_; -}; -} // namespace - -bool DisplayActionCompare::operator()( - const std::shared_ptr& left, - const std::shared_ptr& right) const { - return left->time() == right->time() ? left->id() > right->id() - : left->time() > right->time(); + return actions; } -Status WebVttToMp4Handler::InitializeInternal() { - return Status::OK; -} - -Status WebVttToMp4Handler::Process(std::unique_ptr stream_data) { - if (StreamDataType::kStreamInfo == stream_data->stream_data_type) { - return DispatchStreamInfo(kTrackId, std::move(stream_data->stream_info)); - } - if (stream_data->stream_data_type == StreamDataType::kTextSample) { - std::shared_ptr sample = stream_data->text_sample; - - std::shared_ptr add( - new AddToDisplayAction(NextActionId(), sample)); - std::shared_ptr remove( - new RemoveFromDisplayAction(NextActionId(), sample)); - - actions_.push(add); - actions_.push(remove); - - return ProcessUpToTime(add->time()); - } - return Status(error::INTERNAL_ERROR, - "Invalid stream data type for this handler"); -} - -Status WebVttToMp4Handler::OnFlushRequest(size_t input_stream_index) { - const int64_t kEndOfTime = std::numeric_limits::max(); - ProcessUpToTime(kEndOfTime); - - return FlushDownstream(0); -} - -void WebVttToMp4Handler::WriteCue(const std::string& id, - const std::string& settings, - const std::string& payload, - BufferWriter* out) { +void WriteSample(const TextSample& sample, BufferWriter* out) { mp4::VTTCueBox box; - if (id.length()) { - box.cue_id.cue_id = id; + if (sample.id().length()) { + box.cue_id.cue_id = sample.id(); } - if (settings.length()) { - box.cue_settings.settings = settings; + if (sample.settings().length()) { + box.cue_settings.settings = sample.settings(); } - if (payload.length()) { - box.cue_payload.cue_text = payload; + if (sample.payload().length()) { + box.cue_payload.cue_text = sample.payload(); } + // If there is internal timing, i.e. WebVTT cue timestamp, then // cue_current_time should be populated // "which gives the VTT timestamp associated with the start time of sample." @@ -121,85 +73,195 @@ void WebVttToMp4Handler::WriteCue(const std::string& id, box.Write(out); } -Status WebVttToMp4Handler::ProcessUpToTime(int64_t cutoff_time) { - // We can only process as far as the last add as no new events will be - // added that come before that time. - while (actions_.size() && actions_.top()->time() < cutoff_time) { - // STAGE 1: Write out the current state - // Get the time range for which the current active state is valid. - const int64_t previous_change = next_change_; - next_change_ = actions_.top()->time(); +void WriteSamples(const std::list& samples, + BufferWriter* writer) { + DCHECK_GE(samples.size(), 0u); - if (next_change_ > previous_change) { - // Send out the active group. If there is nothing in the active group, - // then an empty cue is sent. - Status status = - active_.size() - ? MergeAndSendSamples(active_, previous_change, next_change_) - : SendEmptySample(previous_change, next_change_); - - if (!status.ok()) { - return status; - } - } else { - // The only time that |previous_change| and |next_change_| should ever - // break the rule |next_change_ > previous_change| is at the start where - // |previous_change| and |next_change_| are both zero. - DCHECK_EQ(previous_change, 0u); - DCHECK_EQ(next_change_, 0u); - } - - // STAGE 2: Move to the next state. - while (actions_.size() && actions_.top()->time() == next_change_) { - actions_.top()->ActOn(&active_); - actions_.pop(); - } + for (const auto& sample : samples) { + WriteSample(*sample, writer); } +} + +void WriteEmptySample(BufferWriter* writer) { + mp4::VTTEmptyCueBox box; + box.Write(writer); +} + +std::shared_ptr CreateMediaSample(const BufferWriter& buffer, + int64_t start_time, + int64_t end_time) { + DCHECK_GE(start_time, 0); + DCHECK_GT(end_time, start_time); + + const bool kIsKeyFrame = true; + + std::shared_ptr sample = + MediaSample::CopyFrom(buffer.Buffer(), buffer.Size(), kIsKeyFrame); + sample->set_pts(start_time); + sample->set_dts(start_time); + sample->set_duration(end_time - start_time); + + return sample; +} +} // namespace + +Status WebVttToMp4Handler::InitializeInternal() { + return Status::OK; +} + +Status WebVttToMp4Handler::Process(std::unique_ptr stream_data) { + switch (stream_data->stream_data_type) { + case StreamDataType::kStreamInfo: + return OnStreamInfo(std::move(stream_data)); + case StreamDataType::kCueEvent: + return OnCueEvent(std::move(stream_data)); + case StreamDataType::kSegmentInfo: + return OnSegmentInfo(std::move(stream_data)); + case StreamDataType::kTextSample: + return OnTextSample(std::move(stream_data)); + default: + return Status(error::INTERNAL_ERROR, + "Invalid stream data type (" + + StreamDataTypeToString(stream_data->stream_data_type) + + ") for this WebVttToMp4 handler"); + } +} + +Status WebVttToMp4Handler::OnStreamInfo( + std::unique_ptr stream_data) { + DCHECK(stream_data); + DCHECK(stream_data->stream_info); + + return Dispatch(std::move(stream_data)); +} + +Status WebVttToMp4Handler::OnCueEvent(std::unique_ptr stream_data) { + DCHECK(stream_data); + DCHECK(stream_data->cue_event); + + if (current_segment_.size()) { + return Status(error::INTERNAL_ERROR, + "Cue Events should come right after segment info."); + } + + return Dispatch(std::move(stream_data)); +} + +Status WebVttToMp4Handler::OnSegmentInfo( + std::unique_ptr stream_data) { + DCHECK(stream_data); + DCHECK(stream_data->segment_info); + + const auto& segment = stream_data->segment_info; + + int64_t segment_start = segment->start_timestamp; + int64_t segment_duration = segment->duration; + int64_t segment_end = segment_start + segment_duration; + + RETURN_IF_ERROR(DispatchCurrentSegment(segment_start, segment_end)); + current_segment_.clear(); + + return Dispatch(std::move(stream_data)); +} + +Status WebVttToMp4Handler::OnTextSample( + std::unique_ptr stream_data) { + DCHECK(stream_data); + DCHECK(stream_data->text_sample); + + auto& sample = stream_data->text_sample; + + // Ignore empty samples. This will create gaps, but we will handle that + // later. + if (sample->payload().empty()) { + return Status::OK; + } + + // Add the new text sample to the cache of samples that belong in the + // current segment. + current_segment_.push_back(std::move(stream_data->text_sample)); + return Status::OK; +} + +Status WebVttToMp4Handler::DispatchCurrentSegment(int64_t segment_start, + int64_t segment_end) { + // Active will hold all the samples that are "on screen" for the current + // section of time. + std::list active; + + // Move through the segment, jumping between each change to the current state. + // A change is defined as a group of one or more DisplayActions. + int section_start = segment_start; + + // |actions| is a map of [time] -> [action]. + auto actions = CreateActionList(segment_start, segment_end, current_segment_); + auto front = actions.begin(); + + // As it is possible to have a segment with no samples, we can't base this + // loop on the number of actions. So we need to keep iterating until we + // have written enough sections to get to the end of the segment. + while (section_start < segment_end) { + // Apply all actions that occur at the start of this part of the segment. + // Normally we would only want "== section_start" but as it is possible for + // samples to span multiple segments, their start time will be before the + // segment's start time. So we want to apply them too if they come before + // the segment. Thus why we use "<=". + while (front != actions.end() && front->first <= section_start) { + auto& action = front->second; + + switch (action.type) { + case DisplayActionType::ADD: { + active.push_back(action.sample); + break; + } + case DisplayActionType::REMOVE: { + auto found = std::find(active.begin(), active.end(), action.sample); + DCHECK(found != active.end()); + active.erase(found); + break; + } + default: { + NOTREACHED() << "Unsupported DisplayActionType " + << static_cast(action.type); + break; + } + } + + // We have "consumed" the action at the front. We can move on. + front++; + } + + // The end of the section will either be the start of the next section or + // the end of the segment. + int64_t section_end = front == actions.end() ? segment_end : front->first; + DCHECK_GT(section_end, section_start); + DCHECK_LE(section_end, segment_end); + RETURN_IF_ERROR(MergeDispatchSamples(section_start, section_end, active)); + + section_start = section_end; + } + + DCHECK(front == actions.end()) << "We should have processed all actions."; return Status::OK; } -Status WebVttToMp4Handler::MergeAndSendSamples( - const std::list& samples, +Status WebVttToMp4Handler::MergeDispatchSamples( int64_t start_time, - int64_t end_time) { + int64_t end_time, + const std::list& state) { DCHECK_GT(end_time, start_time); box_writer_.Clear(); - for (const TextSample* sample : samples) { - DCHECK_LE(sample->start_time(), start_time); - DCHECK_GE(sample->EndTime(), end_time); - WriteCue(sample->id(), sample->settings(), sample->payload(), &box_writer_); + if (state.size()) { + WriteSamples(state, &box_writer_); + } else { + WriteEmptySample(&box_writer_); } - std::shared_ptr sample = - MediaSample::CopyFrom(box_writer_.Buffer(), box_writer_.Size(), true); - sample->set_pts(start_time); - sample->set_dts(start_time); - sample->set_duration(end_time - start_time); - return DispatchMediaSample(kTrackId, std::move(sample)); -} - -Status WebVttToMp4Handler::SendEmptySample(int64_t start_time, - int64_t end_time) { - DCHECK_GT(end_time, start_time); - - box_writer_.Clear(); - - mp4::VTTEmptyCueBox box; - box.Write(&box_writer_); - - std::shared_ptr sample = - MediaSample::CopyFrom(box_writer_.Buffer(), box_writer_.Size(), true); - sample->set_pts(start_time); - sample->set_dts(start_time); - sample->set_duration(end_time - start_time); - return DispatchMediaSample(kTrackId, std::move(sample)); -} - -uint64_t WebVttToMp4Handler::NextActionId() { - return next_id_++; + return DispatchMediaSample( + kTrackId, CreateMediaSample(box_writer_, start_time, end_time)); } } // namespace media } // namespace shaka diff --git a/packager/media/formats/webvtt/webvtt_to_mp4_handler.h b/packager/media/formats/webvtt/webvtt_to_mp4_handler.h index 25dd838f19..c337c39ccb 100644 --- a/packager/media/formats/webvtt/webvtt_to_mp4_handler.h +++ b/packager/media/formats/webvtt/webvtt_to_mp4_handler.h @@ -18,76 +18,35 @@ namespace shaka { namespace media { -class DisplayAction; - -class DisplayActionCompare { - public: - bool operator()(const std::shared_ptr& left, - const std::shared_ptr& right) const; -}; - -// Take text samples, convert them to Mp4 boxes, and send them down stream. -// Virtual methods should only be overridden for testing only. +// A media handler that should come after the cue aligner and segmenter and +// should come before the muxer. This handler is to convert text samples +// to media samples so that they can be sent to a mp4 muxer. class WebVttToMp4Handler : public MediaHandler { public: WebVttToMp4Handler() = default; - - protected: - // |Process| and |OnFlushRequest| need to be protected so that it can be - // called for testing. - Status Process(std::unique_ptr stream_data) override; - Status OnFlushRequest(size_t input_stream_index) override; - - // This is made protected-virtual so that we can override it for testing. - virtual void WriteCue(const std::string& id, - const std::string& settings, - const std::string& payload, - BufferWriter* out); + virtual ~WebVttToMp4Handler() override = default; private: WebVttToMp4Handler(const WebVttToMp4Handler&) = delete; WebVttToMp4Handler& operator=(const WebVttToMp4Handler&) = delete; Status InitializeInternal() override; + Status Process(std::unique_ptr stream_data) override; - // Merge and send all samples in the queue downstream while the head of the - // queue's time is less than |cutoff|. |cutoff| is needed as we can only - // merge and send samples when we are sure no new samples will appear before - // the next action. - Status ProcessUpToTime(int64_t cutoff_time); + Status OnStreamInfo(std::unique_ptr stream_data); + Status OnCueEvent(std::unique_ptr stream_data); + Status OnSegmentInfo(std::unique_ptr stream_data); + Status OnTextSample(std::unique_ptr stream_data); - // Merge together all TextSamples in |samples| into a single MP4 box and - // pass the box downstream. - Status MergeAndSendSamples(const std::list& samples, - int64_t start_time, - int64_t end_time); + Status DispatchCurrentSegment(int64_t segment_start, int64_t segment_end); + Status MergeDispatchSamples(int64_t start_in_seconds, + int64_t end_in_seconds, + const std::list& state); - Status SendEmptySample(int64_t start_time, int64_t end_time); - - // Get a new id for the next action. - uint64_t NextActionId(); - - int64_t next_change_ = 0; + std::list> current_segment_; // This is the current state of the box we are writing. BufferWriter box_writer_; - - // |actions_| is a time sorted list of actions that affect the timeline (e.g. - // adding or removing a cue). |active_| is the list of all cues that are - // currently on screen. - // When the cue is to be on screen, it is added to |active_|. When it is time - // for the cue to come off screen, it is removed from |active_|. - // As |actions_| has a shared pointer to the cue, |active_| can use normal - // pointers as the pointer will be valid and it makes the |remove| call - // easier. - - std::priority_queue, - std::vector>, - DisplayActionCompare> - actions_; - std::list active_; - - uint64_t next_id_ = 0; }; } // namespace media diff --git a/packager/media/formats/webvtt/webvtt_to_mp4_handler_unittest.cc b/packager/media/formats/webvtt/webvtt_to_mp4_handler_unittest.cc index 3ad8b2b8c8..28c23b5de8 100644 --- a/packager/media/formats/webvtt/webvtt_to_mp4_handler_unittest.cc +++ b/packager/media/formats/webvtt/webvtt_to_mp4_handler_unittest.cc @@ -15,368 +15,535 @@ namespace shaka { namespace media { namespace { const size_t kStreamIndex = 0; +const bool kSubSegment = true; const bool kEncrypted = true; - -const size_t kInputCount = 1; -const size_t kOutputCount = 1; -const size_t kInputIndex = 0; -const size_t kOutputIndex = 0; - -const char* kId[] = {"cue 1 id", "cue 2 id", "cue 3 id"}; -const char* kPayload[] = {"cue 1 payload", "cue 2 payload", "cue 3 payload"}; -const char* kNoSettings = ""; - -// These all refer to the samples. To make them easier to use in their -// correct context, they have purposely short names. -const size_t kA = 0; -const size_t kB = 1; -const size_t kC = 2; - } // namespace -class TestableWebVttToMp4Handler : public WebVttToMp4Handler { - public: - MOCK_METHOD3(OnWriteCue, - void(const std::string& id, - const std::string& settings, - const std::string& payload)); - - protected: - void WriteCue(const std::string& id, - const std::string& settings, - const std::string& payload, - BufferWriter* out) { - OnWriteCue(id, settings, payload); - // We need to write something out or else media sample will think it is the - // end of the stream. - out->AppendInt(0); - } -}; - class WebVttToMp4HandlerTest : public MediaHandlerTestBase { protected: - void SetUp() { - mp4_handler_ = std::make_shared(); - ASSERT_OK(SetUpAndInitializeGraph(mp4_handler_, kInputCount, kOutputCount)); + Status SetUpTestGraph() { + const size_t kOneInput = 1; + const size_t kOneOutput = 1; + + auto handler = std::make_shared(); + return SetUpAndInitializeGraph(handler, kOneInput, kOneOutput); } - std::shared_ptr mp4_handler_; + FakeInputMediaHandler* In() { + const size_t kInputIndex = 0; + return Input(kInputIndex); + } + + MockOutputMediaHandler* Out() { + const size_t kOutputIndex = 0; + return Output(kOutputIndex); + } + + Status DispatchStream() { + auto info = GetTextStreamInfo(); + return In()->Dispatch( + StreamData::FromStreamInfo(kStreamIndex, std::move(info))); + } + + Status DispatchText(int64_t start_time, int64_t end_time) { + const std::string kId = "id"; + const std::string kPayload = "payload"; + + auto sample = GetTextSample(kId, start_time, end_time, kPayload); + return In()->Dispatch( + StreamData::FromTextSample(kStreamIndex, std::move(sample))); + } + + Status DispatchSegment(int64_t start_time, int64_t end_time) { + DCHECK_GT(end_time, start_time); + + const bool kIsSubSegment = true; + int64_t duration = end_time - start_time; + + auto segment = GetSegmentInfo(start_time, duration, !kIsSubSegment); + return In()->Dispatch( + StreamData::FromSegmentInfo(kStreamIndex, std::move(segment))); + } + + Status Flush() { return In()->FlushAllDownstreams(); } }; // Verify that when the stream starts at a non-zero value, the gap at the // start will be filled. -// | [----A----] +// +// |[-- SEGMENT ------------]| +// | [--- SAMPLE ---]| +// |[- GAP -] | +// TEST_F(WebVttToMp4HandlerTest, NonZeroStartTime) { - const int64_t kGapStart = 0; - const int64_t kGapEnd = 100; + const int64_t kSegmentStart = 0; + const int64_t kSegmentEnd = 10000; + const int64_t kSegmentDuration = kSegmentEnd - kSegmentStart; + + const int64_t kGapStart = kSegmentStart; + const int64_t kGapEnd = kGapStart + 200; const int64_t kGapDuration = kGapEnd - kGapStart; - const char* kSampleId = kId[0]; - const char* kSamplePayload = kPayload[0]; const int64_t kSampleStart = kGapEnd; - const int64_t kSampleDuration = 500; - const int64_t kSampleEnd = kSampleStart + kSampleDuration; + const int64_t kSampleEnd = kSegmentEnd; + const int64_t kSampleDuration = kSampleEnd - kSampleStart; + + ASSERT_OK(SetUpTestGraph()); { testing::InSequence s; - // Empty Cue to fill gap - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kGapStart, kGapDuration, - !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); + // Gap + EXPECT_CALL(*Out(), OnProcess(IsMediaSample(kStreamIndex, kGapStart, + kGapDuration, !kEncrypted))); // Sample - EXPECT_CALL(*mp4_handler_, - OnWriteCue(kSampleId, kNoSettings, kSamplePayload)); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kSampleStart, - kSampleDuration, !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsMediaSample(kStreamIndex, kSampleStart, + kSampleDuration, !kEncrypted))); + // Segment + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegmentStart, + kSegmentDuration, !kSubSegment, + !kEncrypted))); - EXPECT_CALL(*Output(kOutputIndex), OnFlush(kStreamIndex)); + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - ASSERT_OK(Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, GetTextSample(kSampleId, kSampleStart, - kSampleEnd, kSamplePayload)))); - - ASSERT_OK(Input(kInputIndex)->FlushAllDownstreams()); + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSampleStart, kSampleEnd)); + ASSERT_OK(DispatchSegment(kSegmentStart, kSegmentEnd)); + ASSERT_OK(Flush()); } // Verify the cues are grouped correctly when the cues do not overlap at all. // An empty cue should be inserted between the two as there is a gap. // -// [----A---] [---B---] +// |[-- SEGMENT --------------------------]| +// |[-- SAMPLE --] [-- SAMPLE --]| +// | [-- GAP --] | +// TEST_F(WebVttToMp4HandlerTest, NoOverlap) { - const int64_t kDuration = 1000; + const int64_t kSegmentStart = 0; + const int64_t kSegmentEnd = 10000; + const int64_t kSegmentDuration = kSegmentEnd - kSegmentStart; - const char* kSample1Id = kId[0]; - const char* kSample1Payload = kPayload[0]; - const int64_t kSample1Start = 0; - const int64_t kSample1End = kSample1Start + kDuration; + const int64_t kSample1Start = kSegmentStart; + const int64_t kSample1End = kSample1Start + 1000; + const int64_t kSample1Duration = kSample1End - kSample1Start; - // Make sample 2 be just a little after sample 1. - const char* kSample2Id = kId[1]; - const char* kSample2Payload = kPayload[1]; - const int64_t kSample2Start = kSample1End + 100; - const int64_t kSample2End = kSample2Start + kDuration; + const int64_t kSample2Start = kSegmentEnd - 1000; + const int64_t kSample2End = kSegmentEnd; + const int64_t kSample2Duration = kSample2End - kSample2Start; const int64_t kGapStart = kSample1End; - const int64_t kGapDuration = kSample2Start - kSample1End; + const int64_t kGapEnd = kSample2Start; + const int64_t kGapDuration = kGapEnd - kGapStart; + + ASSERT_OK(SetUpTestGraph()); { testing::InSequence s; + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); + // Sample 1 - EXPECT_CALL(*mp4_handler_, - OnWriteCue(kSample1Id, kNoSettings, kSample1Payload)); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kSample1Start, kDuration, - !kEncrypted))); - - // Empty Cue to fill gap - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kGapStart, kGapDuration, - !kEncrypted))); - + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kSample1Start, + kSample1Duration, !kEncrypted))); + // Gap + EXPECT_CALL(*Out(), OnProcess(IsMediaSample(kStreamIndex, kGapStart, + kGapDuration, !kEncrypted))); // Sample 2 - EXPECT_CALL(*mp4_handler_, - OnWriteCue(kSample2Id, kNoSettings, kSample2Payload)); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kSample2Start, kDuration, - !kEncrypted))); + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kSample2Start, + kSample2Duration, !kEncrypted))); + // Segment + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegmentStart, + kSegmentDuration, !kSubSegment, + !kEncrypted))); - EXPECT_CALL(*Output(kOutputIndex), OnFlush(kStreamIndex)); + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - ASSERT_OK( - Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, GetTextSample(kSample1Id, kSample1Start, - kSample1End, kSample1Payload)))); - - ASSERT_OK( - Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, GetTextSample(kSample2Id, kSample2Start, - kSample2End, kSample2Payload)))); - - ASSERT_OK(Input(kInputIndex)->FlushAllDownstreams()); + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSample1Start, kSample1End)); + ASSERT_OK(DispatchText(kSample2Start, kSample2End)); + ASSERT_OK(DispatchSegment(kSegmentStart, kSegmentEnd)); + ASSERT_OK(Flush()); } // Verify the cues are grouped correctly when one cue overlaps another cue at // one end. // -// [-------A-------] -// [-------B------] +// |[-- SEGMENT -----------------]| +// |[-- SAMPLE --------] | +// | [------- SAMPLE --]| TEST_F(WebVttToMp4HandlerTest, Overlap) { - const int64_t kStart[] = {0, 500}; - const int64_t kEnd[] = {1000, 1500}; + const int64_t kSegmentStart = 0; + const int64_t kSegmentEnd = 10000; + const int64_t kSegmentDuration = kSegmentEnd - kSegmentStart; + + const int64_t kSample1Start = kSegmentStart; + const int64_t kSample1End = kSegmentEnd - 3000; + + const int64_t kSample2Start = kSegmentStart + 3000; + const int64_t kSample2End = kSegmentEnd; + + const int64_t kOnlySample1Start = kSample1Start; + const int64_t kOnlySample1End = kSample2Start; + const int64_t kOnlySample1Duration = kOnlySample1End - kOnlySample1Start; + + const int64_t kSample1AndSample2Start = kSample2Start; + const int64_t kSample1AndSample2End = kSample1End; + const int64_t kSample1AndSample2Duration = + kSample1AndSample2End - kSample1AndSample2Start; + + const int64_t kOnlySample2Start = kSample1End; + const int64_t kOnlySample2End = kSample2End; + const int64_t kOnlySample2Duration = kOnlySample2End - kOnlySample2Start; + + ASSERT_OK(SetUpTestGraph()); { testing::InSequence s; - // Sample A - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[kA], kNoSettings, kPayload[kA])); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart[kA], - kStart[kB] - kStart[kA], !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); - // Sample A and B - for (size_t i = kA; i <= kB; i++) { - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[i], kNoSettings, kPayload[i])); - } - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart[kB], - kEnd[kA] - kStart[kB], !kEncrypted))); + // Sample 1 + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kOnlySample1Start, + kOnlySample1Duration, !kEncrypted))); + // Sample 1 and Sample 2 + EXPECT_CALL(*Out(), OnProcess(IsMediaSample( + kStreamIndex, kSample1AndSample2Start, + kSample1AndSample2Duration, !kEncrypted))); + // Sample 2 + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kOnlySample2Start, + kOnlySample2Duration, !kEncrypted))); + // Segment + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegmentStart, + kSegmentDuration, !kSubSegment, + !kEncrypted))); - // Sample B - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[kB], kNoSettings, kPayload[kB])); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kEnd[kA], - kEnd[kB] - kEnd[kA], !kEncrypted))); - - EXPECT_CALL(*Output(kOutputIndex), OnFlush(kStreamIndex)); + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - for (size_t i = kA; i <= kB; i++) { - ASSERT_OK(Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, - GetTextSample(kId[i], kStart[i], kEnd[i], kPayload[i])))); - } - ASSERT_OK(Input(kInputIndex)->FlushAllDownstreams()); + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSample1Start, kSample1End)); + ASSERT_OK(DispatchText(kSample2Start, kSample2End)); + ASSERT_OK(DispatchSegment(kSegmentStart, kSegmentEnd)); + ASSERT_OK(Flush()); } // Verify the cues are grouped correctly when one cue starts before and ends // after another cue. // -// [-------------A-------------] -// [----------B----------] +// |[-- SEGMENT -----------------]| +// |[-- SAMPLE ------------------]| +// | [------- SAMPLE --] | +// TEST_F(WebVttToMp4HandlerTest, Contains) { - const int64_t kStart[] = {0, 100}; - const int64_t kEnd[] = {1000, 900}; + const int64_t kSegmentStart = 0; + const int64_t kSegmentEnd = 10000; + const int64_t kSegmentDuration = kSegmentEnd - kSegmentStart; + + const int64_t kSample1Start = kSegmentStart; + const int64_t kSample1End = kSegmentEnd; + + const int64_t kSample2Start = kSegmentStart + 1000; + const int64_t kSample2End = kSegmentEnd - 1000; + + const int64_t kBeforeSample2Start = kSample1Start; + const int64_t kBeforeSample2End = kSample2Start; + const int64_t kBeforeSample2Duration = + kBeforeSample2End - kBeforeSample2Start; + + const int64_t kDuringSample2Start = kSample2Start; + const int64_t kDuringSample2End = kSample2End; + const int64_t kDuringSample2Duration = + kDuringSample2End - kDuringSample2Start; + + const int64_t kAfterSample2Start = kSample2End; + const int64_t kAfterSample2End = kSample1End; + const int64_t kAfterSample2Duration = kAfterSample2End - kAfterSample2Start; + + ASSERT_OK(SetUpTestGraph()); { testing::InSequence s; - // Sample A - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[kA], kNoSettings, kPayload[kA])); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart[kA], - kStart[kB] - kStart[kA], !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); - // Sample A and B - for (size_t i = kA; i <= kB; i++) { - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[i], kNoSettings, kPayload[i])); - } - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart[kB], - kEnd[kB] - kStart[kB], !kEncrypted))); + // Sample 1 + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kBeforeSample2Start, + kBeforeSample2Duration, !kEncrypted))); + // Sample 1 and Sample 2 + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kDuringSample2Start, + kDuringSample2Duration, !kEncrypted))); + // Sample 1 Again + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kAfterSample2Start, + kAfterSample2Duration, !kEncrypted))); + // Segment + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegmentStart, + kSegmentDuration, !kSubSegment, + !kEncrypted))); - // Sample A - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[kA], kNoSettings, kPayload[kA])); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kEnd[kB], - kEnd[kA] - kEnd[kB], !kEncrypted))); - - EXPECT_CALL(*Output(kOutputIndex), OnFlush(kStreamIndex)); + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - for (size_t i = kA; i <= kB; i++) { - ASSERT_OK(Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, - GetTextSample(kId[i], kStart[i], kEnd[i], kPayload[i])))); - } - ASSERT_OK(Input(kInputIndex)->FlushAllDownstreams()); + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSample1Start, kSample1End)); + ASSERT_OK(DispatchText(kSample2Start, kSample2End)); + ASSERT_OK(DispatchSegment(kSegmentStart, kSegmentEnd)); + ASSERT_OK(Flush()); } // Verify that when two cues are completely on top of each other, that there // is no extra boxes sent out. // -// [----------A----------] -// [----------B----------] +// |[-- SEGMENT -----------------]| +// |[-- SAMPLE ------------------]| +// |[-- SAMPLE ------------------]| +// TEST_F(WebVttToMp4HandlerTest, ExactOverlap) { - const int64_t kStart = 0; - const int64_t kDuration = 1000; - const int64_t kEnd = kStart + kDuration; + const int64_t kSegmentStart = 0; + const int64_t kSegmentEnd = 10000; + const int64_t kSegmentDuration = kSegmentEnd - kSegmentStart; + + const int64_t kSampleStart = kSegmentStart; + const int64_t kSampleEnd = kSegmentEnd; + const int64_t kSampleDuration = kSampleEnd - kSampleStart; + + ASSERT_OK(SetUpTestGraph()); { testing::InSequence s; - // Sample A and B - for (size_t i = kA; i <= kB; i++) { - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[i], kNoSettings, kPayload[i])); - } - EXPECT_CALL( - *Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart, kDuration, !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); - EXPECT_CALL(*Output(kOutputIndex), OnFlush(kStreamIndex)); + // Both Samples + EXPECT_CALL(*Out(), OnProcess(IsMediaSample(kStreamIndex, kSampleStart, + kSampleDuration, !kEncrypted))); + // Segment + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegmentStart, + kSegmentDuration, !kSubSegment, + !kEncrypted))); + + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - for (size_t i = kA; i <= kB; i++) { - ASSERT_OK(Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, - GetTextSample(kId[i], kStart, kEnd, kPayload[i])))); - } - ASSERT_OK(Input(kInputIndex)->FlushAllDownstreams()); + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSampleStart, kSampleEnd)); + ASSERT_OK(DispatchText(kSampleStart, kSampleEnd)); + ASSERT_OK(DispatchSegment(kSegmentStart, kSegmentEnd)); + ASSERT_OK(Flush()); } // Verify that when two cues are completely on top of each other, that there // is no extra boxes sent out. // -// [----A----] -// [--------B--------] -// [------------C------------] +// |[-- SEGMENT -----------------]| +// |[-- SAMPLE ------------------]| +// |[-- SAMPLE ------------] | +// |[-- SAMPLE ------] | TEST_F(WebVttToMp4HandlerTest, OverlapStartWithStaggerEnd) { - const int64_t kStart = 0; - const int64_t kEnd[] = {1000, 2000, 3000}; + const int64_t kSegmentStart = 0; + const int64_t kSegmentEnd = 10000; + const int64_t kSegmentDuration = kSegmentEnd - kSegmentStart; + + const int64_t kSample1Start = kSegmentStart; + const int64_t kSample1End = kSegmentEnd; + + const int64_t kSample2Start = kSegmentStart; + const int64_t kSample2End = kSegmentEnd - 1000; + + const int64_t kSample3Start = kSegmentStart; + const int64_t kSample3End = kSegmentEnd - 2000; + + const int64_t kThreeSamplesStart = kSegmentStart; + const int64_t kThreeSamplesEnd = kSample3End; + const int64_t kThreeSamplesDuration = kThreeSamplesEnd - kThreeSamplesStart; + + const int64_t kTwoSamplesStart = kSample3End; + const int64_t kTwoSamplesEnd = kSample2End; + const int64_t kTwoSamplesDuration = kTwoSamplesEnd - kTwoSamplesStart; + + const int64_t kOneSampleStart = kSample2End; + const int64_t kOneSampleEnd = kSample1End; + const int64_t kOneSampleDuration = kOneSampleEnd - kOneSampleStart; + + ASSERT_OK(SetUpTestGraph()); { testing::InSequence s; - // Sample A, B, and C - for (size_t i = kA; i <= kC; i++) { - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[i], kNoSettings, kPayload[i])); - } - EXPECT_CALL( - *Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart, kEnd[kA], !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); - // Sample B and C - for (size_t i = kB; i <= kC; i++) { - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[i], kNoSettings, kPayload[i])); - } - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kEnd[kA], - kEnd[kB] - kEnd[kA], !kEncrypted))); + // Three Samples + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kThreeSamplesStart, + kThreeSamplesDuration, !kEncrypted))); + // Two Samples + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kTwoSamplesStart, + kTwoSamplesDuration, !kEncrypted))); + // One Sample + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kOneSampleStart, + kOneSampleDuration, !kEncrypted))); + // Segment + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegmentStart, + kSegmentDuration, !kSubSegment, + !kEncrypted))); - // Sample C - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[kC], kNoSettings, kPayload[kC])); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kEnd[kB], - kEnd[kC] - kEnd[kB], !kEncrypted))); - - EXPECT_CALL(*Output(kOutputIndex), OnFlush(kStreamIndex)); + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - for (size_t i = kA; i <= kC; i++) { - ASSERT_OK(Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, - GetTextSample(kId[i], kStart, kEnd[i], kPayload[i])))); - } - ASSERT_OK(Input(kInputIndex)->FlushAllDownstreams()); + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSample1Start, kSample1End)); + ASSERT_OK(DispatchText(kSample2Start, kSample2End)); + ASSERT_OK(DispatchText(kSample3Start, kSample3End)); + ASSERT_OK(DispatchSegment(kSegmentStart, kSegmentEnd)); + ASSERT_OK(Flush()); } // Verify that when two cues are completely on top of each other, that there // is no extra boxes sent out. // -// [------------A------------] -// [--------B--------] -// [----C----] +// |[-- SEGMENT -----------------]| +// |[-- SAMPLE ------------------]| +// | [-- SAMPLE ------------]| +// | [-- SAMPLE ------]| TEST_F(WebVttToMp4HandlerTest, StaggerStartWithOverlapEnd) { - const int64_t kStart[] = {0, 100, 200}; - const int64_t kEnd = 1000; + const int64_t kSegmentStart = 0; + const int64_t kSegmentEnd = 10000; + const int64_t kSegmentDuration = kSegmentEnd - kSegmentStart; + + const int64_t kSample1Start = kSegmentStart; + const int64_t kSample1End = kSegmentEnd; + + const int64_t kSample2Start = kSegmentStart + 1000; + const int64_t kSample2End = kSegmentEnd; + + const int64_t kSample3Start = kSegmentStart + 2000; + const int64_t kSample3End = kSegmentEnd; + + const int64_t kOneSampleStart = kSample1Start; + const int64_t kOneSampleEnd = kSample2Start; + const int64_t kOneSampleDuration = kOneSampleEnd - kOneSampleStart; + + const int64_t kTwoSamplesStart = kSample2Start; + const int64_t kTwoSamplesEnd = kSample3Start; + const int64_t kTwoSamplesDuration = kTwoSamplesEnd - kTwoSamplesStart; + + const int64_t kThreeSamplesStart = kSample3Start; + const int64_t kThreeSamplesEnd = kSample3End; + const int64_t kThreeSamplesDuration = kThreeSamplesEnd - kThreeSamplesStart; + + ASSERT_OK(SetUpTestGraph()); { testing::InSequence s; - // Sample A - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[kA], kNoSettings, kPayload[kA])); - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart[kA], - kStart[kB] - kStart[kA], !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); - // Sample A and B - for (size_t i = kA; i <= kB; i++) { - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[i], kNoSettings, kPayload[i])); - } - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart[kB], - kStart[kC] - kStart[kB], !kEncrypted))); + // One Sample + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kOneSampleStart, + kOneSampleDuration, !kEncrypted))); + // Two Samples + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kTwoSamplesStart, + kTwoSamplesDuration, !kEncrypted))); + // Three Samples + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kThreeSamplesStart, + kThreeSamplesDuration, !kEncrypted))); + // Segment + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegmentStart, + kSegmentDuration, !kSubSegment, + !kEncrypted))); - // Sample A, B, and C - for (size_t i = kA; i <= kC; i++) { - EXPECT_CALL(*mp4_handler_, OnWriteCue(kId[i], kNoSettings, kPayload[i])); - } - EXPECT_CALL(*Output(kOutputIndex), - OnProcess(IsMediaSample(kStreamIndex, kStart[kC], - kEnd - kStart[kC], !kEncrypted))); - - EXPECT_CALL(*Output(kOutputIndex), OnFlush(kStreamIndex)); + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - for (size_t i = kA; i <= kC; i++) { - ASSERT_OK(Input(kInputIndex) - ->Dispatch(StreamData::FromTextSample( - kStreamIndex, - GetTextSample(kId[i], kStart[i], kEnd, kPayload[i])))); + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSample1Start, kSample1End)); + ASSERT_OK(DispatchText(kSample2Start, kSample2End)); + ASSERT_OK(DispatchText(kSample3Start, kSample3End)); + ASSERT_OK(DispatchSegment(kSegmentStart, kSegmentEnd)); + ASSERT_OK(Flush()); +} + +// The text chunking handler will repeat text samples that cross over a segment +// boundary. We need to know that this handler will be okay with those repeated +// samples. +// +// |[------ SEGMENT ------]|[------ SEGMENT ------]| +// | [--- SAMPLE ---|--------] | +// |- GAP -] | [- GAP ------]| +TEST_F(WebVttToMp4HandlerTest, CrossSegmentSamples) { + const int64_t kSegmentDuration = 10000; + const int64_t kGapDuration = 1000; + + const int64_t kSegment1Start = 0; + const int64_t kSegment1End = 10000; + + const int64_t kSegment2Start = 10000; + const int64_t kSegment2End = 20000; + + const int64_t kGap1Start = 0; + const int64_t kGap2Start = 19000; + + const int64_t kSampleStart = 1000; + const int64_t kSampleEnd = 19000; + + const int64_t kSamplePart1Start = 1000; + const int64_t kSamplePart1Duration = 9000; + + const int64_t kSamplePart2Start = 10000; + const int64_t kSamplePart2Duration = 9000; + + ASSERT_OK(SetUpTestGraph()); + + { + testing::InSequence s; + + EXPECT_CALL(*Out(), OnProcess(IsStreamInfo(kStreamIndex))); + + // Gap, Sample, Segment + EXPECT_CALL(*Out(), OnProcess(IsMediaSample(kStreamIndex, kGap1Start, + kGapDuration, !kEncrypted))); + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kSamplePart1Start, + kSamplePart1Duration, !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegment1Start, + kSegmentDuration, !kSubSegment, + !kEncrypted))); + + // Sample, Gap, Segment + EXPECT_CALL(*Out(), + OnProcess(IsMediaSample(kStreamIndex, kSamplePart2Start, + kSamplePart2Duration, !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsMediaSample(kStreamIndex, kGap2Start, + kGapDuration, !kEncrypted))); + EXPECT_CALL(*Out(), OnProcess(IsSegmentInfo(kStreamIndex, kSegment2Start, + kSegmentDuration, !kSubSegment, + !kEncrypted))); + + EXPECT_CALL(*Out(), OnFlush(kStreamIndex)); } - ASSERT_OK(Input(kInputIndex)->FlushAllDownstreams()); + + ASSERT_OK(DispatchStream()); + ASSERT_OK(DispatchText(kSampleStart, kSampleEnd)); + ASSERT_OK(DispatchSegment(kSegment1Start, kSegment1End)); + ASSERT_OK(DispatchText(kSampleStart, kSampleEnd)); + ASSERT_OK(DispatchSegment(kSegment2Start, kSegment2End)); + ASSERT_OK(Flush()); } } // namespace media } // namespace shaka diff --git a/packager/packager.cc b/packager/packager.cc index 27d751b825..6c24cb7ff6 100644 --- a/packager/packager.cc +++ b/packager/packager.cc @@ -475,6 +475,16 @@ Status CreateMp4ToMp4TextJob(const StreamDescriptor& stream, return Status::OK; } +std::unique_ptr CreateTextChunker( + const ChunkingParams& chunking_params) { + const float segment_length_in_seconds = + chunking_params.segment_duration_in_seconds; + const uint64_t segment_length_in_ms = + static_cast(segment_length_in_seconds * 1000); + + return std::unique_ptr(new TextChunker(segment_length_in_ms)); +} + Status CreateHlsTextJob(const StreamDescriptor& stream, const PackagingParams& packaging_params, std::unique_ptr muxer_listener, @@ -489,11 +499,6 @@ Status CreateHlsTextJob(const StreamDescriptor& stream, ") to HLS with no segment template"); } - const float segment_length_in_seconds = - packaging_params.chunking_params.segment_duration_in_seconds; - const uint64_t segment_length_in_ms = - static_cast(segment_length_in_seconds * 1000); - // Text files are usually small and since the input is one file; // there's no way for the player to do ranged requests. So set this // value to something reasonable if it is missing. @@ -513,15 +518,13 @@ Status CreateHlsTextJob(const StreamDescriptor& stream, auto cue_aligner = sync_points ? std::make_shared(sync_points) : nullptr; - auto chunker = std::make_shared(segment_length_in_ms); + auto chunker = CreateTextChunker(packaging_params.chunking_params); - RETURN_IF_ERROR( - ChainHandlers({parser, std::move(padder), std::move(cue_aligner), - std::move(chunker), std::move(output)})); + job_manager->Add("Segmented Text Job", parser); - job_manager->Add("Segmented Text Job", std::move(parser)); - - return Status::OK; + return ChainHandlers({std::move(parser), std::move(padder), + std::move(cue_aligner), std::move(chunker), + std::move(output)}); } Status CreateWebVttToMp4TextJob(const StreamDescriptor& stream, @@ -530,8 +533,6 @@ Status CreateWebVttToMp4TextJob(const StreamDescriptor& stream, SyncPointQueue* sync_points, MuxerFactory* muxer_factory, std::shared_ptr* root) { - // TODO(kqyang): Support Cue Alignment if |sync_points| is not null. - std::unique_ptr reader; RETURN_IF_ERROR(FileReader::Open(stream.input, &reader)); @@ -539,18 +540,25 @@ Status CreateWebVttToMp4TextJob(const StreamDescriptor& stream, auto parser = std::make_shared(std::move(reader), stream.language); auto padder = std::make_shared(kNoDuration); + auto text_to_mp4 = std::make_shared(); - auto chunker = - std::make_shared(packaging_params.chunking_params); auto muxer = muxer_factory->CreateMuxer(GetOutputFormat(stream), stream); muxer->SetMuxerListener(std::move(muxer_listener)); - RETURN_IF_ERROR( - ChainHandlers({parser, std::move(padder), std::move(text_to_mp4), - std::move(chunker), std::move(muxer)})); - *root = std::move(parser); + // Optional Cue Alignment Handler + std::shared_ptr cue_aligner; + if (sync_points) { + cue_aligner = std::make_shared(sync_points); + } - return Status::OK; + std::shared_ptr chunker = + CreateTextChunker(packaging_params.chunking_params); + + *root = parser; + + return ChainHandlers({std::move(parser), std::move(padder), + std::move(cue_aligner), std::move(chunker), + std::move(text_to_mp4), std::move(muxer)}); } Status CreateTextJobs(