* adpcm.c : adpcm variant audio decoder
*****************************************************************************
* Copyright (C) 2001, 2002 VideoLAN
- * $Id: adpcm.c,v 1.14 2003/11/04 14:51:51 fenrir Exp $
+ * $Id: adpcm.c,v 1.15 2003/11/05 01:47:40 fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
}
else if( !aout_DateGet( &p_sys->date ) )
{
+ block_Release( p_block );
return VLC_SUCCESS;
}
i_pts = 0;
if( out == NULL )
{
msg_Err( p_dec, "cannot get aout buffer" );
+ block_Release( p_block );
return VLC_EGENERIC;
}
out->start_date = aout_DateGet( &p_sys->date );
i_data -= p_sys->i_block;
}
+ block_Release( p_block );
return VLC_SUCCESS;
}
* araw.c: Pseudo audio decoder; for raw pcm data
*****************************************************************************
* Copyright (C) 2001, 2003 VideoLAN
- * $Id: araw.c,v 1.21 2003/11/04 01:27:33 fenrir Exp $
+ * $Id: araw.c,v 1.22 2003/11/05 01:47:40 fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
{
msg_Err( p_dec, "bad samplerate" );
return VLC_EGENERIC;
-
}
p_sys->p_wf = p_wf;
}
if( i_size < p_sys->p_wf->nBlockAlign )
{
+ block_Release( p_block );
return VLC_SUCCESS;
}
i_samples = i_size / ( ( p_sys->p_wf->wBitsPerSample + 7 ) / 8 ) /
}
else if( !aout_DateGet( &p_sys->date ) )
{
+ block_Release( p_block );
return VLC_SUCCESS;
}
if( out == NULL )
{
msg_Err( p_dec, "cannot get aout buffer" );
+ block_Release( p_block );
return VLC_EGENERIC;
}
i_samples -= i_copy;
}
+ block_Release( p_block );
return VLC_SUCCESS;
}
* decoder.c: AAC decoder using libfaad2
*****************************************************************************
* Copyright (C) 2001, 2003 VideoLAN
- * $Id: faad.c,v 1.2 2003/11/04 02:23:11 fenrir Exp $
+ * $Id: faad.c,v 1.3 2003/11/05 01:47:40 fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
p_sys->p_buffer, p_sys->i_buffer,
&i_rate, &i_channels ) < 0 )
{
+ block_Release( p_block );
return VLC_EGENERIC;
}
p_sys->output_format.i_rate = i_rate;
msg_Warn( p_dec, "%s", faacDecGetErrorMessage( frame.error ) );
/* flush the buffer */
p_sys->i_buffer = 0;
+ block_Release( p_block );
return VLC_SUCCESS;
}
if( frame.channels <= 0 || frame.channels > 6 )
msg_Warn( p_dec, "invalid channels count" );
/* flush the buffer */
p_sys->i_buffer = 0;
+ block_Release( p_block );
return VLC_SUCCESS;
}
if( frame.samples <= 0 )
msg_Warn( p_dec, "decoded zero samples" );
/* flush the buffer */
p_sys->i_buffer = 0;
+ block_Release( p_block );
return VLC_SUCCESS;
}
if( p_sys->p_aout_input == NULL )
{
msg_Err( p_dec, "cannot create aout" );
+ block_Release( p_block );
return VLC_EGENERIC;
}
frame.samples / frame.channels ) ) == NULL )
{
msg_Err( p_dec, "cannot get a new buffer" );
+ block_Release( p_block );
return VLC_EGENERIC;
}
out->start_date = aout_DateGet( &p_sys->date );
memmove( &p_sys->p_buffer[0], &p_sys->p_buffer[i_used], p_sys->i_buffer );
}
+ block_Release( p_block );
return VLC_SUCCESS;
}