Title: [281193] trunk/Source/WebCore
- Revision
- 281193
- Author
- [email protected]
- Date
- 2021-08-18 09:50:30 -0700 (Wed, 18 Aug 2021)
Log Message
REGRESSION(r280723): Protected HLS + EME playback fails with "temporary error"
https://bugs.webkit.org/show_bug.cgi?id=229201
<rdar://81807216>
Reviewed by Eric Carlson.
In r280723, we stopped unconditionally creating an AVPlayerLayer when we create an AVPlayer. However,
we will still create an AVPlayerItemVideoOutput when we create an AVPlayerItem. This leaves our
AVPlayer in a state where AVFoundation will throw a "temporary error; try again later" when given
an otherwise valid protected HLS stream and key data through EME.
To work around this behavior, delay creating the AVPlayerItemVideoOutput until explicitly told to
create video renderers, typically simultaneous to creating an AVPlayerLayer.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (281192 => 281193)
--- trunk/Source/WebCore/ChangeLog 2021-08-18 16:46:34 UTC (rev 281192)
+++ trunk/Source/WebCore/ChangeLog 2021-08-18 16:50:30 UTC (rev 281193)
@@ -1,3 +1,22 @@
+2021-08-18 Jer Noble <[email protected]>
+
+ REGRESSION(r280723): Protected HLS + EME playback fails with "temporary error"
+ https://bugs.webkit.org/show_bug.cgi?id=229201
+ <rdar://81807216>
+
+ Reviewed by Eric Carlson.
+
+ In r280723, we stopped unconditionally creating an AVPlayerLayer when we create an AVPlayer. However,
+ we will still create an AVPlayerItemVideoOutput when we create an AVPlayerItem. This leaves our
+ AVPlayer in a state where AVFoundation will throw a "temporary error; try again later" when given
+ an otherwise valid protected HLS stream and key data through EME.
+
+ To work around this behavior, delay creating the AVPlayerItemVideoOutput until explicitly told to
+ create video renderers, typically simultaneous to creating an AVPlayerLayer.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
+
2021-08-18 Martin Robinson <[email protected]>
[css-scroll-snap] Don't snap to offscreen snap areas in unidirectional scrolls
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (281192 => 281193)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2021-08-18 16:46:34 UTC (rev 281192)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2021-08-18 16:50:30 UTC (rev 281193)
@@ -1160,8 +1160,6 @@
}
#endif
- createVideoOutput();
-
m_metadataCollector = adoptNS([PAL::allocAVPlayerItemMetadataCollectorInstance() initWithIdentifiers:nil classifyingLabels:nil]);
[m_metadataCollector.get() setDelegate:m_objcObserver.get() queue:dispatch_get_main_queue()];
[m_avPlayerItem.get() addMediaDataCollector:m_metadataCollector.get()];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes