]> git.sesse.net Git - vlc/commitdiff
DShow: small fixes on error paths
authorJean-Baptiste Kempf <jb@videolan.org>
Mon, 9 Aug 2010 17:55:34 +0000 (19:55 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 9 Aug 2010 18:32:31 +0000 (20:32 +0200)
modules/access/dshow/common.h
modules/access/dshow/dshow.cpp

index b08b1a8a3a0bcc25873a8732ccc3853243afa401..573db27a3de883a63ff7a2358a2f930747cb3ecd 100644 (file)
@@ -105,7 +105,7 @@ struct access_sys_t
 /*****************************************************************************
  * DirectShow GUIDs.
  *****************************************************************************/
-const GUID PROPSETID_TUNER = {0x6a2e0605, 0x28e4, 0x11d0, {0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56}};
+static const GUID PROPSETID_TUNER = {0x6a2e0605, 0x28e4, 0x11d0, {0xa1, 0x8c, 0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56}};
 
 /****************************************************************************
  * The following should be in ks.h and ksmedia.h, but since they are not in
index 6b0d67ce43dd3184ab256739457b1397e4dd3d2b..b61769ef5a1d46be691ed80c037f4e07ce6951b9 100644 (file)
@@ -2326,6 +2326,7 @@ static void ConfigTuner( vlc_object_t *p_this, ICaptureGraphBuilder2 *p_graph,
         if (FAILED(hr))
         {
             msg_Dbg( p_this, "Couldn't QI for IKsPropertySet" );
+            p_TV->Release();
             return;
         }
 
@@ -2349,7 +2350,7 @@ static void ConfigTuner( vlc_object_t *p_this, ICaptureGraphBuilder2 *p_graph,
         else
         {
             msg_Dbg( p_this, "KSPROPERTY_TUNER_MODE_CAPS not supported!" );
-            return;
+            goto free_on_error;
         }
 
         msg_Dbg( p_this, "Frequency range supproted from %d to %d.", ModeCaps.MinFrequency, ModeCaps.MaxFrequency);
@@ -2378,13 +2379,13 @@ static void ConfigTuner( vlc_object_t *p_this, ICaptureGraphBuilder2 *p_graph,
                 if(FAILED(hr))
                 {
                     msg_Dbg( p_this, "Couldn't set KSPROPERTY_TUNER_FREQUENCY!" );
-                    return;
+                    goto free_on_error;
                 }
             }
             else
             {
                 msg_Dbg( p_this, "Requested frequency exceeds the supported range!" );
-                return;
+                goto free_on_error;
             }
         }
 
@@ -2401,15 +2402,16 @@ static void ConfigTuner( vlc_object_t *p_this, ICaptureGraphBuilder2 *p_graph,
                 if(FAILED(hr))
                 {
                     msg_Dbg( p_this, "Couldn't set KSPROPERTY_TUNER_STANDARD!" );
-                    return;
+                    goto free_on_error;
                 }
             }
             else
             {
                 msg_Dbg( p_this, "Requested video standard is not supported by the tuner!" );
-                return;
+                goto free_on_error;
             }
         }
+free_on_error:
         pKs->Release();
     }