- aout_filter_t * p_filter = pp_filters[i];
- aout_buffer_t * p_output_buffer;
-
- /* Resamplers can produce slightly more samples than (i_in_nb *
- * p_filter->output.i_rate / p_filter->input.i_rate) so we need
- * slightly bigger buffers. */
- p_output_buffer = aout_BufferAlloc( &p_filter->output_alloc,
- ((mtime_t)(*pp_input_buffer)->i_nb_samples + 2)
- * 1000000 / p_filter->fmt_in.audio.i_rate,
- *pp_input_buffer );
- if( p_output_buffer == NULL )
- return;
- p_output_buffer->i_pts = (*pp_input_buffer)->i_pts;
- p_output_buffer->i_length = (*pp_input_buffer)->i_length;
-
- /* Please note that p_output_buffer->i_nb_samples & i_buffer
- * shall be set by the filter plug-in. */
- if( (*pp_input_buffer)->i_nb_samples > 0 )
- {
- p_filter->pf_do_work( p_aout, p_filter, *pp_input_buffer,
- p_output_buffer );
- }
- else
- {
- p_output_buffer->i_buffer = 0;
- p_output_buffer->i_nb_samples = 0;
- }