Title: [210296] trunk/Source/WebCore
Revision
210296
Author
jer.no...@apple.com
Date
2017-01-04 15:46:27 -0800 (Wed, 04 Jan 2017)

Log Message

Check for the existence of AVSampleBufferDisplayLayer_Private.h in AVFoundationSPI.h
https://bugs.webkit.org/show_bug.cgi?id=166691

Reviewed by Eric Carlson.

Move the declaration of AVSampleBufferDisplayLayer SPI into AVFoundationSPI.h and key off the presence of the _Private.h header.

Drive-by Fix: also check for the presence of AVSampleBufferRenderSynchronizer.h before re-declaring AVSampleBufferRenderSynchronizer.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
* platform/spi/mac/AVFoundationSPI.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (210295 => 210296)


--- trunk/Source/WebCore/ChangeLog	2017-01-04 23:07:13 UTC (rev 210295)
+++ trunk/Source/WebCore/ChangeLog	2017-01-04 23:46:27 UTC (rev 210296)
@@ -1,3 +1,18 @@
+2017-01-04  Jer Noble  <jer.no...@apple.com>
+
+        Check for the existence of AVSampleBufferDisplayLayer_Private.h in AVFoundationSPI.h
+        https://bugs.webkit.org/show_bug.cgi?id=166691
+
+        Reviewed by Eric Carlson.
+
+        Move the declaration of AVSampleBufferDisplayLayer SPI into AVFoundationSPI.h and key off the presence of the _Private.h header.
+
+        Drive-by Fix: also check for the presence of AVSampleBufferRenderSynchronizer.h before re-declaring AVSampleBufferRenderSynchronizer.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+        * platform/spi/mac/AVFoundationSPI.h:
+
 2017-01-04  Nan Wang  <n_w...@apple.com>
 
         Many new HTML5 input types still exposed as generic AXTextfield

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm (210295 => 210296)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2017-01-04 23:07:13 UTC (rev 210295)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2017-01-04 23:46:27 UTC (rev 210296)
@@ -73,26 +73,6 @@
 #define AVAudioTimePitchAlgorithmVarispeed getAVAudioTimePitchAlgorithmVarispeed()
 
 #pragma mark -
-#pragma mark AVSampleBufferDisplayLayer
-
-@interface AVSampleBufferDisplayLayer : CALayer
-@end
-
-#pragma mark -
-#pragma mark AVVideoPerformanceMetrics
-
-@interface AVVideoPerformanceMetrics : NSObject
-- (unsigned long)totalNumberOfVideoFrames;
-- (unsigned long)numberOfDroppedVideoFrames;
-- (unsigned long)numberOfCorruptedVideoFrames;
-- (double)totalFrameDelay;
-@end
-
-@interface AVSampleBufferDisplayLayer (WebCoreAVSampleBufferDisplayLayerPrivate)
-- (AVVideoPerformanceMetrics *)videoPerformanceMetrics;
-@end
-
-#pragma mark -
 #pragma mark AVStreamSession
 
 @interface AVStreamSession : NSObject

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (210295 => 210296)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm	2017-01-04 23:07:13 UTC (rev 210295)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm	2017-01-04 23:46:27 UTC (rev 210296)
@@ -97,20 +97,6 @@
 @end
 
 #pragma mark -
-#pragma mark AVSampleBufferDisplayLayer
-
-@interface AVSampleBufferDisplayLayer : CALayer
-- (NSInteger)status;
-- (NSError*)error;
-- (void)enqueueSampleBuffer:(CMSampleBufferRef)sampleBuffer;
-- (void)flush;
-- (void)flushAndRemoveImage;
-- (BOOL)isReadyForMoreMediaData;
-- (void)requestMediaDataWhenReadyOnQueue:(dispatch_queue_t)queue usingBlock:(void (^)(void))block;
-- (void)stopRequestingMediaData;
-@end
-
-#pragma mark -
 #pragma mark WebAVStreamDataParserListener
 
 @interface WebAVStreamDataParserListener : NSObject<AVStreamDataParserOutputHandling> {

Modified: trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h (210295 => 210296)


--- trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h	2017-01-04 23:07:13 UTC (rev 210295)
+++ trunk/Source/WebCore/platform/spi/mac/AVFoundationSPI.h	2017-01-04 23:46:27 UTC (rev 210296)
@@ -163,8 +163,19 @@
 #import <CoreMedia/CMSampleBuffer.h>
 #import <CoreMedia/CMSync.h>
 
+#if __has_include(<AVFoundation/AVSampleBufferRenderSynchronizer.h>)
+#import <AVFoundation/AVSampleBufferRenderSynchronizer.h>
+
 NS_ASSUME_NONNULL_BEGIN
+@interface AVSampleBufferRenderSynchronizer (AVSampleBufferRenderSynchronizerPrivate)
+- (void)removeRenderer:(id)renderer atTime:(CMTime)time withCompletionHandler:(void (^)(BOOL didRemoveRenderer))completionHandler;
+@end
+NS_ASSUME_NONNULL_END
 
+#else
+
+NS_ASSUME_NONNULL_BEGIN
+
 @interface AVSampleBufferRenderSynchronizer : NSObject
 - (CMTimebaseRef)timebase;
 - (float)rate;
@@ -180,6 +191,8 @@
 
 NS_ASSUME_NONNULL_END
 
+#endif // __has_include(<AVFoundation/AVSampleBufferRenderSynchronizer.h>)
+
 #if __has_include(<AVFoundation/AVSampleBufferAudioRenderer.h>)
 #import <AVFoundation/AVSampleBufferAudioRenderer.h>
 #else
@@ -202,3 +215,30 @@
 NS_ASSUME_NONNULL_END
 
 #endif // __has_include(<AVFoundation/AVSampleBufferAudioRenderer.h>)
+
+#if __has_include(<AVFoundation/AVSampleBufferDisplayLayer_Private.h>)
+#import <AVFoundation/AVSampleBufferDisplayLayer_Private.h>
+#else
+
+#import <AVFoundation/AVSampleBufferDisplayLayer.h>
+
+#pragma mark -
+#pragma mark AVVideoPerformanceMetrics
+
+@interface AVVideoPerformanceMetrics : NSObject
+- (unsigned long)totalNumberOfVideoFrames;
+- (unsigned long)numberOfDroppedVideoFrames;
+- (unsigned long)numberOfCorruptedVideoFrames;
+- (double)totalFrameDelay;
+@end
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AVSampleBufferDisplayLayer (WebCoreAVSampleBufferDisplayLayerPrivate)
+- (AVVideoPerformanceMetrics *)videoPerformanceMetrics;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // __has_include(<AVFoundation/AVSampleBufferDisplayLayer_Private.h>)
+
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to