[test_InfoExtractor] Add test for #20346
This commit is contained in:
		| @@ -574,7 +574,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ | |||||||
|                 # Also tests duplicate representation ids, see |                 # Also tests duplicate representation ids, see | ||||||
|                 # https://github.com/ytdl-org/youtube-dl/issues/15111 |                 # https://github.com/ytdl-org/youtube-dl/issues/15111 | ||||||
|                 'float_duration', |                 'float_duration', | ||||||
|                 'http://unknown/manifest.mpd', |                 'http://unknown/manifest.mpd',  # mpd_url | ||||||
|  |                 None,  # mpd_base_url | ||||||
|                 [{ |                 [{ | ||||||
|                     'manifest_url': 'http://unknown/manifest.mpd', |                     'manifest_url': 'http://unknown/manifest.mpd', | ||||||
|                     'ext': 'm4a', |                     'ext': 'm4a', | ||||||
| @@ -654,7 +655,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ | |||||||
|             ), ( |             ), ( | ||||||
|                 # https://github.com/ytdl-org/youtube-dl/pull/14844 |                 # https://github.com/ytdl-org/youtube-dl/pull/14844 | ||||||
|                 'urls_only', |                 'urls_only', | ||||||
|                 'http://unknown/manifest.mpd', |                 'http://unknown/manifest.mpd',  # mpd_url | ||||||
|  |                 None,  # mpd_base_url | ||||||
|                 [{ |                 [{ | ||||||
|                     'manifest_url': 'http://unknown/manifest.mpd', |                     'manifest_url': 'http://unknown/manifest.mpd', | ||||||
|                     'ext': 'mp4', |                     'ext': 'mp4', | ||||||
| @@ -733,15 +735,61 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ | |||||||
|                     'width': 1920, |                     'width': 1920, | ||||||
|                     'height': 1080, |                     'height': 1080, | ||||||
|                 }] |                 }] | ||||||
|  |             ), ( | ||||||
|  |                 # https://github.com/ytdl-org/youtube-dl/issues/20346 | ||||||
|  |                 # Media considered unfragmented even though it contains | ||||||
|  |                 # Initialization tag | ||||||
|  |                 'unfragmented', | ||||||
|  |                 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd',  # mpd_url | ||||||
|  |                 'https://v.redd.it/hw1x7rcg7zl21',  # mpd_base_url | ||||||
|  |                 [{ | ||||||
|  |                     'url': 'https://v.redd.it/hw1x7rcg7zl21/audio', | ||||||
|  |                     'manifest_url': 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd', | ||||||
|  |                     'ext': 'm4a', | ||||||
|  |                     'format_id': 'AUDIO-1', | ||||||
|  |                     'format_note': 'DASH audio', | ||||||
|  |                     'container': 'm4a_dash', | ||||||
|  |                     'acodec': 'mp4a.40.2', | ||||||
|  |                     'vcodec': 'none', | ||||||
|  |                     'tbr': 129.87, | ||||||
|  |                     'asr': 48000, | ||||||
|  |  | ||||||
|  |                 }, { | ||||||
|  |                     'url': 'https://v.redd.it/hw1x7rcg7zl21/DASH_240', | ||||||
|  |                     'manifest_url': 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd', | ||||||
|  |                     'ext': 'mp4', | ||||||
|  |                     'format_id': 'VIDEO-2', | ||||||
|  |                     'format_note': 'DASH video', | ||||||
|  |                     'container': 'mp4_dash', | ||||||
|  |                     'acodec': 'none', | ||||||
|  |                     'vcodec': 'avc1.4d401e', | ||||||
|  |                     'tbr': 608.0, | ||||||
|  |                     'width': 240, | ||||||
|  |                     'height': 240, | ||||||
|  |                     'fps': 30, | ||||||
|  |                 }, { | ||||||
|  |                     'url': 'https://v.redd.it/hw1x7rcg7zl21/DASH_360', | ||||||
|  |                     'manifest_url': 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd', | ||||||
|  |                     'ext': 'mp4', | ||||||
|  |                     'format_id': 'VIDEO-1', | ||||||
|  |                     'format_note': 'DASH video', | ||||||
|  |                     'container': 'mp4_dash', | ||||||
|  |                     'acodec': 'none', | ||||||
|  |                     'vcodec': 'avc1.4d401e', | ||||||
|  |                     'tbr': 804.261, | ||||||
|  |                     'width': 360, | ||||||
|  |                     'height': 360, | ||||||
|  |                     'fps': 30, | ||||||
|  |                 }] | ||||||
|             ) |             ) | ||||||
|         ] |         ] | ||||||
|  |  | ||||||
|         for mpd_file, mpd_url, expected_formats in _TEST_CASES: |         for mpd_file, mpd_url, mpd_base_url, expected_formats in _TEST_CASES: | ||||||
|             with io.open('./test/testdata/mpd/%s.mpd' % mpd_file, |             with io.open('./test/testdata/mpd/%s.mpd' % mpd_file, | ||||||
|                          mode='r', encoding='utf-8') as f: |                          mode='r', encoding='utf-8') as f: | ||||||
|                 formats = self.ie._parse_mpd_formats( |                 formats = self.ie._parse_mpd_formats( | ||||||
|                     compat_etree_fromstring(f.read().encode('utf-8')), |                     compat_etree_fromstring(f.read().encode('utf-8')), | ||||||
|                     mpd_url=mpd_url) |                     mpd_base_url=mpd_base_url, mpd_url=mpd_url) | ||||||
|                 self.ie._sort_formats(formats) |                 self.ie._sort_formats(formats) | ||||||
|                 expect_value(self, formats, expected_formats, None) |                 expect_value(self, formats, expected_formats, None) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										28
									
								
								test/testdata/mpd/unfragmented.mpd
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								test/testdata/mpd/unfragmented.mpd
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> | ||||||
|  | <MPD mediaPresentationDuration="PT54.915S" minBufferTime="PT1.500S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" xmlns="urn:mpeg:dash:schema:mpd:2011"> | ||||||
|  |     <Period duration="PT54.915S"> | ||||||
|  |         <AdaptationSet segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> | ||||||
|  |             <Representation bandwidth="804261" codecs="avc1.4d401e" frameRate="30" height="360" id="VIDEO-1" mimeType="video/mp4" startWithSAP="1" width="360"> | ||||||
|  |                 <BaseURL>DASH_360</BaseURL> | ||||||
|  |                 <SegmentBase indexRange="915-1114" indexRangeExact="true"> | ||||||
|  |                     <Initialization range="0-914"/> | ||||||
|  |                 </SegmentBase> | ||||||
|  |             </Representation> | ||||||
|  |             <Representation bandwidth="608000" codecs="avc1.4d401e" frameRate="30" height="240" id="VIDEO-2" mimeType="video/mp4" startWithSAP="1" width="240"> | ||||||
|  |                 <BaseURL>DASH_240</BaseURL> | ||||||
|  |                 <SegmentBase indexRange="913-1112" indexRangeExact="true"> | ||||||
|  |                     <Initialization range="0-912"/> | ||||||
|  |                 </SegmentBase> | ||||||
|  |             </Representation> | ||||||
|  |         </AdaptationSet> | ||||||
|  |         <AdaptationSet> | ||||||
|  |             <Representation audioSamplingRate="48000" bandwidth="129870" codecs="mp4a.40.2" id="AUDIO-1" mimeType="audio/mp4" startWithSAP="1"> | ||||||
|  |                 <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> | ||||||
|  |                 <BaseURL>audio</BaseURL> | ||||||
|  |                 <SegmentBase indexRange="832-1007" indexRangeExact="true"> | ||||||
|  |                     <Initialization range="0-831"/> | ||||||
|  |                 </SegmentBase> | ||||||
|  |             </Representation> | ||||||
|  |         </AdaptationSet> | ||||||
|  |     </Period> | ||||||
|  | </MPD> | ||||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․