From d475b82a023d7016dba778ea1110999c8c953277 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Mon, 9 Aug 2010 19:55:34 +0200 Subject: [PATCH] DShow: small fixes on error paths --- modules/access/dshow/common.h | 2 +- modules/access/dshow/dshow.cpp | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/access/dshow/common.h b/modules/access/dshow/common.h index b08b1a8a3a..573db27a3d 100644 --- a/modules/access/dshow/common.h +++ b/modules/access/dshow/common.h @@ -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 diff --git a/modules/access/dshow/dshow.cpp b/modules/access/dshow/dshow.cpp index 6b0d67ce43..b61769ef5a 100644 --- a/modules/access/dshow/dshow.cpp +++ b/modules/access/dshow/dshow.cpp @@ -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(); } -- 2.39.2