[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