# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
#include <vlc_aout.h>
#include <vlc_codec.h>
static int Open ( vlc_object_t * );
static void Close( vlc_object_t * );
-vlc_module_begin();
- set_description( _("RealAudio library decoder") );
- set_capability( "decoder", 10 );
- set_category( CAT_INPUT );
- set_subcategory( SUBCAT_INPUT_VCODEC );
- set_callbacks( Open, Close );
-vlc_module_end();
+vlc_module_begin ()
+ set_description( N_("RealAudio library decoder") )
+ set_capability( "decoder", 10 )
+ set_category( CAT_INPUT )
+ set_subcategory( SUBCAT_INPUT_VCODEC )
+ set_callbacks( Open, Close )
+vlc_module_end ()
/*****************************************************************************
* Local prototypes
void *__builtin_new(unsigned long size) {return malloc(size);}
void __builtin_delete(void *p) {free(p);}
-static int pi_channels_maps[7] =
+static const int pi_channels_maps[7] =
{
0,
AOUT_CHAN_CENTER,
}
p_dec->p_sys = p_sys = malloc( sizeof( decoder_sys_t ) );
+ if( !p_sys )
+ return VLC_ENOMEM;
memset( p_sys, 0, sizeof(decoder_sys_t) );
/* Flavor for SIPR codecs */
p_dec->pf_decode_audio = Decode;
p_sys->p_out = malloc( 4096 * 10 );
+ if( !p_sys->p_out )
+ {
+ free( p_sys );
+ return VLC_ENOMEM;
+ }
p_sys->i_out = 0;
return VLC_SUCCESS;
decoder_t *p_dec = (decoder_t*)p_this;
CloseDll( p_dec );
- if( p_dec->p_sys->p_out ) free( p_dec->p_sys->p_out );
+ free( p_dec->p_sys->p_out );
free( p_dec->p_sys );
}
for( i = 0; ppsz_path[i]; i++ )
{
/* Old format */
- asprintf( &psz_dll, "%s/%4.4s.so.6.0", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ if( asprintf( &psz_dll, "%s/%4.4s.so.6.0", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
/* New format */
- asprintf( &psz_dll, "%s/%4.4s.so", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
-
+ if( asprintf( &psz_dll, "%s/%4.4s.so", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenNativeDll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
}
#endif
for( i = 0; ppsz_path[i]; i++ )
{
/* New format */
- asprintf( &psz_dll, "%s\\%4.4s.dll", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ if( asprintf( &psz_dll, "%s\\%4.4s.dll", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
/* Old format */
- asprintf( &psz_dll, "%s\\%4.4s3260.dll", ppsz_path[i],
- (char *)&p_dec->fmt_in.i_codec );
- i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
- free( psz_dll );
- if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ if( asprintf( &psz_dll, "%s\\%4.4s3260.dll", ppsz_path[i],
+ (char *)&p_dec->fmt_in.i_codec ) != -1 )
+ {
+ i_result = OpenWin32Dll( p_dec, ppsz_path[i], psz_dll );
+ free( psz_dll );
+ if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
+ }
}
#endif
if( OpenDll( p_dec ) != VLC_SUCCESS )
{
/* Fatal */
- p_dec->b_error = VLC_TRUE;
+ p_dec->b_error = true;
return NULL;
}
}
p_dec->fmt_out.audio.i_bitspersample /p_dec->fmt_out.audio.i_channels;
p_aout_buffer =
- p_dec->pf_aout_buffer_new( p_dec, i_samples );
+ decoder_NewAudioBuffer( p_dec, i_samples );
if( p_aout_buffer )
{
memcpy( p_aout_buffer->p_buffer, p_sys->p_out, p_sys->i_out );