Title: [152204] trunk/Source/WebCore
- Revision
- 152204
- Author
- [email protected]
- Date
- 2013-06-28 19:55:52 -0700 (Fri, 28 Jun 2013)
Log Message
[Mac] adopt new AVFoundation caption API
https://bugs.webkit.org/show_bug.cgi?id=118207
Reviewed by Dean Jackson.
No new tests, I was not able to come up with a reliable layout test.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues): New, call currentTrack->resetCueValues().
(-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]): New delegate method.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (152203 => 152204)
--- trunk/Source/WebCore/ChangeLog 2013-06-29 02:41:54 UTC (rev 152203)
+++ trunk/Source/WebCore/ChangeLog 2013-06-29 02:55:52 UTC (rev 152204)
@@ -1,3 +1,17 @@
+2013-06-28 Eric Carlson <[email protected]>
+
+ [Mac] adopt new AVFoundation caption API
+ https://bugs.webkit.org/show_bug.cgi?id=118207
+
+ Reviewed by Dean Jackson.
+
+ No new tests, I was not able to come up with a reliable layout test.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues): New, call currentTrack->resetCueValues().
+ (-[WebCoreAVFMovieObserver outputSequenceWasFlushed:]): New delegate method.
+
2013-06-28 Kangil Han <[email protected]>
Adopt is/toHTMLImageElement for code cleanup
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h (152203 => 152204)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h 2013-06-29 02:41:54 UTC (rev 152203)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h 2013-06-29 02:55:52 UTC (rev 152204)
@@ -71,6 +71,7 @@
#if HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP)
RetainPtr<AVPlayerItem> playerItem() const { return m_avPlayerItem; }
void processCue(NSArray *, double);
+ void flushCues();
#endif
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (152203 => 152204)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2013-06-29 02:41:54 UTC (rev 152203)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2013-06-29 02:55:52 UTC (rev 152204)
@@ -165,6 +165,7 @@
-(void)observeValueForKeyPath:keyPath ofObject:(id)object change:(NSDictionary *)change context:(MediaPlayerAVFoundationObservationContext)context;
#if HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP)
- (void)legibleOutput:(id)output didOutputAttributedStrings:(NSArray *)strings nativeSampleBuffers:(NSArray *)nativeSamples forItemTime:(CMTime)itemTime;
+- (void)outputSequenceWasFlushed:(id)output;
#endif
@end
@@ -1456,6 +1457,16 @@
m_currentTrack->processCue(reinterpret_cast<CFArrayRef>(attributedStrings), time);
}
+
+void MediaPlayerPrivateAVFoundationObjC::flushCues()
+{
+ LOG(Media, "MediaPlayerPrivateAVFoundationObjC::flushCues(%p)", this);
+
+ if (!m_currentTrack)
+ return;
+
+ m_currentTrack->resetCueValues();
+}
#endif // HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP)
void MediaPlayerPrivateAVFoundationObjC::setCurrentTrack(InbandTextTrackPrivateAVF *track)
@@ -1671,6 +1682,20 @@
m_callback->processCue(strings, CMTimeGetSeconds(itemTime));
});
}
+
+- (void)outputSequenceWasFlushed:(id)output
+{
+ UNUSED_PARAM(output);
+
+ if (!m_callback)
+ return;
+
+ dispatch_async(dispatch_get_main_queue(), ^{
+ if (!m_callback)
+ return;
+ m_callback->flushCues();
+ });
+}
#endif
@end
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes