Commit 3f3c092f authored by Laurent Aimar's avatar Laurent Aimar

* fix a bug while passing informations to audio decoder(wma in

asf should work).
parent 7280348e
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* asf.c : ASFv01 file input module for vlc * asf.c : ASFv01 file input module for vlc
***************************************************************************** *****************************************************************************
* Copyright (C) 2001 VideoLAN * Copyright (C) 2001 VideoLAN
* $Id: asf.c,v 1.2 2002/10/21 09:18:37 fenrir Exp $ * $Id: asf.c,v 1.3 2002/10/28 11:49:57 fenrir Exp $
* Authors: Laurent Aimar <fenrir@via.ecp.fr> * Authors: Laurent Aimar <fenrir@via.ecp.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
...@@ -189,13 +189,7 @@ static int Activate( vlc_object_t * p_this ) ...@@ -189,13 +189,7 @@ static int Activate( vlc_object_t * p_this )
input_AddES( p_input, input_AddES( p_input,
p_input->stream.p_selected_program, p_input->stream.p_selected_program,
p_sp->i_stream_number, p_sp->i_stream_number,
p_sp->i_type_specific_data_length ); 0 );
if( p_sp->i_type_specific_data_length > 11 )
{
memcpy( p_stream->p_es->p_demux_data,
p_sp->p_type_specific_data + 11,
p_sp->i_type_specific_data_length - 11 );
}
vlc_mutex_unlock( &p_input->stream.stream_lock ); vlc_mutex_unlock( &p_input->stream.stream_lock );
if( CmpGUID( &p_sp->i_stream_type, &asf_object_stream_type_audio ) ) if( CmpGUID( &p_sp->i_stream_type, &asf_object_stream_type_audio ) )
...@@ -231,14 +225,25 @@ static int Activate( vlc_object_t * p_this ) ...@@ -231,14 +225,25 @@ static int Activate( vlc_object_t * p_this )
VLC_FOURCC( 'a','5','2',' ' ); VLC_FOURCC( 'a','5','2',' ' );
break; break;
case( 0x160 ): case( 0x160 ):
p_stream->p_es->i_fourcc =
VLC_FOURCC( 'w','m','a','1' );
break;
case( 0x161 ): case( 0x161 ):
p_stream->p_es->i_fourcc = p_stream->p_es->i_fourcc =
VLC_FOURCC( 'w','m','a',' ' ); VLC_FOURCC( 'w','m','a','2' );
break; break;
default: default:
p_stream->p_es->i_fourcc = p_stream->p_es->i_fourcc =
VLC_FOURCC( 'u','n','d','f' ); VLC_FOURCC( 'u','n','d','f' );
} }
if( p_sp->i_type_specific_data_length > 0 )
{
p_stream->p_es->p_demux_data =
malloc( p_sp->i_type_specific_data_length );
memcpy( p_stream->p_es->p_demux_data,
p_sp->p_type_specific_data,
p_sp->i_type_specific_data_length );
}
} }
else else
...@@ -258,6 +263,14 @@ static int Activate( vlc_object_t * p_this ) ...@@ -258,6 +263,14 @@ static int Activate( vlc_object_t * p_this )
p_stream->p_es->i_fourcc = p_stream->p_es->i_fourcc =
VLC_FOURCC( 'u','n','d','f' ); VLC_FOURCC( 'u','n','d','f' );
} }
if( p_sp->i_type_specific_data_length > 11 )
{
p_stream->p_es->p_demux_data =
malloc( p_sp->i_type_specific_data_length - 11);
memcpy( p_stream->p_es->p_demux_data,
p_sp->p_type_specific_data + 11,
p_sp->i_type_specific_data_length - 11 );
}
} }
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment