avfoundation: Fix building on iOS
authorMartin Storsjö <martin@martin.st>
Thu, 30 Apr 2020 10:34:13 +0000 (13:34 +0300)
committerThilo Borgmann <thilo.borgmann@mail.de>
Thu, 30 Apr 2020 12:21:47 +0000 (14:21 +0200)
Apparently the changes from 3c9185bf3a83395d12a987f626dbdb985eac4320
aren't enough; even with that in place, I got errors like this
when trying to build for iOS:

src/libavdevice/avfoundation.m:135:5: error:
      'AVCaptureDeviceTransportControlsPlaybackMode' is unavailable: not
      available on iOS
    AVCaptureDeviceTransportControlsPlaybackMode observed_mode;
    ^

libavdevice/avfoundation.m

index 0b18886..59d5b0a 100644 (file)
@@ -132,7 +132,9 @@ typedef struct
     CMSampleBufferRef         current_audio_frame;
 
     AVCaptureDevice          *observed_device;
+#if !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
     AVCaptureDeviceTransportControlsPlaybackMode observed_mode;
+#endif
     int                      observed_quit;
 } AVFContext;
 
@@ -200,6 +202,7 @@ static void unlock_frames(AVFContext* ctx)
                         change:(NSDictionary *)change
                        context:(void *)context {
     if (context == _context) {
+#if !TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
         AVCaptureDeviceTransportControlsPlaybackMode mode =
             [change[NSKeyValueChangeNewKey] integerValue];
 
@@ -209,6 +212,7 @@ static void unlock_frames(AVFContext* ctx)
             }
             _context->observed_mode = mode;
         }
+#endif
     } else {
         [super observeValueForKeyPath: keyPath
                              ofObject: object