Changeset 267057 in webkit
- Timestamp:
- Sep 14, 2020 4:17:53 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 5 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r267055 r267057 1 2020-09-14 Jer Noble <jer.noble@apple.com> 2 3 [Cocoa,HDR] HLS streams with HDR variants will not select HDR. 4 https://bugs.webkit.org/show_bug.cgi?id=216203 5 <rdar://problem/67438626> 6 7 Reviewed by Darin Adler. 8 9 * http/tests/media/hls/hls-hdr-switch-expected.txt: Added. 10 * http/tests/media/hls/hls-hdr-switch.html: Added. 11 * http/tests/media/resources/hls/green-bip.ts: Added. 12 * http/tests/media/resources/hls/hdr.m3u8: Added. 13 * http/tests/media/resources/hls/red-bip.ts: Added. 14 * http/tests/media/resources/hls/test-live.php: 15 1 16 2020-09-14 Hector Lopez <hector_i_lopez@apple.com> 2 17 -
trunk/LayoutTests/TestExpectations
r267018 r267057 4556 4556 webkit.org/b/215531 imported/w3c/web-platform-tests/css/css-backgrounds/background-size/vector/wide--contain--width.html [ ImageOnlyFailure ] 4557 4557 4558 # Cocoa-only 4559 http/tests/media/hls/hls-hdr-switch.html [ Skip ] -
trunk/LayoutTests/http/tests/media/resources/hls/test-live.php
r167828 r267057 11 11 12 12 $chunkDuration = 6.0272; 13 if (array_key_exists("duration", $_GET)) 14 $chunkDuration = floatval($_GET["duration"]); 15 13 16 $chunkCount = 4; 17 if (array_key_exists("count", $_GET)) 18 $chunkCount = intval($_GET["count"]); 19 20 $chunkURL = "test.ts"; 21 if (array_key_exists("url", $_GET)) 22 $chunkURL = $_GET["url"]; 14 23 15 24 function println($string) { return print($string . PHP_EOL); } … … 23 32 24 33 for ($i = 0; $i < $chunkCount; ++$i) { 25 $time += 6;34 $time += $chunkDuration; 26 35 println("#EXT-X-PROGRAM-DATE-TIME:" . gmdate("c", $time)); 27 36 println("#EXTINF:" . $chunkDuration . ","); 28 println( "test.ts");37 println($chunkURL); 29 38 } -
trunk/LayoutTests/platform/mac/TestExpectations
r267033 r267057 2209 2209 webkit.org/b/216492 imported/w3c/web-platform-tests/selection/extend-20.html [ Pass Timeout ] 2210 2210 webkit.org/b/216492 imported/w3c/web-platform-tests/selection/extend-00.html [ Pass Timeout ] 2211 2212 # This test requires API only availble on BigSur and later 2213 [ BigSur+ ] http/tests/media/hls/hls-hdr-switch.html [ Pass ] -
trunk/Source/WebCore/ChangeLog
r267054 r267057 1 2020-09-14 Jer Noble <jer.noble@apple.com> 2 3 [Cocoa,HDR] HLS streams with HDR variants will not select HDR. 4 https://bugs.webkit.org/show_bug.cgi?id=216203 5 <rdar://problem/67438626> 6 7 Reviewed by Darin Adler. 8 9 Test: http/tests/media/hls/hls-hdr-switch.html 10 11 In r264710, we adopted a new API to set the preferred HDR mode for every AVPlayer created by an HTMLMediaElement. The 12 MediaPlayerPrivateAVFoundationObjC object will query its parent when it creates an AVPlayer, or the MediaPlayer will 13 tell the MediaPlayerPrivate... that the HDR mode changes if the AVPlayer is already created. However, in r264710, we 14 neglected to cache the new value of the preferred HDR mode, so subsequent queries will just return "Standard". This means 15 HDR mode will correctly be applied if it changes after the AVPlayer has been created, but not initially. 16 17 * platform/graphics/MediaPlayer.cpp: 18 (WebCore::MediaPlayer::setPreferredDynamicRangeMode): 19 1 20 2020-09-14 Simon Fraser <simon.fraser@apple.com> 2 21 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r266844 r267057 6556 6556 m_player = MediaPlayer::create(*this); 6557 6557 m_player->setBufferingPolicy(m_bufferingPolicy); 6558 m_player->setPreferredDynamicRangeMode( preferredDynamicRangeMode(document().view()));6558 m_player->setPreferredDynamicRangeMode(m_overrideDynamicRangeMode.valueOr(preferredDynamicRangeMode(document().view()))); 6559 6559 m_player->setMuted(effectiveMuted()); 6560 6560 schedulePlaybackControlsManagerUpdate(); … … 6972 6972 void HTMLMediaElement::setPreferredDynamicRangeMode(DynamicRangeMode mode) 6973 6973 { 6974 if (m_player && !m_overrideDynamicRangeMode) 6975 m_player->setPreferredDynamicRangeMode(mode); 6976 } 6977 6978 void HTMLMediaElement::setOverridePreferredDynamicRangeMode(DynamicRangeMode mode) 6979 { 6980 m_overrideDynamicRangeMode = mode; 6974 6981 if (m_player) 6975 6982 m_player->setPreferredDynamicRangeMode(mode); -
trunk/Source/WebCore/html/HTMLMediaElement.h
r266728 r267057 578 578 String sourceApplicationIdentifier() const; 579 579 580 WEBCORE_EXPORT void setOverridePreferredDynamicRangeMode(DynamicRangeMode); 580 581 void setPreferredDynamicRangeMode(DynamicRangeMode); 581 582 … … 1148 1149 WeakPtr<const MediaResourceLoader> m_lastMediaResourceLoaderForTesting; 1149 1150 1151 Optional<DynamicRangeMode> m_overrideDynamicRangeMode; 1152 1150 1153 friend class TrackDisplayUpdateScope; 1151 1154 -
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp
r264710 r267057 1601 1601 void MediaPlayer::setPreferredDynamicRangeMode(DynamicRangeMode mode) 1602 1602 { 1603 m_preferredDynamicRangeMode = mode; 1603 1604 m_private->setPreferredDynamicRangeMode(mode); 1604 1605 } -
trunk/Source/WebCore/testing/Internals.cpp
r266832 r267057 3932 3932 return "UNKNOWN"; 3933 3933 } 3934 3935 ExceptionOr<void> Internals::setOverridePreferredDynamicRangeMode(HTMLMediaElement& element, const String& modeString) 3936 { 3937 DynamicRangeMode mode; 3938 if (modeString == "None") 3939 mode = DynamicRangeMode::None; 3940 else if (modeString == "Standard") 3941 mode = DynamicRangeMode::Standard; 3942 else if (modeString == "HLG") 3943 mode = DynamicRangeMode::HLG; 3944 else if (modeString == "HDR10") 3945 mode = DynamicRangeMode::HDR10; 3946 else if (modeString == "DolbyVisionPQ") 3947 mode = DynamicRangeMode::DolbyVisionPQ; 3948 else 3949 return Exception { SyntaxError }; 3950 3951 element.setOverridePreferredDynamicRangeMode(mode); 3952 return { }; 3953 } 3954 3934 3955 #endif 3935 3956 -
trunk/Source/WebCore/testing/Internals.h
r266832 r267057 624 624 String elementBufferingPolicy(HTMLMediaElement&); 625 625 double privatePlayerVolume(const HTMLMediaElement&); 626 ExceptionOr<void> setOverridePreferredDynamicRangeMode(HTMLMediaElement&, const String&); 626 627 #endif 627 628 -
trunk/Source/WebCore/testing/Internals.idl
r266832 r267057 661 661 [Conditional=VIDEO] DOMString elementBufferingPolicy(HTMLMediaElement media); 662 662 [Conditional=VIDEO] double privatePlayerVolume(HTMLMediaElement media); 663 [Conditional=VIDEO, MayThrowException] undefined setOverridePreferredDynamicRangeMode(HTMLMediaElement media, DOMString mode); 663 664 664 665 [MayThrowException] undefined setIsPlayingToBluetoothOverride(optional boolean? isPlaying = null);
Note: See TracChangeset
for help on using the changeset viewer.