[vlc-devel] commit: DirectSound: cosmetics and error path fix (Jean-Baptiste Kempf )
git version control
git at videolan.org
Tue Dec 29 16:07:25 CET 2009
vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue Dec 29 15:45:48 2009 +0100| [31e8f235bd57af58c68ebcd51c4e987e6453186a] | committer: Jean-Baptiste Kempf
DirectSound: cosmetics and error path fix
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=31e8f235bd57af58c68ebcd51c4e987e6453186a
---
modules/audio_output/directx.c | 32 +++++++++++++++++++-------------
1 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/modules/audio_output/directx.c b/modules/audio_output/directx.c
index 3a8100e..3eff7a2 100644
--- a/modules/audio_output/directx.c
+++ b/modules/audio_output/directx.c
@@ -17,8 +17,8 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * along with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
/*****************************************************************************
@@ -580,7 +580,6 @@ static void Play( aout_instance_t *p_aout )
if( !p_aout->output.p_sys->b_playing )
{
aout_buffer_t *p_buffer;
- int i;
p_aout->output.p_sys->b_playing = 1;
@@ -589,7 +588,7 @@ static void Play( aout_instance_t *p_aout )
aout_FifoFirstDate( p_aout, &p_aout->output.fifo );
/* fill in the first samples */
- for( i = 0; i < FRAMES_NUM; i++ )
+ for( int i = 0; i < FRAMES_NUM; i++ )
{
p_buffer = aout_FifoPop( p_aout, &p_aout->output.fifo );
if( !p_buffer ) break;
@@ -649,7 +648,8 @@ static int CALLBACK CallBackDirectSoundEnum( LPGUID p_guid, LPCWSTR psz_desc,
char *psz_device = FromWide( psz_desc );
msg_Dbg( p_aout, "found device: %s", psz_device );
- if( p_aout->output.p_sys->psz_device && !strcmp(p_aout->output.p_sys->psz_device, psz_device) && p_guid )
+ if( p_aout->output.p_sys->psz_device &&
+ !strcmp(p_aout->output.p_sys->psz_device, psz_device) && p_guid )
{
/* Use the device corresponding to psz_device */
p_aout->output.p_sys->p_device_guid = malloc( sizeof( GUID ) );
@@ -669,7 +669,7 @@ static int CALLBACK CallBackDirectSoundEnum( LPGUID p_guid, LPCWSTR psz_desc,
}
free( psz_device );
- return 1;
+ return true;
}
/*****************************************************************************
@@ -1132,7 +1132,7 @@ static int CALLBACK CallBackConfigNBEnum( LPGUID p_guid, LPCWSTR psz_desc,
int * a = (int *)p_nb;
(*a)++;
- return 1;
+ return true;
}
/*****************************************************************************
@@ -1147,8 +1147,8 @@ static int CALLBACK CallBackConfigEnum( LPGUID p_guid, LPCWSTR psz_desc,
p_item->ppsz_list[p_item->i_list] = FromWide( psz_desc );
p_item->ppsz_list_text[p_item->i_list] = FromWide( psz_desc );
- p_item->i_list = p_item->i_list +1;
- return 1;
+ p_item->i_list++;
+ return true;
}
/*****************************************************************************
@@ -1178,28 +1178,34 @@ static int ReloadDirectXDevices( vlc_object_t *p_this, char const *psz_name,
if( hdsound_dll == NULL )
{
msg_Warn( p_this, "cannot open DSOUND.DLL" );
+ return VLC_SUCCESS;
}
/* Get DirectSoundEnumerate */
OurDirectSoundEnumerate = (void *)
GetProcAddress( hdsound_dll, "DirectSoundEnumerateW" );
+
+ if( OurDirectSoundEnumerate == NULL )
+ goto error;
+
int nb_devices = 0;
OurDirectSoundEnumerate(CallBackConfigNBEnum, &nb_devices);
msg_Dbg(p_this,"found %d devices", nb_devices);
p_item->ppsz_list = xrealloc( p_item->ppsz_list,
- nb_devices * sizeof(char *) );
+ nb_devices * sizeof(char *) );
p_item->ppsz_list_text = xrealloc( p_item->ppsz_list_text,
- nb_devices * sizeof(char *) );
+ nb_devices * sizeof(char *) );
p_item->i_list = 0;
OurDirectSoundEnumerate(CallBackConfigEnum, p_item);
- FreeLibrary(hdsound_dll);
-
/* Signal change to the interface */
p_item->b_dirty = true;
+error:
+ FreeLibrary(hdsound_dll);
+
return VLC_SUCCESS;
}
More information about the vlc-devel
mailing list