vlc | branch: master | Michael Feurstein <michael.feurst...@gmail.com> | Thu 
Mar 15 13:27:32 2012 +0100| [ce66ed5df0bdca6132c2dc8cc16ee373037cb82d] | 
committer: Felix Paul Kühne

qtsound: fixes bug if no device is connected

Signed-off-by: Felix Paul Kühne <fkue...@videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ce66ed5df0bdca6132c2dc8cc16ee373037cb82d
---

 modules/gui/macosx/open.m |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/modules/gui/macosx/open.m b/modules/gui/macosx/open.m
index cf5c0db..0fc311f 100644
--- a/modules/gui/macosx/open.m
+++ b/modules/gui/macosx/open.m
@@ -227,7 +227,7 @@ static VLCOpen *_o_sharedMainInstance = nil;
     [self qtkvideoDevices];
     [o_qtk_device_pop removeAllItems];
     msg_Dbg( VLCIntf, "Found %lu video capture devices", [qtkvideoDevices 
count] );
-    
+
     if([qtkvideoDevices count] >= 1)
     {
         if (!qtk_currdevice_uid) {
@@ -322,6 +322,7 @@ static VLCOpen *_o_sharedMainInstance = nil;
     [[sharedWorkspace notificationCenter] addObserver:self 
selector:@selector(scanOpticalMedia:) name:NSWorkspaceDidUnmountNotification 
object:nil];
     [self performSelector:@selector(scanOpticalMedia:) withObject:nil 
afterDelay:2.0];
     [self performSelector:@selector(qtkChanged:) withObject:nil 
afterDelay:2.5];
+    [self performSelector:@selector(qtkAudioChanged:) withObject:nil 
afterDelay:3.0];
 
     [self setMRL: @""];
 }
@@ -517,21 +518,27 @@ static VLCOpen *_o_sharedMainInstance = nil;
 - (IBAction)qtkChanged:(id)sender
 {
     NSInteger i_selectedDevice = [o_qtk_device_pop indexOfSelectedItem];
-    NSValue *sizes = [[[[qtkvideoDevices objectAtIndex:i_selectedDevice] 
formatDescriptions] objectAtIndex: 0] attributeForKey: 
QTFormatDescriptionVideoEncodedPixelsSizeAttribute];
-
-    [o_capture_width_fld setIntValue: [sizes sizeValue].width];
-    [o_capture_height_fld setIntValue: [sizes sizeValue].height];
-    [o_capture_width_stp setIntValue: [o_capture_width_fld intValue]];
-    [o_capture_height_stp setIntValue: [o_capture_height_fld intValue]];
-    qtk_currdevice_uid = [[(QTCaptureDevice *)[qtkvideoDevices 
objectAtIndex:i_selectedDevice] uniqueID] 
stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
-    [self setMRL:[NSString stringWithFormat:@"qtcapture://%@", 
qtk_currdevice_uid]];
+    if( [qtkvideoDevices count] >= 1 )
+    {
+        NSValue *sizes = [[[[qtkvideoDevices objectAtIndex:i_selectedDevice] 
formatDescriptions] objectAtIndex: 0] attributeForKey: 
QTFormatDescriptionVideoEncodedPixelsSizeAttribute];
+
+        [o_capture_width_fld setIntValue: [sizes sizeValue].width];
+        [o_capture_height_fld setIntValue: [sizes sizeValue].height];
+        [o_capture_width_stp setIntValue: [o_capture_width_fld intValue]];
+        [o_capture_height_stp setIntValue: [o_capture_height_fld intValue]];
+        qtk_currdevice_uid = [[(QTCaptureDevice *)[qtkvideoDevices 
objectAtIndex:i_selectedDevice] uniqueID] 
stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
+        [self setMRL:[NSString stringWithFormat:@"qtcapture://%@", 
qtk_currdevice_uid]];
+    }
 }
 
 - (IBAction)qtkAudioChanged:(id)sender
 {
     NSInteger i_selectedDevice = [o_qtkaudio_device_pop indexOfSelectedItem];
-    qtkaudio_currdevice_uid = [[(QTCaptureDevice *)[qtkaudioDevices 
objectAtIndex:i_selectedDevice] uniqueID] 
stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
-    [self setMRL:[NSString stringWithFormat:@"qtsound://%@", 
qtkaudio_currdevice_uid]];
+    if( [qtkaudioDevices count] >= 1 )
+    {
+        qtkaudio_currdevice_uid = [[(QTCaptureDevice *)[qtkaudioDevices 
objectAtIndex:i_selectedDevice] uniqueID] 
stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
+        [self setMRL:[NSString stringWithFormat:@"qtsound://%@", 
qtkaudio_currdevice_uid]];
+    }
 }
 
 - (void)tabView:(NSTabView *)o_tv didSelectTabViewItem:(NSTabViewItem *)o_tvi
@@ -1485,7 +1492,7 @@ static VLCOpen *_o_sharedMainInstance = nil;
 - (IBAction)subFileBrowse:(id)sender
 {
     NSOpenPanel *o_open_panel = [NSOpenPanel openPanel];
- 
+
     [o_open_panel setAllowsMultipleSelection: NO];
     [o_open_panel setTitle: _NS("Open File")];
     [o_open_panel setPrompt: _NS("Open")];

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to