[vlc-devel] commit: DShow: fix configure dialog probe (Jean-Baptiste Kempf )
git version control
git at videolan.org
Wed Jun 10 14:58:42 CEST 2009
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed Jun 10 03:04:09 2009 +0200| [1970069348059b694319a1fa600d74b77b2ada25] | committer: Jean-Baptiste Kempf
DShow: fix configure dialog probe
(cherry picked from commit a6110fb1d253146810bbe5f9b5ba0097b72b4e3c)
(cherry picked from commit b24fc9a9680a2e62d1a3f660a7c20f5c9ba5cdb2)
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1970069348059b694319a1fa600d74b77b2ada25
---
modules/access/dshow/dshow.cpp | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/modules/access/dshow/dshow.cpp b/modules/access/dshow/dshow.cpp
index 79c77f6..bcf8c31 100644
--- a/modules/access/dshow/dshow.cpp
+++ b/modules/access/dshow/dshow.cpp
@@ -2001,20 +2001,25 @@ static int ConfigDevicesCallback( vlc_object_t *p_this, char const *psz_name,
{
module_config_t *p_item;
bool b_audio = false;
+ char *psz_device = NULL;
+
+ if( !EMPTY_STR( newval.psz_string ) )
+ psz_device = strdup( newval.psz_string );
/* Initialize OLE/COM */
CoInitialize( 0 );
p_item = config_FindConfig( p_this, psz_name );
+
if( !p_item ) return VLC_SUCCESS;
if( !strcmp( psz_name, "dshow-adev" ) ) b_audio = true;
string devicename;
- if( newval.psz_string && *newval.psz_string )
+ if( psz_device )
{
- devicename = newval.psz_string;
+ devicename = psz_device ;
}
else
{
@@ -2040,12 +2045,14 @@ static int ConfigDevicesCallback( vlc_object_t *p_this, char const *psz_name,
CoUninitialize();
msg_Err( p_this, "didn't find device: %s", devicename.c_str() );
+ free( psz_device );
return VLC_EGENERIC;
}
/* Uninitialize OLE/COM */
CoUninitialize();
+ free( psz_device );
return VLC_SUCCESS;
}
More information about the vlc-devel
mailing list