shaka-packager/packager/app/test/testdata
KongQun Yang 40ea1286b9 Add support for EditLists in ISO-BMFF
- EditLists in input files are parsed and applied to sample timestamps.
- An EditList will be inserted in the ISO-BMFF output if
  - There is an offset between the initial presentation timestamp (pts)
    and decoding timestamp (dts). Chrome, as of M67, still uses dts in
    buffered range API [1], which creates various problems when buffered
    range by pts does not align with buffered range by dts. There is
    another bug in Chrome that applies EditList to pts only [2]. This
    means that we can insert an EditList to align pts range and dts range.
  - MediaSamples have negative timestamps (e.g. for Audio Priming).

You may notice the below change on some contents:
- Some media duration is reduced by one or two frames. This is because
  EditList in the input file was ignored in the previous code, so video
  streams start with a zero dts and a non-zero pts; the smaller of dts
  and pts was used as the starting timestamp (related to the earlier
  workaround for Chrome's dts bug), so the calculated duration was
  actually a bit larger than the actual duration. Now with EditList
  applied, the initial pts is reduced to zero, so the media duration is
  also reduced to reflect the actual and correct media duration.

It may also result in negative timestamps in TS/HLS Packed Audio, which
will be addressed in a follow up CL.

Fixes #112.
Partially address b/110782437.

[1] https://crbug.com/718641, fixed but behind MseBufferByPts.
[2] https://crbug.com/354518. Chrome is planning to enable the fix for
    [1] before addressing this bug, so we are safe.

Change-Id: I59317740ad3807ca66fa74b3a18fdf7f32c96aeb
2018-07-26 23:20:21 +00:00
..
acc-he Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
audio-video Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
audio-video-with-language-override Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
audio-video-with-language-override-with-subtag Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
audio-video-with-trick-play Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
audio-video-with-two-trick-play Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
avc-aac-ts Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-aac-ts-language Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ac3-ts Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ac3-ts-to-mp4 Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
avc-ac3-ts-with-encryption Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-aac-packed-audio-with-encryption Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-ac3-packed-audio-with-encryption Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-dash-dynamic-with-segment-deletion Enable segment auto removal for live packaging 2018-05-02 00:18:42 +00:00
avc-ts-event-playlist Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-live-playlist Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-live-playlist-dash-dynamic-with-segment-deletion Add a test outputing DASH and HLS at the same time 2018-05-14 23:55:30 +00:00
avc-ts-live-playlist-with-key-rotation Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-live-playlist-with-segment-deletion Enable segment auto removal for live packaging 2018-05-02 00:18:42 +00:00
avc-ts-with-encryption Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-with-encryption-and-fairplay Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
avc-ts-with-encryption-exercise-emulation-prevention Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
bandwidth-override Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
dash-with-bandwidth-override Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
ec3-and-hls-single-segment-mp4-encrypted Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
ec3-packed-audio-encrypted Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-ad-cues Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-ad-cues-split-content Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-no-clear-lead Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-no-pssh-in-stream Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-non-dash-if-iop Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-output-media-info Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-output-media-info-and-mpd-from-media-info Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-trick-play Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-and-two-trick-plays Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-cbc-1 Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-cbcs Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-cens Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-multi-keys Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-multi-keys-with-stream-label Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-of-only-video-stream Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
encryption-using-fixed-key Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
first-stream Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
flac-with-encryption Cleanup packager_test.py 2018-07-16 19:13:02 +00:00
hevc-with-encryption Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
hls-audio-video-text-with-ad-cues Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
hls-multi-segment-mp4-with-custom-path Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
hls-segmented-webvtt Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
hls-single-segment-mp4-encrypted Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
hls-single-segment-mp4-encrypted-and-ad-cues Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
hls-with-bandwidth-override Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile-and-encryption Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile-and-encryption-and-mult-files Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile-and-encryption-and-non-dash-if-iop Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile-and-key-rotation Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile-and-key-rotation-and-no-pssh-in-stream Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile-and-key-rotation-and-non-dash-if-iop Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-profile-with-webm Do not use harmonic mean in bandwidth calculation 2018-07-12 10:46:47 -07:00
live-static-profile Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
live-static-profile-and-ad-cues Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
opus-vp9-mp4-with-encryption Cleanup packager_test.py 2018-07-16 19:13:02 +00:00
text Remove Test File Index in packager_test.py 2018-03-06 21:38:04 +00:00
video-audio-text Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
vorbis-webm Fix bitrate for DASH on-demand profile too 2018-04-24 23:25:02 +00:00
vp8-mp4-with-encryption Cleanup packager_test.py 2018-07-16 19:13:02 +00:00
vp8-webm Fix bitrate for DASH on-demand profile too 2018-04-24 23:25:02 +00:00
vp9-webm Use new vp09 codec string for WebM by default 2018-06-12 23:31:28 +00:00
vp9-webm-with-blockgroup Use new vp09 codec string for WebM by default 2018-06-12 23:31:28 +00:00
vtt-text-to-mp4-with-ad-cues Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
webm-subsample-encryption Cleanup packager_test.py 2018-07-16 19:13:02 +00:00
webm-vp9-full-sample-encryption Cleanup packager_test.py 2018-07-16 19:13:02 +00:00
webm-with-encryption Cleanup packager_test.py 2018-07-16 19:13:02 +00:00
wvm-input Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
wvm-input-without-stripping-parameters-set-nalus Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
bear-640x360-av-cenc-golden.mpd Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00
bear-640x360-v-trick-2-golden.mp4 Add support for EditLists in ISO-BMFF 2018-07-26 23:20:21 +00:00