From 70c84b352b1145cb307bf77ac36cf570ce00a5e6 Mon Sep 17 00:00:00 2001 From: Alexandre Lision <alexandre.lision@savoirfairelinux.com> Date: Tue, 8 Dec 2015 14:16:44 -0500 Subject: [PATCH] video: verify AVDevice type This commit adds type verification when an AVCaptureDevice is added. The notification that a new device got connected, is received for both video and audio devices. Change-Id: Id48fb4182589234df164ab6337fb5d4863987a15 Tuleap: #149 --- src/media/video/osxvideo/video_device_monitor_impl.mm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/media/video/osxvideo/video_device_monitor_impl.mm b/src/media/video/osxvideo/video_device_monitor_impl.mm index d67d1bbb3b..0cbd9af06c 100644 --- a/src/media/video/osxvideo/video_device_monitor_impl.mm +++ b/src/media/video/osxvideo/video_device_monitor_impl.mm @@ -98,15 +98,17 @@ void VideoDeviceMonitorImpl::start() object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) { - AVCaptureDevice* dev = (AVCaptureDevice*)note.object; - monitor_->addDevice([[dev uniqueID] UTF8String]); + auto dev = (AVCaptureDevice*)note.object; + if([dev hasMediaType:AVMediaTypeVideo]) + monitor_->addDevice([[dev uniqueID] UTF8String]); }]; id deviceWasDisconnectedObserver = [notificationCenter addObserverForName:AVCaptureDeviceWasDisconnectedNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) { - AVCaptureDevice* dev = (AVCaptureDevice*)note.object; - monitor_->removeDevice([[dev uniqueID] UTF8String]); + auto dev = (AVCaptureDevice*)note.object; + if([dev hasMediaType:AVMediaTypeVideo]) + monitor_->removeDevice([[dev uniqueID] UTF8String]); }]; observers = [[NSArray alloc] initWithObjects:deviceWasConnectedObserver, deviceWasDisconnectedObserver, nil]; } -- GitLab