]> git.sesse.net Git - vlc/blobdiff - modules/audio_output/waveout.c
Move ppsz_input_state[] to modules/control/rc.c because it is the only user of this...
[vlc] / modules / audio_output / waveout.c
index f6b7382e4b70bcc6948e351d817c218a21f3cba0..b7c7d1f155199e58f6be0da97d699fa15a5b1995 100644 (file)
@@ -276,7 +276,7 @@ static int Open( vlc_object_t *p_this )
                          "use default instead", psz_waveout_dev );
        }
     }
-    if(psz_waveout_dev) free( psz_waveout_dev );
+    free( psz_waveout_dev );
 
 
     WAVEOUTCAPS waveoutcaps;
@@ -1193,11 +1193,11 @@ static int ReloadWaveoutDevices( vlc_object_t *p_this, char const *psz_name,
         if(waveOutGetDevCaps(i, &caps, sizeof(WAVEOUTCAPS))
            == MMSYSERR_NOERROR)
         {
-          sprintf(sz_dev_name,psz_device_name_fmt,caps.szPname,
+          sprintf( sz_dev_name, psz_device_name_fmt, caps.szPname,
                                                caps.wMid,
                                                caps.wPid
                                               );
-          p_item->ppsz_list[j] = strdup( sz_dev_name );
+          p_item->ppsz_list[j] = FromLocaleDup( sz_dev_name );
           p_item->ppsz_list_text[j] = FromLocaleDup( sz_dev_name );
           p_item->i_list++;
           j++;
@@ -1216,7 +1216,7 @@ static int ReloadWaveoutDevices( vlc_object_t *p_this, char const *psz_name,
 /*
   convert devicename to device ID for output
   if device not found return WAVE_MAPPER, so let
-  windows decide which prefered audio device
+  windows decide which preferred audio device
   should be used.
 */
 static uint32_t findDeviceID(char *psz_device_name)
@@ -1232,12 +1232,18 @@ static uint32_t findDeviceID(char *psz_device_name)
         if(waveOutGetDevCaps(i, &caps, sizeof(WAVEOUTCAPS))
            == MMSYSERR_NOERROR)
         {
-            sprintf(sz_dev_name,psz_device_name_fmt,caps.szPname,
+            sprintf(sz_dev_name, psz_device_name_fmt, caps.szPname,
                                                caps.wMid,
                                                caps.wPid
                                               );
-            if(!stricmp(sz_dev_name,psz_device_name))
-               return i;
+            char *psz_temp = FromLocaleDup(sz_dev_name);
+
+            if( !stricmp(psz_temp, psz_device_name) )
+            {
+                LocaleFree( psz_temp );
+                return i;
+            }
+            LocaleFree( psz_temp );
         }
     }