aout_filter_t aout_filter;
aout_buffer_t in_buf, out_buf;
block_t *p_out;
+ int i_out_size;
- int i_out_size = p_block->i_samples *
+ if( !p_block || !p_block->i_samples )
+ {
+ if( p_block ) p_block->pf_release( p_block );
+ return NULL;
+ }
+
+ i_out_size = p_block->i_samples *
p_filter->fmt_out.audio.i_bitspersample *
p_filter->fmt_out.audio.i_channels;
if( !p_out )
{
msg_Warn( p_filter, "can't get output buffer" );
+ p_block->pf_release( p_block );
return NULL;
}
p_out->i_buffer = out_buf.i_nb_bytes;
+ p_block->pf_release( p_block );
+
return p_out;
}
aout_filter_t aout_filter;
aout_buffer_t in_buf, out_buf;
block_t *p_out;
+ int i_out_size;
- int i_out_size = p_block->i_samples *
+ if( !p_block || !p_block->i_samples )
+ {
+ if( p_block ) p_block->pf_release( p_block );
+ return NULL;
+ }
+
+ i_out_size = p_block->i_samples *
p_filter->fmt_out.audio.i_bitspersample *
p_filter->fmt_out.audio.i_channels;
if( !p_out )
{
msg_Warn( p_filter, "can't get output buffer" );
+ p_block->pf_release( p_block );
return NULL;
}
p_out->i_buffer = out_buf.i_nb_bytes;
p_out->i_samples = out_buf.i_nb_samples;
+ p_block->pf_release( p_block );
+
return p_out;
}
aout_filter_t aout_filter;
aout_buffer_t in_buf, out_buf;
block_t *p_out;
+ int i_out_size;
- int i_out_size = p_block->i_samples *
+ if( !p_block || !p_block->i_samples )
+ {
+ if( p_block ) p_block->pf_release( p_block );
+ return NULL;
+ }
+
+ i_out_size = p_block->i_samples *
p_filter->fmt_out.audio.i_bitspersample *
p_filter->fmt_out.audio.i_channels;
if( !p_out )
{
msg_Warn( p_filter, "can't get output buffer" );
+ p_block->pf_release( p_block );
return NULL;
}
DoWork( (aout_instance_t *)p_filter, &aout_filter, &in_buf, &out_buf );
+ p_block->pf_release( p_block );
+
return p_out;
}