Create CheckLiveTestResults
Created a method to compare test output for live tests. This wraps CheckTestResults but first replaces the times that would diff between manifests. Change-Id: Iafb51a28a9bcb9f32b210c6d76bf23e2b9a3e0d6
This commit is contained in:
parent
033fa65105
commit
7dd88ca5b2
|
@ -8,6 +8,7 @@
|
||||||
"""Tests utilizing the sample packager binary."""
|
"""Tests utilizing the sample packager binary."""
|
||||||
|
|
||||||
import filecmp
|
import filecmp
|
||||||
|
import glob
|
||||||
import os
|
import os
|
||||||
import platform
|
import platform
|
||||||
import re
|
import re
|
||||||
|
@ -42,6 +43,38 @@ class StreamDescriptor(object):
|
||||||
return self.buffer
|
return self.buffer
|
||||||
|
|
||||||
|
|
||||||
|
def _UpdateMpdTimes(mpd_filepath):
|
||||||
|
# Take a single pattern, and replace the first match with the
|
||||||
|
# given new string.
|
||||||
|
def _Replace(str_in, pattern, new):
|
||||||
|
m = re.search(pattern, str_in)
|
||||||
|
|
||||||
|
if m:
|
||||||
|
old = m.group(0)
|
||||||
|
out = str_in.replace(old, new)
|
||||||
|
print 'Replacing "%s" with "%s"' % (old, new)
|
||||||
|
else:
|
||||||
|
out = str_in
|
||||||
|
|
||||||
|
return out
|
||||||
|
|
||||||
|
with open(mpd_filepath, 'rb') as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
content = _Replace(
|
||||||
|
content,
|
||||||
|
'availabilityStartTime="[^"]+"',
|
||||||
|
'availabilityStartTime="some_time"')
|
||||||
|
|
||||||
|
content = _Replace(
|
||||||
|
content,
|
||||||
|
'publishTime="[^"]+"',
|
||||||
|
'publishTime="some_time"')
|
||||||
|
|
||||||
|
with open(mpd_filepath, 'wb') as f:
|
||||||
|
f.write(content)
|
||||||
|
|
||||||
|
|
||||||
def GetExtension(stream_descriptor, output_format):
|
def GetExtension(stream_descriptor, output_format):
|
||||||
# TODO(rkuroiwa): Support ttml.
|
# TODO(rkuroiwa): Support ttml.
|
||||||
if stream_descriptor == 'text':
|
if stream_descriptor == 'text':
|
||||||
|
@ -358,6 +391,7 @@ class PackagerAppTest(unittest.TestCase):
|
||||||
f.write(content.replace(test_output, 'place_holder'))
|
f.write(content.replace(test_output, 'place_holder'))
|
||||||
self._DiffGold(media_info_output, golden_file_name + '.media_info')
|
self._DiffGold(media_info_output, golden_file_name + '.media_info')
|
||||||
|
|
||||||
|
# TODO(vaage): Replace all used of this with |_CheckTestResults|.
|
||||||
def _DiffLiveGold(self,
|
def _DiffLiveGold(self,
|
||||||
test_output_prefix,
|
test_output_prefix,
|
||||||
golden_file_name_prefix,
|
golden_file_name_prefix,
|
||||||
|
@ -374,33 +408,15 @@ class PackagerAppTest(unittest.TestCase):
|
||||||
self._DiffGold('%s-%d.m4s' % (test_output_prefix, i),
|
self._DiffGold('%s-%d.m4s' % (test_output_prefix, i),
|
||||||
'%s-%d.m4s' % (golden_file_name_prefix, i))
|
'%s-%d.m4s' % (golden_file_name_prefix, i))
|
||||||
|
|
||||||
# Live mpd contains current availabilityStartTime and publishTime, which
|
|
||||||
# needs to be replaced for comparison.
|
|
||||||
def _DiffLiveMpdGold(self, test_output, golden_file_name):
|
|
||||||
with open(test_output, 'rb') as f:
|
|
||||||
content = f.read()
|
|
||||||
|
|
||||||
# Extract availabilityStartTime.
|
|
||||||
m = re.search('availabilityStartTime="[^"]+"', content)
|
|
||||||
self.assertIsNotNone(m)
|
|
||||||
availability_start_time = m.group(0)
|
|
||||||
print availability_start_time
|
|
||||||
|
|
||||||
# Extract publishTime.
|
|
||||||
m = re.search('publishTime="[^"]+"', content)
|
|
||||||
self.assertIsNotNone(m)
|
|
||||||
publish_time = m.group(0)
|
|
||||||
print publish_time
|
|
||||||
with open(test_output, 'wb') as f:
|
|
||||||
f.write(content.replace(
|
|
||||||
availability_start_time,
|
|
||||||
'availabilityStartTime="some_availability_start_time"').replace(
|
|
||||||
publish_time, 'publishTime="some_publish_time"'))
|
|
||||||
|
|
||||||
self._DiffGold(test_output, golden_file_name)
|
|
||||||
|
|
||||||
# |test_dir| is expected to be relative to |self.golden_file_dir|.
|
# |test_dir| is expected to be relative to |self.golden_file_dir|.
|
||||||
def _CheckTestResults(self, test_dir):
|
def _CheckTestResults(self, test_dir):
|
||||||
|
# Live mpd contains current availabilityStartTime and publishTime, which
|
||||||
|
# needs to be replaced before comparison. If this is not a live test, then
|
||||||
|
# this will be a no-op.
|
||||||
|
mpds = glob.glob(os.path.join(self.tmp_dir, '*.mpd'))
|
||||||
|
for manifest in mpds:
|
||||||
|
_UpdateMpdTimes(manifest)
|
||||||
|
|
||||||
if test_env.options.test_update_golden_files:
|
if test_env.options.test_update_golden_files:
|
||||||
self._UpdateGold(test_dir)
|
self._UpdateGold(test_dir)
|
||||||
else:
|
else:
|
||||||
|
@ -913,20 +929,7 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
hls=True,
|
hls=True,
|
||||||
test_files=['bear-640x360.ts']),
|
test_files=['bear-640x360.ts']),
|
||||||
self._GetFlags(encryption=True, output_hls=True))
|
self._GetFlags(encryption=True, output_hls=True))
|
||||||
self._DiffLiveGold(self.output[0],
|
self._CheckTestResults('avc-ts-with-encryption')
|
||||||
'bear-640x360-a-enc-golden',
|
|
||||||
output_format='ts')
|
|
||||||
self._DiffLiveGold(self.output[1],
|
|
||||||
'bear-640x360-v-enc-golden',
|
|
||||||
output_format='ts')
|
|
||||||
self._DiffGold(self.hls_master_playlist_output,
|
|
||||||
'bear-640x360-av-master-golden.m3u8')
|
|
||||||
self._DiffGold(
|
|
||||||
os.path.join(self.tmp_dir, 'audio.m3u8'),
|
|
||||||
'bear-640x360-a-enc-golden.m3u8')
|
|
||||||
self._DiffGold(
|
|
||||||
os.path.join(self.tmp_dir, 'video.m3u8'),
|
|
||||||
'bear-640x360-v-enc-golden.m3u8')
|
|
||||||
|
|
||||||
def testPackageAvcTsWithEncryptionAndFairplay(self):
|
def testPackageAvcTsWithEncryptionAndFairplay(self):
|
||||||
# Currently we only support live packaging for ts.
|
# Currently we only support live packaging for ts.
|
||||||
|
@ -938,20 +941,7 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
hls=True,
|
hls=True,
|
||||||
test_files=['bear-640x360.ts']),
|
test_files=['bear-640x360.ts']),
|
||||||
self._GetFlags(encryption=True, output_hls=True, fairplay=True))
|
self._GetFlags(encryption=True, output_hls=True, fairplay=True))
|
||||||
self._DiffLiveGold(self.output[0],
|
self._CheckTestResults('avc-ts-with-encryption-and-fairplay')
|
||||||
'bear-640x360-a-enc-golden',
|
|
||||||
output_format='ts')
|
|
||||||
self._DiffLiveGold(self.output[1],
|
|
||||||
'bear-640x360-v-enc-golden',
|
|
||||||
output_format='ts')
|
|
||||||
self._DiffGold(self.hls_master_playlist_output,
|
|
||||||
'bear-640x360-av-master-golden.m3u8')
|
|
||||||
self._DiffGold(
|
|
||||||
os.path.join(self.tmp_dir, 'audio.m3u8'),
|
|
||||||
'bear-640x360-a-fairplay-enc-golden.m3u8')
|
|
||||||
self._DiffGold(
|
|
||||||
os.path.join(self.tmp_dir, 'video.m3u8'),
|
|
||||||
'bear-640x360-v-fairplay-enc-golden.m3u8')
|
|
||||||
|
|
||||||
def testPackageAvcAc3TsWithEncryption(self):
|
def testPackageAvcAc3TsWithEncryption(self):
|
||||||
# Currently we only support live packaging for ts.
|
# Currently we only support live packaging for ts.
|
||||||
|
@ -963,20 +953,7 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
hls=True,
|
hls=True,
|
||||||
test_files=['bear-640x360-ac3.ts']),
|
test_files=['bear-640x360-ac3.ts']),
|
||||||
self._GetFlags(encryption=True, output_hls=True))
|
self._GetFlags(encryption=True, output_hls=True))
|
||||||
self._DiffLiveGold(self.output[0],
|
self._CheckTestResults('avc-ac3-ts-with-encryption')
|
||||||
'bear-640x360-ac3-enc-golden',
|
|
||||||
output_format='ts')
|
|
||||||
self._DiffLiveGold(self.output[1],
|
|
||||||
'bear-640x360-v-enc-golden',
|
|
||||||
output_format='ts')
|
|
||||||
self._DiffGold(self.hls_master_playlist_output,
|
|
||||||
'bear-640x360-av-ac3-master-golden.m3u8')
|
|
||||||
self._DiffGold(
|
|
||||||
os.path.join(self.tmp_dir, 'audio.m3u8'),
|
|
||||||
'bear-640x360-ac3-enc-golden.m3u8')
|
|
||||||
self._DiffGold(
|
|
||||||
os.path.join(self.tmp_dir, 'video.m3u8'),
|
|
||||||
'bear-640x360-v-enc-golden.m3u8')
|
|
||||||
|
|
||||||
def testPackageAvcTsWithEncryptionExerciseEmulationPrevention(self):
|
def testPackageAvcTsWithEncryptionExerciseEmulationPrevention(self):
|
||||||
self.encryption_key = 'ad7e9786def9159db6724be06dfcde7a'
|
self.encryption_key = 'ad7e9786def9159db6724be06dfcde7a'
|
||||||
|
@ -991,14 +968,8 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
self._GetFlags(
|
self._GetFlags(
|
||||||
encryption=True,
|
encryption=True,
|
||||||
output_hls=True))
|
output_hls=True))
|
||||||
self._DiffLiveGold(self.output[0],
|
self._CheckTestResults(
|
||||||
'sintel-1024x436-v-enc-golden',
|
'avc-ts-with-encryption-exercise-emulation-prevention')
|
||||||
output_format='ts')
|
|
||||||
self._DiffGold(self.hls_master_playlist_output,
|
|
||||||
'sintel-1024x436-v-enc-master-golden.m3u8')
|
|
||||||
self._DiffGold(
|
|
||||||
os.path.join(self.tmp_dir, 'video.m3u8'),
|
|
||||||
'sintel-1024x436-v-enc-golden.m3u8')
|
|
||||||
|
|
||||||
def testPackageWebmWithEncryption(self):
|
def testPackageWebmWithEncryption(self):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
|
@ -1158,9 +1129,7 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
def testPackageLiveProfile(self):
|
def testPackageLiveProfile(self):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
self._GetStreams(['audio', 'video'], segmented=True), self._GetFlags())
|
self._GetStreams(['audio', 'video'], segmented=True), self._GetFlags())
|
||||||
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-golden')
|
self._CheckTestResults('live-profile')
|
||||||
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-golden')
|
|
||||||
self._DiffLiveMpdGold(self.mpd_output, 'bear-640x360-av-live-golden.mpd')
|
|
||||||
|
|
||||||
def testPackageLiveStaticProfile(self):
|
def testPackageLiveStaticProfile(self):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
|
@ -1178,19 +1147,14 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
self._GetStreams(['audio', 'video'], segmented=True),
|
self._GetStreams(['audio', 'video'], segmented=True),
|
||||||
self._GetFlags(encryption=True))
|
self._GetFlags(encryption=True))
|
||||||
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-cenc-golden')
|
self._CheckTestResults('live-profile-and-encryption')
|
||||||
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-cenc-golden')
|
|
||||||
self._DiffLiveMpdGold(self.mpd_output,
|
|
||||||
'bear-640x360-av-live-cenc-golden.mpd')
|
|
||||||
|
|
||||||
def testPackageLiveProfileAndEncryptionAndNonDashIfIop(self):
|
def testPackageLiveProfileAndEncryptionAndNonDashIfIop(self):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
self._GetStreams(['audio', 'video'], segmented=True),
|
self._GetStreams(['audio', 'video'], segmented=True),
|
||||||
self._GetFlags(encryption=True, dash_if_iop=False))
|
self._GetFlags(encryption=True, dash_if_iop=False))
|
||||||
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-cenc-golden')
|
self._CheckTestResults(
|
||||||
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-cenc-golden')
|
'live-profile-and-encryption-and-non-dash-if-iop')
|
||||||
self._DiffLiveMpdGold(self.mpd_output,
|
|
||||||
'bear-640x360-av-live-cenc-non-iop-golden.mpd')
|
|
||||||
|
|
||||||
def testPackageLiveProfileAndEncryptionAndMultFiles(self):
|
def testPackageLiveProfileAndEncryptionAndMultFiles(self):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
|
@ -1210,25 +1174,15 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
self._GetStreams(['audio', 'video'], segmented=True),
|
self._GetStreams(['audio', 'video'], segmented=True),
|
||||||
self._GetFlags(encryption=True, key_rotation=True))
|
self._GetFlags(encryption=True, key_rotation=True))
|
||||||
self._DiffLiveGold(self.output[0],
|
self._CheckTestResults('live-profile-and-key-rotation')
|
||||||
'bear-640x360-a-live-cenc-rotation-golden')
|
|
||||||
self._DiffLiveGold(self.output[1],
|
|
||||||
'bear-640x360-v-live-cenc-rotation-golden')
|
|
||||||
self._DiffLiveMpdGold(self.mpd_output,
|
|
||||||
'bear-640x360-av-live-cenc-rotation-golden.mpd')
|
|
||||||
|
|
||||||
def testPackageLiveProfileAndKeyRotationAndNoPsshInStream(self):
|
def testPackageLiveProfileAndKeyRotationAndNoPsshInStream(self):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
self._GetStreams(['audio', 'video'], segmented=True),
|
self._GetStreams(['audio', 'video'], segmented=True),
|
||||||
self._GetFlags(
|
self._GetFlags(
|
||||||
encryption=True, key_rotation=True, include_pssh_in_stream=False))
|
encryption=True, key_rotation=True, include_pssh_in_stream=False))
|
||||||
self._DiffLiveGold(self.output[0],
|
self._CheckTestResults(
|
||||||
'bear-640x360-a-live-cenc-rotation-no-pssh-golden')
|
'live-profile-and-key-rotation-and-no-pssh-in-stream')
|
||||||
self._DiffLiveGold(self.output[1],
|
|
||||||
'bear-640x360-v-live-cenc-rotation-no-pssh-golden')
|
|
||||||
self._DiffLiveMpdGold(
|
|
||||||
self.mpd_output,
|
|
||||||
'bear-640x360-av-live-cenc-rotation-no-pssh-golden.mpd')
|
|
||||||
|
|
||||||
def testPackageLiveProfileAndKeyRotationAndNonDashIfIop(self):
|
def testPackageLiveProfileAndKeyRotationAndNonDashIfIop(self):
|
||||||
self.assertPackageSuccess(
|
self.assertPackageSuccess(
|
||||||
|
@ -1236,13 +1190,8 @@ class PackagerFunctionalTest(PackagerAppTest):
|
||||||
self._GetFlags(encryption=True,
|
self._GetFlags(encryption=True,
|
||||||
key_rotation=True,
|
key_rotation=True,
|
||||||
dash_if_iop=False))
|
dash_if_iop=False))
|
||||||
self._DiffLiveGold(self.output[0],
|
self._CheckTestResults(
|
||||||
'bear-640x360-a-live-cenc-rotation-golden')
|
'live-profile-and-key-rotation-and-non-dash-if-iop')
|
||||||
self._DiffLiveGold(self.output[1],
|
|
||||||
'bear-640x360-v-live-cenc-rotation-golden')
|
|
||||||
self._DiffLiveMpdGold(
|
|
||||||
self.mpd_output,
|
|
||||||
'bear-640x360-av-live-cenc-rotation-non-iop-golden.mpd')
|
|
||||||
|
|
||||||
@unittest.skipUnless(test_env.has_aes_flags, 'Requires AES credentials.')
|
@unittest.skipUnless(test_env.has_aes_flags, 'Requires AES credentials.')
|
||||||
def testWidevineEncryptionWithAes(self):
|
def testWidevineEncryptionWithAes(self):
|
||||||
|
|
BIN
packager/app/test/testdata/avc-ts-with-encryption-and-fairplay/output_video-1.ts
vendored
Normal file
BIN
packager/app/test/testdata/avc-ts-with-encryption-and-fairplay/output_video-1.ts
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/avc-ts-with-encryption-and-fairplay/output_video-2.ts
vendored
Normal file
BIN
packager/app/test/testdata/avc-ts-with-encryption-and-fairplay/output_video-2.ts
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/avc-ts-with-encryption-and-fairplay/output_video-3.ts
vendored
Normal file
BIN
packager/app/test/testdata/avc-ts-with-encryption-and-fairplay/output_video-3.ts
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/avc-ts-with-encryption-exercise-emulation-prevention/output_video-4.ts
vendored
Normal file
BIN
packager/app/test/testdata/avc-ts-with-encryption-exercise-emulation-prevention/output_video-4.ts
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/avc-ts-with-encryption-exercise-emulation-prevention/output_video-5.ts
vendored
Normal file
BIN
packager/app/test/testdata/avc-ts-with-encryption-exercise-emulation-prevention/output_video-5.ts
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/avc-ts-with-encryption-exercise-emulation-prevention/output_video-6.ts
vendored
Normal file
BIN
packager/app/test/testdata/avc-ts-with-encryption-exercise-emulation-prevention/output_video-6.ts
vendored
Normal file
Binary file not shown.
|
@ -0,0 +1,7 @@
|
||||||
|
#EXTM3U
|
||||||
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
|
|
||||||
|
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
||||||
|
|
||||||
|
#EXT-X-STREAM-INF:BANDWIDTH=1217518,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
|
||||||
|
video.m3u8
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,14 @@
|
||||||
|
#EXTM3U
|
||||||
|
#EXT-X-VERSION:6
|
||||||
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
|
#EXT-X-TARGETDURATION:2
|
||||||
|
#EXT-X-PLAYLIST-TYPE:VOD
|
||||||
|
#EXTINF:1.001,
|
||||||
|
output_video-1.ts
|
||||||
|
#EXT-X-DISCONTINUITY
|
||||||
|
#EXT-X-KEY:METHOD=SAMPLE-AES,URI="data:text/plain;base64,MTIzNDU2Nzg5MDEyMzQ1Ng==",IV=0x3334353637383930,KEYFORMAT="identity"
|
||||||
|
#EXTINF:1.001,
|
||||||
|
output_video-2.ts
|
||||||
|
#EXTINF:0.734,
|
||||||
|
output_video-3.ts
|
||||||
|
#EXT-X-ENDLIST
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
||||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_publish_time" availabilityStartTime="some_availability_start_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_time" availabilityStartTime="some_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||||
<Period id="0" start="PT0S">
|
<Period id="0" start="PT0S">
|
||||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||||
<Representation id="0" bandwidth="875692" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
|
<Representation id="0" bandwidth="875692" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
|
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_audio-2.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_audio-2.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_audio-3.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_audio-3.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_audio-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_audio-init.mp4
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_video-2.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_video-2.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_video-3.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_video-3.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_video-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption-and-non-dash-if-iop/output_video-init.mp4
vendored
Normal file
Binary file not shown.
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
||||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_publish_time" availabilityStartTime="some_availability_start_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_time" availabilityStartTime="some_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||||
<Period id="0" start="PT0S">
|
<Period id="0" start="PT0S">
|
||||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-encryption/output_audio-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption/output_audio-init.mp4
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-encryption/output_video-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-encryption/output_video-init.mp4
vendored
Normal file
Binary file not shown.
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
||||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_publish_time" availabilityStartTime="some_availability_start_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_time" availabilityStartTime="some_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||||
<Period id="0" start="PT0S">
|
<Period id="0" start="PT0S">
|
||||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011"/>
|
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011"/>
|
BIN
packager/app/test/testdata/live-profile-and-key-rotation-and-no-pssh-in-stream/output_audio-1.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation-and-no-pssh-in-stream/output_audio-1.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation-and-no-pssh-in-stream/output_video-1.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation-and-no-pssh-in-stream/output_video-1.m4s
vendored
Normal file
Binary file not shown.
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
||||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_publish_time" availabilityStartTime="some_availability_start_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_time" availabilityStartTime="some_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||||
<Period id="0" start="PT0S">
|
<Period id="0" start="PT0S">
|
||||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||||
<Representation id="0" bandwidth="876578" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
|
<Representation id="0" bandwidth="876578" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
||||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_publish_time" availabilityStartTime="some_availability_start_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_time" availabilityStartTime="some_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||||
<Period id="0" start="PT0S">
|
<Period id="0" start="PT0S">
|
||||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011"/>
|
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011"/>
|
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-1.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-1.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-2.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-2.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-3.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-3.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_audio-init.mp4
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-1.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-1.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-2.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-2.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-3.m4s
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-3.m4s
vendored
Normal file
Binary file not shown.
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/live-profile-and-key-rotation/output_video-init.mp4
vendored
Normal file
Binary file not shown.
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
<!--Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>-->
|
||||||
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_publish_time" availabilityStartTime="some_availability_start_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" profiles="urn:mpeg:dash:profile:isoff-live:2011" minBufferTime="PT2S" type="dynamic" publishTime="some_time" availabilityStartTime="some_time" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||||
<Period id="0" start="PT0S">
|
<Period id="0" start="PT0S">
|
||||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||||
<Representation id="0" bandwidth="873071" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
|
<Representation id="0" bandwidth="873071" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1">
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue