/* Codec params */
void *context;
- int i_codec_flavor;
+ short int i_codec_flavor;
void *dll;
unsigned long (*raCloseCodec)(void*);
switch( p_dec->fmt_in.i_codec )
{
case VLC_FOURCC('c','o','o','k'):
+ case VLC_FOURCC('a','t','r','c'):
+ case VLC_FOURCC('s','i','p','r'):
break;
default:
p_sys->i_codec_flavor = 0;
else
p_sys->i_codec_flavor = 2;
+ msg_Dbg( p_dec, "Got sipr flavor %d from bitrate %d\n",
+ p_sys->i_codec_flavor, p_dec->fmt_in.audio.i_bitspersample );
}
if( OpenDll( p_dec ) != VLC_SUCCESS )
char *psz_dll;
int i, i_result;
+ /** Find the good path for the dlls.**/
char *ppsz_path[] =
{
".",
#ifdef WIN32
char psz_win32_real_codecs[MAX_PATH + 1];
char psz_win32_helix_codecs[MAX_PATH + 1];
-#endif
-
- 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;
-
- /* 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;
- }
-
-#ifdef WIN32
{
HKEY h_key;
DWORD i_type, i_data = MAX_PATH + 1, i_index = 1;
}
#endif
+
+ /** Try the native libraries first **/
+#ifndef WIN32
+ 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;
+
+ /* 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;
+
+ }
+#endif
+
+ /** Or use the WIN32 dlls **/
+#if defined(LOADER) || defined(WIN32)
for( i = 0; ppsz_path[i]; i++ )
{
/* New format */
free( psz_dll );
if( i_result == VLC_SUCCESS ) return VLC_SUCCESS;
}
+#endif
return VLC_EGENERIC;
}