Reduce test file sizes and remove unused test files
Change-Id: I7e3b24e92b2a16de857e0424c85232cc31444182
This commit is contained in:
parent
d0fb8ced4b
commit
93e6c4fc92
|
@ -37,10 +37,21 @@ class PackagerAppTest(unittest.TestCase):
|
|||
|
||||
def testDumpStreamInfo(self):
|
||||
input = os.path.join(test_env.SRC_DIR, 'packager', 'media', 'test', 'data',
|
||||
'bear-1280x720.mp4')
|
||||
'bear-640x360.mp4')
|
||||
stream_info = self.packager.DumpStreamInfo(input)
|
||||
expected_stream_info = ('Found 2 stream(s).\n'
|
||||
'Stream [0] type: Audio\n'
|
||||
'Stream [0] type: Video\n'
|
||||
' codec_string: avc1.64001e\n'
|
||||
' time_scale: 30000\n'
|
||||
' duration: 82082 (2.7 seconds)\n'
|
||||
' is_encrypted: false\n'
|
||||
' codec: H264\n'
|
||||
' width: 640\n'
|
||||
' height: 360\n'
|
||||
' pixel aspect ratio: 1:1\n'
|
||||
' trick_play_rate: 0\n'
|
||||
' nalu_length_size: 4\n\n'
|
||||
'Stream [1] type: Audio\n'
|
||||
' codec_string: mp4a.40.2\n'
|
||||
' time_scale: 44100\n'
|
||||
' duration: 121856 (2.8 seconds)\n'
|
||||
|
@ -49,40 +60,29 @@ class PackagerAppTest(unittest.TestCase):
|
|||
' sample_bits: 16\n'
|
||||
' num_channels: 2\n'
|
||||
' sampling_frequency: 44100\n'
|
||||
' language: und\n\n'
|
||||
'Stream [1] type: Video\n'
|
||||
' codec_string: avc1.64001f\n'
|
||||
' time_scale: 30000\n'
|
||||
' duration: 82082 (2.7 seconds)\n'
|
||||
' is_encrypted: false\n'
|
||||
' codec: H264\n'
|
||||
' width: 1280\n'
|
||||
' height: 720\n'
|
||||
' pixel aspect ratio: 1:1\n'
|
||||
' trick_play_rate: 0\n'
|
||||
' nalu_length_size: 4')
|
||||
' language: und\n')
|
||||
self.assertIn(expected_stream_info, stream_info,
|
||||
"\nExpecting: \n %s\n\nBut seeing: \n%s" % (
|
||||
expected_stream_info, stream_info))
|
||||
|
||||
def testPackageFirstStream(self):
|
||||
self.packager.Package(self._GetStreams(['0']), self._GetFlags())
|
||||
self._DiffGold(self.output[0], 'bear-1280x720-a-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-1280x720-a-golden.mpd')
|
||||
self._DiffGold(self.output[0], 'bear-640x360-v-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-v-golden.mpd')
|
||||
|
||||
def testPackage(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video']),
|
||||
self._GetFlags())
|
||||
self._DiffGold(self.output[0], 'bear-1280x720-a-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-1280x720-v-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-1280x720-av-golden.mpd')
|
||||
self._DiffGold(self.output[0], 'bear-640x360-a-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-640x360-v-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-av-golden.mpd')
|
||||
|
||||
def testPackageWithEncryption(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video']),
|
||||
self._GetFlags(encryption=True))
|
||||
self._DiffGold(self.output[0], 'bear-1280x720-a-cenc-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-1280x720-v-cenc-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-1280x720-av-cenc-golden.mpd')
|
||||
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-golden.mpd')
|
||||
|
||||
def testPackageWithEncryptionAndRandomIv(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video']),
|
||||
|
@ -92,10 +92,10 @@ class PackagerAppTest(unittest.TestCase):
|
|||
# The outputs are encrypted with random iv, so they are not the same as
|
||||
# golden files.
|
||||
self.assertFalse(self._CompareWithGold(
|
||||
self.output[0], 'bear-1280x720-a-cenc-golden.mp4'))
|
||||
self.output[0], 'bear-640x360-a-cenc-golden.mp4'))
|
||||
self.assertFalse(self._CompareWithGold(
|
||||
self.output[1], 'bear-1280x720-v-cenc-golden.mp4'))
|
||||
self._DiffGold(self.mpd_output, 'bear-1280x720-av-cenc-golden.mpd')
|
||||
self.output[1], 'bear-640x360-v-cenc-golden.mp4'))
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-golden.mpd')
|
||||
|
||||
def testPackageWithEncryptionAndRealClock(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video']),
|
||||
|
@ -105,72 +105,72 @@ class PackagerAppTest(unittest.TestCase):
|
|||
# The outputs are generated with real clock, so they are not the same as
|
||||
# golden files.
|
||||
self.assertFalse(self._CompareWithGold(
|
||||
self.output[0], 'bear-1280x720-a-cenc-golden.mp4'))
|
||||
self.output[0], 'bear-640x360-a-cenc-golden.mp4'))
|
||||
self.assertFalse(self._CompareWithGold(
|
||||
self.output[1], 'bear-1280x720-v-cenc-golden.mp4'))
|
||||
self._DiffGold(self.mpd_output, 'bear-1280x720-av-cenc-golden.mpd')
|
||||
self.output[1], 'bear-640x360-v-cenc-golden.mp4'))
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-golden.mpd')
|
||||
|
||||
def testPackageWithEncryptionAndDashIfIop(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video']),
|
||||
self._GetFlags(encryption=True, dash_if_iop=True))
|
||||
self._DiffGold(self.output[0], 'bear-1280x720-a-cenc-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-1280x720-v-cenc-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-1280x720-av-cenc-iop-golden.mpd')
|
||||
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
|
||||
self._DiffGold(self.mpd_output, 'bear-640x360-av-cenc-iop-golden.mpd')
|
||||
|
||||
def testPackageWithEncryptionAndOutputMediaInfo(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video']),
|
||||
self._GetFlags(encryption=True,
|
||||
output_media_info=True))
|
||||
self._DiffGold(self.output[0], 'bear-1280x720-a-cenc-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-1280x720-v-cenc-golden.mp4')
|
||||
self._DiffMediaInfoGold(self.output[0], 'bear-1280x720-a-cenc-golden.mp4')
|
||||
self._DiffMediaInfoGold(self.output[1], 'bear-1280x720-v-cenc-golden.mp4')
|
||||
self._DiffGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4')
|
||||
self._DiffGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
|
||||
self._DiffMediaInfoGold(self.output[0], 'bear-640x360-a-cenc-golden.mp4')
|
||||
self._DiffMediaInfoGold(self.output[1], 'bear-640x360-v-cenc-golden.mp4')
|
||||
|
||||
def testPackageWithLiveProfile(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video'], live=True),
|
||||
self._GetFlags(live=True))
|
||||
self._DiffLiveGold(self.output[0], 'bear-1280x720-a-live-golden')
|
||||
self._DiffLiveGold(self.output[1], 'bear-1280x720-v-live-golden')
|
||||
self._DiffLiveMpdGold(self.mpd_output, 'bear-1280x720-av-live-golden.mpd')
|
||||
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-golden')
|
||||
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-golden')
|
||||
self._DiffLiveMpdGold(self.mpd_output, 'bear-640x360-av-live-golden.mpd')
|
||||
|
||||
def testPackageWithLiveProfileAndEncryption(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video'], live=True),
|
||||
self._GetFlags(encryption=True, live=True))
|
||||
self._DiffLiveGold(self.output[0], 'bear-1280x720-a-live-cenc-golden')
|
||||
self._DiffLiveGold(self.output[1], 'bear-1280x720-v-live-cenc-golden')
|
||||
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-cenc-golden')
|
||||
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-cenc-golden')
|
||||
self._DiffLiveMpdGold(self.mpd_output,
|
||||
'bear-1280x720-av-live-cenc-golden.mpd')
|
||||
'bear-640x360-av-live-cenc-golden.mpd')
|
||||
|
||||
def testPackageWithLiveProfileAndEncryptionAndDashIfIop(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video'], live=True),
|
||||
self._GetFlags(encryption=True, live=True,
|
||||
dash_if_iop=True))
|
||||
self._DiffLiveGold(self.output[0], 'bear-1280x720-a-live-cenc-golden')
|
||||
self._DiffLiveGold(self.output[1], 'bear-1280x720-v-live-cenc-golden')
|
||||
self._DiffLiveGold(self.output[0], 'bear-640x360-a-live-cenc-golden')
|
||||
self._DiffLiveGold(self.output[1], 'bear-640x360-v-live-cenc-golden')
|
||||
self._DiffLiveMpdGold(self.mpd_output,
|
||||
'bear-1280x720-av-live-cenc-iop-golden.mpd')
|
||||
'bear-640x360-av-live-cenc-iop-golden.mpd')
|
||||
|
||||
def testPackageWithLiveProfileAndKeyRotation(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video'], live=True),
|
||||
self._GetFlags(encryption=True, key_rotation=True,
|
||||
live=True))
|
||||
self._DiffLiveGold(self.output[0],
|
||||
'bear-1280x720-a-live-cenc-rotation-golden')
|
||||
'bear-640x360-a-live-cenc-rotation-golden')
|
||||
self._DiffLiveGold(self.output[1],
|
||||
'bear-1280x720-v-live-cenc-rotation-golden')
|
||||
'bear-640x360-v-live-cenc-rotation-golden')
|
||||
self._DiffLiveMpdGold(self.mpd_output,
|
||||
'bear-1280x720-av-live-cenc-rotation-golden.mpd')
|
||||
'bear-640x360-av-live-cenc-rotation-golden.mpd')
|
||||
|
||||
def testPackageWithLiveProfileAndKeyRotationAndDashIfIop(self):
|
||||
self.packager.Package(self._GetStreams(['audio', 'video'], live=True),
|
||||
self._GetFlags(encryption=True, key_rotation=True,
|
||||
live=True, dash_if_iop=True))
|
||||
self._DiffLiveGold(self.output[0],
|
||||
'bear-1280x720-a-live-cenc-rotation-golden')
|
||||
'bear-640x360-a-live-cenc-rotation-golden')
|
||||
self._DiffLiveGold(self.output[1],
|
||||
'bear-1280x720-v-live-cenc-rotation-golden')
|
||||
'bear-640x360-v-live-cenc-rotation-golden')
|
||||
self._DiffLiveMpdGold(self.mpd_output,
|
||||
'bear-1280x720-av-live-cenc-rotation-iop-golden.mpd')
|
||||
'bear-640x360-av-live-cenc-rotation-iop-golden.mpd')
|
||||
|
||||
@unittest.skipUnless(test_env.has_aes_flags, 'Requires AES credentials.')
|
||||
def testWidevineEncryptionWithAes(self):
|
||||
|
@ -204,18 +204,17 @@ class PackagerAppTest(unittest.TestCase):
|
|||
|
||||
test_data_dir = os.path.join(
|
||||
test_env.SRC_DIR, 'packager', 'media', 'test', 'data')
|
||||
input = os.path.join(test_data_dir, 'bear-640x360.mp4')
|
||||
for stream_descriptor in stream_descriptors:
|
||||
if live:
|
||||
# This is still output prefix actually.
|
||||
output = '%s_%s' % (self.output_prefix, stream_descriptor)
|
||||
stream = ('input=%s,stream=%s,init_segment=%s-init.mp4,' +
|
||||
'segment_template=%s-$Number$.m4s')
|
||||
input = os.path.join(test_data_dir, 'bear-1280x720-av_frag.mp4')
|
||||
streams.append(stream % (input, stream_descriptor, output, output))
|
||||
else:
|
||||
output = '%s_%s.mp4' % (self.output_prefix, stream_descriptor)
|
||||
stream = 'input=%s,stream=%s,output=%s'
|
||||
input = os.path.join(test_data_dir, 'bear-1280x720.mp4')
|
||||
streams.append(stream % (input, stream_descriptor, output))
|
||||
self.output.append(output)
|
||||
return streams
|
||||
|
|
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.
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.
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,18 +1,18 @@
|
|||
bandwidth: 77870
|
||||
bandwidth: 126684
|
||||
audio_info {
|
||||
codec: "mp4a.40.2"
|
||||
sampling_frequency: 44100
|
||||
time_scale: 44100
|
||||
num_channels: 2
|
||||
decoder_config: "\022\020"
|
||||
decoder_config: "\022\020V\345\000"
|
||||
}
|
||||
init_range {
|
||||
begin: 0
|
||||
end: 810
|
||||
end: 816
|
||||
}
|
||||
index_range {
|
||||
begin: 811
|
||||
end: 878
|
||||
begin: 817
|
||||
end: 884
|
||||
}
|
||||
media_file_name: "place_holder"
|
||||
media_duration_seconds: 2.7631745
|
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.
BIN
packager/app/test/testdata/bear-640x360-a-live-cenc-rotation-golden-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/bear-640x360-a-live-cenc-rotation-golden-init.mp4
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,28 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.763174533843994S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="audio" subSegmentAlignment="true">
|
||||
<Representation id="0" bandwidth="77870" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subSegmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="882409" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="941-1008" timescale="30000">
|
||||
<Initialization range="0-940"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="audio" subSegmentAlignment="true">
|
||||
<Representation id="1" bandwidth="126684" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<BaseURL>output_audio.mp4</BaseURL>
|
||||
<SegmentBase indexRange="811-878" timescale="44100">
|
||||
<Initialization range="0-810"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="video" width="1280" height="720" frameRate="30000/1001" subSegmentAlignment="true" par="16:9">
|
||||
<Representation id="1" bandwidth="2016732" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="939-982" timescale="30000">
|
||||
<Initialization range="0-938"/>
|
||||
<SegmentBase indexRange="817-884" timescale="44100">
|
||||
<Initialization range="0-816"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
|
@ -1,28 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.763174533843994S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="audio" subSegmentAlignment="true">
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subSegmentAlignment="true" par="16:9">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Representation id="0" bandwidth="77870" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<BaseURL>output_audio.mp4</BaseURL>
|
||||
<SegmentBase indexRange="811-878" timescale="44100">
|
||||
<Initialization range="0-810"/>
|
||||
<Representation id="0" bandwidth="882409" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="941-1008" timescale="30000">
|
||||
<Initialization range="0-940"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="video" width="1280" height="720" frameRate="30000/1001" subSegmentAlignment="true" par="16:9">
|
||||
<AdaptationSet id="1" contentType="audio" subSegmentAlignment="true">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Representation id="1" bandwidth="2016732" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="939-982" timescale="30000">
|
||||
<Initialization range="0-938"/>
|
||||
<Representation id="1" bandwidth="126684" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<BaseURL>output_audio.mp4</BaseURL>
|
||||
<SegmentBase indexRange="817-884" timescale="44100">
|
||||
<Initialization range="0-816"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
|
@ -1,20 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.763174533843994S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="audio" subSegmentAlignment="true">
|
||||
<Representation id="0" bandwidth="77283" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<BaseURL>output_audio.mp4</BaseURL>
|
||||
<SegmentBase indexRange="608-675" timescale="44100">
|
||||
<Initialization range="0-607"/>
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subSegmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="881637" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="677-744" timescale="30000">
|
||||
<Initialization range="0-676"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="video" width="1280" height="720" frameRate="30000/1001" subSegmentAlignment="true" par="16:9">
|
||||
<Representation id="1" bandwidth="2015963" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<BaseURL>output_video.mp4</BaseURL>
|
||||
<SegmentBase indexRange="676-719" timescale="30000">
|
||||
<Initialization range="0-675"/>
|
||||
<AdaptationSet id="1" contentType="audio" subSegmentAlignment="true">
|
||||
<Representation id="1" bandwidth="126087" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<BaseURL>output_audio.mp4</BaseURL>
|
||||
<SegmentBase indexRange="611-678" timescale="44100">
|
||||
<Initialization range="0-610"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="dynamic" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilityStartTime="place_holder" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||
<Period start="PT0S">
|
||||
<AdaptationSet id="0" contentType="video" width="1280" height="720" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="2143213" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="872999" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
|
@ -16,7 +16,7 @@
|
|||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="audio" segmentAlignment="true">
|
||||
<Representation id="1" bandwidth="73920" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<Representation id="1" bandwidth="121855" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="31323334-3536-3738-3930-313233343536"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
|
@ -1,12 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="dynamic" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilityStartTime="place_holder" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||
<Period start="PT0S">
|
||||
<AdaptationSet id="0" contentType="video" width="1280" height="720" 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 schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Representation id="0" bandwidth="2143213" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<Representation id="0" bandwidth="872999" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<SegmentTemplate timescale="30000" initialization="output_video-init.mp4" media="output_video-$Number$.m4s" startNumber="1">
|
||||
<SegmentTimeline>
|
||||
<S t="2002" d="30030" r="1"/>
|
||||
|
@ -20,7 +20,7 @@
|
|||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
|
||||
<cenc:pssh>AAAAMHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABAxMjM0NTY3ODkwMTIzNDU2</cenc:pssh>
|
||||
</ContentProtection>
|
||||
<Representation id="1" bandwidth="73920" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<Representation id="1" bandwidth="121855" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<SegmentTemplate timescale="44100" initialization="output_audio-init.mp4" media="output_audio-$Number$.m4s" startNumber="1">
|
||||
<SegmentTimeline>
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="dynamic" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilityStartTime="place_holder" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||
<Period start="PT0S">
|
||||
<AdaptationSet id="0" contentType="video" width="1280" height="720" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="2143647" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="873432" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="00000000-0000-0000-0000-000000000000"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>
|
||||
<SegmentTemplate timescale="30000" initialization="output_video-init.mp4" media="output_video-$Number$.m4s" startNumber="1">
|
||||
|
@ -14,7 +14,7 @@
|
|||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="audio" segmentAlignment="true">
|
||||
<Representation id="1" bandwidth="74365" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<Representation id="1" bandwidth="122303" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="00000000-0000-0000-0000-000000000000"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="dynamic" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilityStartTime="place_holder" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||
<Period start="PT0S">
|
||||
<AdaptationSet id="0" contentType="video" width="1280" height="720" 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="00000000-0000-0000-0000-000000000000"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>
|
||||
<Representation id="0" bandwidth="2143647" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<Representation id="0" bandwidth="873432" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<SegmentTemplate timescale="30000" initialization="output_video-init.mp4" media="output_video-$Number$.m4s" startNumber="1">
|
||||
<SegmentTimeline>
|
||||
<S t="2002" d="30030" r="1"/>
|
||||
|
@ -16,7 +16,7 @@
|
|||
<AdaptationSet id="1" contentType="audio" segmentAlignment="true">
|
||||
<ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="00000000-0000-0000-0000-000000000000"/>
|
||||
<ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"/>
|
||||
<Representation id="1" bandwidth="74365" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<Representation id="1" bandwidth="122303" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<SegmentTemplate timescale="44100" initialization="output_audio-init.mp4" media="output_audio-$Number$.m4s" startNumber="1">
|
||||
<SegmentTimeline>
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="dynamic" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilityStartTime="place_holder" minimumUpdatePeriod="PT5S" timeShiftBufferDepth="PT1800S">
|
||||
<Period start="PT0S">
|
||||
<AdaptationSet id="0" contentType="video" width="1280" height="720" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="2143213" codecs="avc1.64001f" mimeType="video/mp4" sar="1:1" width="1280" height="720" frameRate="30000/1001">
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" segmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="872999" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<SegmentTemplate timescale="30000" initialization="output_video-init.mp4" media="output_video-$Number$.m4s" startNumber="1">
|
||||
<SegmentTimeline>
|
||||
<S t="2002" d="30030" r="1"/>
|
||||
|
@ -12,7 +12,7 @@
|
|||
</Representation>
|
||||
</AdaptationSet>
|
||||
<AdaptationSet id="1" contentType="audio" segmentAlignment="true">
|
||||
<Representation id="1" bandwidth="73920" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<Representation id="1" bandwidth="121855" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<SegmentTemplate timescale="44100" initialization="output_audio-init.mp4" media="output_audio-$Number$.m4s" startNumber="1">
|
||||
<SegmentTimeline>
|
Binary file not shown.
|
@ -1,21 +1,21 @@
|
|||
bandwidth: 2016732
|
||||
bandwidth: 882409
|
||||
video_info {
|
||||
codec: "avc1.64001f"
|
||||
width: 1280
|
||||
height: 720
|
||||
codec: "avc1.64001e"
|
||||
width: 640
|
||||
height: 360
|
||||
time_scale: 30000
|
||||
frame_duration: 1001
|
||||
decoder_config: "\001d\000\037\377\341\000\031gd\000\037\2544\345\001@\026\354\004@\000\000\031\000\000\005\332\243\306\014E\200\001\000\005h\356\262\310\260"
|
||||
decoder_config: "\001d\000\036\377\341\000\031gd\000\036\254\331@\240/\371p\021\000\000\003\003\351\000\000\352`\017\026-\226\001\000\006h\353\343\313\"\300"
|
||||
pixel_width: 1
|
||||
pixel_height: 1
|
||||
}
|
||||
init_range {
|
||||
begin: 0
|
||||
end: 938
|
||||
end: 940
|
||||
}
|
||||
index_range {
|
||||
begin: 939
|
||||
end: 982
|
||||
begin: 941
|
||||
end: 1008
|
||||
}
|
||||
media_file_name: "place_holder"
|
||||
media_duration_seconds: 2.7360666
|
Binary file not shown.
|
@ -1,12 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.763174533843994S">
|
||||
<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" minBufferTime="PT2S" type="static" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" mediaPresentationDuration="PT2.7360665798187256S">
|
||||
<Period>
|
||||
<AdaptationSet id="0" contentType="audio" subSegmentAlignment="true">
|
||||
<Representation id="0" bandwidth="77283" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
|
||||
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
|
||||
<AdaptationSet id="0" contentType="video" width="640" height="360" frameRate="30000/1001" subSegmentAlignment="true" par="16:9">
|
||||
<Representation id="0" bandwidth="881637" codecs="avc1.64001e" mimeType="video/mp4" sar="1:1" width="640" height="360" frameRate="30000/1001">
|
||||
<BaseURL>output_0.mp4</BaseURL>
|
||||
<SegmentBase indexRange="608-675" timescale="44100">
|
||||
<Initialization range="0-607"/>
|
||||
<SegmentBase indexRange="677-744" timescale="30000">
|
||||
<Initialization range="0-676"/>
|
||||
</SegmentBase>
|
||||
</Representation>
|
||||
</AdaptationSet>
|
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.
BIN
packager/app/test/testdata/bear-640x360-v-live-cenc-rotation-golden-init.mp4
vendored
Normal file
BIN
packager/app/test/testdata/bear-640x360-v-live-cenc-rotation-golden-init.mp4
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -127,24 +127,19 @@ TEST(ContainerNamesTest, FileCheckOGG) {
|
|||
|
||||
TEST(ContainerNamesTest, FileCheckWAV) {
|
||||
TestFile(CONTAINER_WAV, GetTestDataFilePath("4ch.wav"));
|
||||
TestFile(CONTAINER_WAV, GetTestDataFilePath("sfx_f32le.wav"));
|
||||
TestFile(CONTAINER_WAV, GetTestDataFilePath("sfx_s16le.wav"));
|
||||
}
|
||||
|
||||
TEST(ContainerNamesTest, FileCheckMOV) {
|
||||
TestFile(CONTAINER_MOV, GetTestDataFilePath("bear-1280x720.mp4"));
|
||||
TestFile(CONTAINER_MOV, GetTestDataFilePath("sfx.m4a"));
|
||||
TestFile(CONTAINER_MOV, GetTestDataFilePath("bear-640x360.mp4"));
|
||||
}
|
||||
|
||||
TEST(ContainerNamesTest, FileCheckWEBM) {
|
||||
TestFile(CONTAINER_WEBM, GetTestDataFilePath("bear-320x240.webm"));
|
||||
TestFile(CONTAINER_WEBM, GetTestDataFilePath("bear-640x360.webm"));
|
||||
TestFile(CONTAINER_WEBM, GetTestDataFilePath("no_streams.webm"));
|
||||
TestFile(CONTAINER_WEBM, GetTestDataFilePath("webm_ebml_element"));
|
||||
}
|
||||
|
||||
TEST(ContainerNamesTest, FileCheckMP3) {
|
||||
TestFile(CONTAINER_MP3, GetTestDataFilePath("id3_test.mp3"));
|
||||
TestFile(CONTAINER_MP3, GetTestDataFilePath("sfx.mp3"));
|
||||
}
|
||||
|
||||
TEST(ContainerNamesTest, FileCheckAC3) {
|
||||
|
@ -211,9 +206,6 @@ TEST(ContainerNamesTest, FileCheckSWF) {
|
|||
TEST(ContainerNamesTest, FileCheckUNKNOWN) {
|
||||
TestFile(CONTAINER_UNKNOWN, GetTestDataFilePath("ten_byte_file"));
|
||||
TestFile(CONTAINER_UNKNOWN, GetTestDataFilePath("README"));
|
||||
TestFile(CONTAINER_UNKNOWN, GetTestDataFilePath("bali_640x360_P422.yuv"));
|
||||
TestFile(CONTAINER_UNKNOWN, GetTestDataFilePath("bali_640x360_RGB24.rgb"));
|
||||
TestFile(CONTAINER_UNKNOWN, GetTestDataFilePath("webm_vp8_track_entry"));
|
||||
}
|
||||
|
||||
} // namespace media
|
||||
|
|
|
@ -105,7 +105,7 @@ class MP4MediaParserTest : public testing::Test {
|
|||
TEST_F(MP4MediaParserTest, UnalignedAppend) {
|
||||
// Test small, non-segment-aligned appends (small enough to exercise
|
||||
// incremental append system)
|
||||
EXPECT_TRUE(ParseMP4File("bear-1280x720-av_frag.mp4", 512));
|
||||
EXPECT_TRUE(ParseMP4File("bear-640x360-av_frag.mp4", 512));
|
||||
EXPECT_EQ(2u, num_streams_);
|
||||
EXPECT_EQ(201u, num_samples_);
|
||||
}
|
||||
|
@ -165,7 +165,7 @@ TEST_F(MP4MediaParserTest,
|
|||
|
||||
TEST_F(MP4MediaParserTest, BytewiseAppend) {
|
||||
// Ensure no incremental errors occur when parsing
|
||||
EXPECT_TRUE(ParseMP4File("bear-1280x720-av_frag.mp4", 1));
|
||||
EXPECT_TRUE(ParseMP4File("bear-640x360-av_frag.mp4", 1));
|
||||
EXPECT_EQ(2u, num_streams_);
|
||||
EXPECT_EQ(201u, num_samples_);
|
||||
}
|
||||
|
@ -173,13 +173,13 @@ TEST_F(MP4MediaParserTest, BytewiseAppend) {
|
|||
TEST_F(MP4MediaParserTest, MultiFragmentAppend) {
|
||||
// Large size ensures multiple fragments are appended in one call (size is
|
||||
// larger than this particular test file)
|
||||
EXPECT_TRUE(ParseMP4File("bear-1280x720-av_frag.mp4", 768432));
|
||||
EXPECT_TRUE(ParseMP4File("bear-640x360-av_frag.mp4", 300000));
|
||||
EXPECT_EQ(2u, num_streams_);
|
||||
EXPECT_EQ(201u, num_samples_);
|
||||
}
|
||||
|
||||
TEST_F(MP4MediaParserTest, TrailingMoov) {
|
||||
EXPECT_TRUE(ParseMP4File("bear-1280x720-trailing-moov.mp4", 1024));
|
||||
EXPECT_TRUE(ParseMP4File("bear-640x360-trailing-moov.mp4", 1024));
|
||||
EXPECT_EQ(2u, num_streams_);
|
||||
EXPECT_EQ(201u, num_samples_);
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ TEST_F(MP4MediaParserTest, Flush) {
|
|||
// Flush while reading sample data, then start a new stream.
|
||||
InitializeParser(NULL);
|
||||
|
||||
std::vector<uint8_t> buffer = ReadTestDataFile("bear-1280x720-av_frag.mp4");
|
||||
std::vector<uint8_t> buffer = ReadTestDataFile("bear-640x360-av_frag.mp4");
|
||||
EXPECT_TRUE(AppendDataInPieces(buffer.data(), 65536, 512));
|
||||
parser_->Flush();
|
||||
EXPECT_EQ(2u, num_streams_);
|
||||
|
@ -208,24 +208,24 @@ TEST_F(MP4MediaParserTest, MPEG2_AAC_LC) {
|
|||
TEST_F(MP4MediaParserTest, NoMoovAfterFlush) {
|
||||
InitializeParser(NULL);
|
||||
|
||||
std::vector<uint8_t> buffer = ReadTestDataFile("bear-1280x720-av_frag.mp4");
|
||||
std::vector<uint8_t> buffer = ReadTestDataFile("bear-640x360-av_frag.mp4");
|
||||
EXPECT_TRUE(AppendDataInPieces(buffer.data(), buffer.size(), 512));
|
||||
parser_->Flush();
|
||||
|
||||
const int kFirstMoofOffset = 1307;
|
||||
const int kFirstMoofOffset = 1308;
|
||||
EXPECT_TRUE(AppendDataInPieces(
|
||||
buffer.data() + kFirstMoofOffset, buffer.size() - kFirstMoofOffset, 512));
|
||||
}
|
||||
|
||||
TEST_F(MP4MediaParserTest, NON_FRAGMENTED_MP4) {
|
||||
EXPECT_TRUE(ParseMP4File("bear-1280x720.mp4", 512));
|
||||
EXPECT_TRUE(ParseMP4File("bear-640x360.mp4", 512));
|
||||
EXPECT_EQ(2u, num_streams_);
|
||||
EXPECT_EQ(201u, num_samples_);
|
||||
}
|
||||
|
||||
TEST_F(MP4MediaParserTest, CencWithoutDecryptionSource) {
|
||||
// Parsing should fail but it will get the streams successfully.
|
||||
EXPECT_FALSE(ParseMP4File("bear-1280x720-v_frag-cenc.mp4", 512));
|
||||
EXPECT_FALSE(ParseMP4File("bear-640x360-v_frag-cenc.mp4", 512));
|
||||
EXPECT_EQ(1u, num_streams_);
|
||||
}
|
||||
|
||||
|
@ -233,7 +233,7 @@ TEST_F(MP4MediaParserTest, CencInitWithoutDecryptionSource) {
|
|||
InitializeParser(NULL);
|
||||
|
||||
std::vector<uint8_t> buffer =
|
||||
ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4");
|
||||
ReadTestDataFile("bear-640x360-v_frag-cenc.mp4");
|
||||
const int kFirstMoofOffset = 1646;
|
||||
EXPECT_TRUE(AppendDataInPieces(buffer.data(), kFirstMoofOffset, 512));
|
||||
EXPECT_EQ(1u, num_streams_);
|
||||
|
@ -256,7 +256,7 @@ TEST_F(MP4MediaParserTest, CencWithDecryptionSource) {
|
|||
InitializeParser(&mock_key_source);
|
||||
|
||||
std::vector<uint8_t> buffer =
|
||||
ReadTestDataFile("bear-1280x720-v_frag-cenc.mp4");
|
||||
ReadTestDataFile("bear-640x360-v_frag-cenc.mp4");
|
||||
EXPECT_TRUE(AppendDataInPieces(buffer.data(), buffer.size(), 512));
|
||||
EXPECT_EQ(1u, num_streams_);
|
||||
EXPECT_EQ(82u, num_samples_);
|
||||
|
|
|
@ -23,19 +23,19 @@
|
|||
|
||||
namespace {
|
||||
const int64_t kNoTimestamp = std::numeric_limits<int64_t>::min();
|
||||
const char kWvmFile[] = "hb2_4stream_encrypted.wvm";
|
||||
const char kWvmFile[] = "bear-640x360.wvm";
|
||||
// Constants associated with kWvmFile follows.
|
||||
const uint32_t kExpectedStreams = 4;
|
||||
const int kExpectedVideoFrameCount = 6665;
|
||||
const int kExpectedAudioFrameCount = 11964;
|
||||
const int kExpectedEncryptedSampleCount = 17287;
|
||||
const int kExpectedVideoFrameCount = 826;
|
||||
const int kExpectedAudioFrameCount = 1184;
|
||||
const int kExpectedEncryptedSampleCount = 554;
|
||||
const uint8_t kExpectedAssetKey[] =
|
||||
"\x06\x81\x7f\x48\x6b\xf2\x7f\x3e\xc7\x39\xa8\x3f\x12\x0a\xd2\xfc";
|
||||
"\x92\x48\xd2\x45\x39\x0e\x0a\x49\xd4\x83\xba\x9b\x43\xfc\x69\xc3";
|
||||
const uint8_t k64ByteAssetKey[] =
|
||||
"\x06\x81\x7f\x48\x6b\xf2\x7f\x3e\xc7\x39\xa8\x3f\x12\x0a\xd2\xfc"
|
||||
"\x06\x81\x7f\x48\x6b\xf2\x7f\x3e\xc7\x39\xa8\x3f\x12\x0a\xd2\xfc"
|
||||
"\x06\x81\x7f\x48\x6b\xf2\x7f\x3e\xc7\x39\xa8\x3f\x12\x0a\xd2\xfc"
|
||||
"\x06\x81\x7f\x48\x6b\xf2\x7f\x3e\xc7\x39\xa8\x3f\x12\x0a\xd2\xfc";
|
||||
"\x92\x48\xd2\x45\x39\x0e\x0a\x49\xd4\x83\xba\x9b\x43\xfc\x69\xc3"
|
||||
"\x92\x48\xd2\x45\x39\x0e\x0a\x49\xd4\x83\xba\x9b\x43\xfc\x69\xc3"
|
||||
"\x92\x48\xd2\x45\x39\x0e\x0a\x49\xd4\x83\xba\x9b\x43\xfc\x69\xc3"
|
||||
"\x92\x48\xd2\x45\x39\x0e\x0a\x49\xd4\x83\xba\x9b\x43\xfc\x69\xc3";
|
||||
const size_t kInitDataSize = 0x4000;
|
||||
} // namespace
|
||||
|
||||
|
|
Binary file not shown.
|
@ -28,26 +28,23 @@ vorbis-packet-3 - timestamp: 2902ms, duration: 0ms
|
|||
bear-1280x720.ts - AVC + AAC encode, multiplexed into an MPEG2-TS container.
|
||||
bear-1280x720_ptswraparound.ts - Same as bear-1280x720.ts, with a timestamp wrap-around in the middle.
|
||||
|
||||
// Encrypted Files.
|
||||
bear-1280x720-a_frag-cenc.mp4 - A fragmented MP4 version of the audio track of bear-1280x720.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
|
||||
bear-1280x720-a_frag-cenc_clear-all.mp4 - Same as bear-1280x720-a_frag-cenc.mp4 but no fragments are encrypted.
|
||||
bear-1280x720-v_frag-cenc.mp4 - A fragmented MP4 version of the video track of bear-1280x720.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
|
||||
bear-1280x720-v_frag-cenc_clear-all.mp4 - Same as bear-1280x720-v_frag-cenc.mp4 but no fragments are encrypted.
|
||||
bear-320x240-16x9-aspect-av_enc-av.webm - bear-320x240-16x9-aspect.webm with audio & video encrypted using key ID [1] and key [2]
|
||||
bear-320x240-av_enc-av.webm - bear-320x240.webm with audio & video encrypted using key ID [1] and key [2].
|
||||
bear-320x240-av_enc-av_clear-1s.webm - Same as bear-320x240-av_enc-av.webm but with no frames in the first second encrypted.
|
||||
bear-320x240-av_enc-av_clear-all.webm - Same as bear-320x240-av_enc-av.webm but with no frames encrypted.
|
||||
bear-640x360-av_enc-av.webm - bear-640x360.webm with audio & video encrypted using key ID [1] and key [2].
|
||||
bear-640x360-a_frag-cenc.mp4 - A fragmented MP4 version of the audio track of bear-640x360.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
|
||||
bear-640x360-v_frag-cenc.mp4 - A fragmented MP4 version of the video track of bear-640x360.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
|
||||
|
||||
[1] 30313233343536373839303132333435
|
||||
[2] ebdd62f16814d27b68ef122afce4ae3c
|
||||
// ISO-BMFF streams.
|
||||
bear-1280x720.mp4 - AVC + AAC encode, mulitplexed into an ISOBMFF container.
|
||||
bear-640x360.mp4 - Same as above, but in a different resolution.
|
||||
bear-320x180.mp4 - Same as above, but in a different resolution.
|
||||
bear-640x360-trailing-moov.mp4 - Same content, but with moov box in the end.
|
||||
bear-640x360-av_frag.mp4 - Same content, but in fragmented mp4.
|
||||
|
||||
// Non square pixels.
|
||||
bear-640x360-non_square_pixel-with_pasp.mp4 - A non-square pixel version of the video track of bear-640x360.mp4 with PixelAspectRatio box.
|
||||
bear-640x360-non_square_pixel-without_pasp.mp4 - A non-square pixel version of the video track of bear-640x360.mp4 without PixelAspectRatio box.
|
||||
|
||||
// Encrypted Files.
|
||||
bear-640x360-v_frag-cenc.mp4 - A fragmented MP4 version of the video track of bear-640x360.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
|
||||
|
||||
[1] 30313233343536373839303132333435
|
||||
[2] ebdd62f16814d27b68ef122afce4ae3c
|
||||
|
||||
// Container Tests (additional containers derived from bear.ogv)
|
||||
bear.ac3 -- created using "avconv -i bear.ogv -f ac3 -b 192k bear.ac3".
|
||||
bear.adts -- created using "avconv -i bear.ogv -f adts -strict experimental bear.adts".
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
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.
Binary file not shown.
|
@ -1,17 +0,0 @@
|
|||
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
{
|
||||
duration: 2.744000,
|
||||
type: 'video/webm; codecs="vp8, vorbis"',
|
||||
init: { offset: 0, size: 4370},
|
||||
media: [
|
||||
{ offset: 4370, size: 40778, timecode: 0.000000 },
|
||||
{ offset: 45148, size: 27589, timecode: 0.396000 },
|
||||
{ offset: 72737, size: 28183, timecode: 0.779000 },
|
||||
{ offset: 100920, size: 31600, timecode: 1.197000 },
|
||||
{ offset: 132520, size: 33922, timecode: 1.589000 },
|
||||
{ offset: 166442, size: 30587, timecode: 1.987000 },
|
||||
{ offset: 197029, size: 22079, timecode: 2.400000 },
|
||||
]
|
||||
}
|
Binary file not shown.
|
@ -1,16 +0,0 @@
|
|||
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
{
|
||||
duration: 2.740000,
|
||||
type: 'video/webm; codecs="vp8, vorbis"',
|
||||
init: { offset: 0, size: 4340},
|
||||
media: [
|
||||
{ offset: 4340, size: 50950, timecode: 0.000000},
|
||||
{ offset: 55290, size: 18785, timecode: 0.527000},
|
||||
{ offset: 74075, size: 19810, timecode: 1.014000},
|
||||
{ offset: 93885, size: 21706, timecode: 1.522000},
|
||||
{ offset: 115591, size: 20249, timecode: 2.016000},
|
||||
{ offset: 135840, size: 9946, timecode: 2.515000},
|
||||
]
|
||||
}
|
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.
|
@ -1,47 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>HTML 5 Change H.264 Video Test</title>
|
||||
<script>
|
||||
var changeVideoInterval;
|
||||
var changeVideoCounter = 0;
|
||||
|
||||
function changeVideo() {
|
||||
try {
|
||||
if (changeVideoCounter == 40) {
|
||||
alert('40 video changes done. Test over');
|
||||
window.clearInterval(changeVideoInterval);
|
||||
return;
|
||||
}
|
||||
var video = document.getElementById('video');
|
||||
video.pause();
|
||||
video.src = 'bear-1280x720.mp4?counter=' +
|
||||
changeVideoCounter.toString();
|
||||
++changeVideoCounter;
|
||||
video.play();
|
||||
video.currentTime = 1;
|
||||
}
|
||||
|
||||
catch (e) {
|
||||
}
|
||||
}
|
||||
|
||||
function onLoad() {
|
||||
var video = document.getElementById('video');
|
||||
video.play();
|
||||
video.currentTime = 1;
|
||||
changeVideoInterval = setInterval(changeVideo, 200);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload='onLoad();'> <b> This test tests the case where in H.264 H/W
|
||||
decoded videos are added and removed a number of times from the page,
|
||||
while they are playing. <br> This should not cause the browser to hang.
|
||||
<div id='videoDiv'>
|
||||
<video id='video' width=320 height=240 src='bear-1280x720.mp4'
|
||||
controls='controls'>
|
||||
</video>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue