Changeset e8da76c97ff90125ef5637045408fc2b81e27839
- Timestamp:
- 12/07/06 21:10:55
(2 years ago)
- Author:
- Benjamin Pracht <bigben@videolan.org>
- git-committer:
- Benjamin Pracht <bigben@videolan.org> 1165522255 +0000
- git-parent:
[718c752ff05d5bb9f8f499e18e7f5c9c869c6cf8]
- git-author:
- Benjamin Pracht <bigben@videolan.org> 1165522255 +0000
- Message:
* Cleanup that file a bit
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| rd3fe7f2 |
re8da76c |
|
| 31 | 31 | #include <vlc/vlc.h> |
|---|
| 32 | 32 | #include <vlc_aout.h> |
|---|
| 33 | | |
|---|
| 34 | 33 | #include <vlc_filter.h> |
|---|
| 35 | 34 | #include <vlc_block.h> |
|---|
| … | … | |
| 42 | 41 | static void DoWork ( aout_instance_t *, aout_filter_t *, aout_buffer_t *, |
|---|
| 43 | 42 | aout_buffer_t * ); |
|---|
| 44 | | static void DoWork_inner( aout_instance_t *, aout_filter_t *, aout_buffer_t *, |
|---|
| 45 | | aout_buffer_t *, int ); |
|---|
| 46 | 43 | |
|---|
| 47 | 44 | static int OpenFilter ( vlc_object_t * ); |
|---|
| … | … | |
| 84 | 81 | aout_filter_t * p_filter = (aout_filter_t *)p_this; |
|---|
| 85 | 82 | struct filter_sys_t * p_sys; |
|---|
| 86 | | |
|---|
| | 83 | |
|---|
| 87 | 84 | if ( p_filter->input.i_rate == p_filter->output.i_rate |
|---|
| 88 | 85 | || p_filter->input.i_format != p_filter->output.i_format |
|---|
| … | … | |
| 112 | 109 | } |
|---|
| 113 | 110 | |
|---|
| 114 | | memset( p_sys->p_prev_sample, 0, aout_FormatNbChannels( &p_filter->input ) * sizeof(int32_t) ); |
|---|
| 115 | | |
|---|
| 116 | 111 | p_filter->pf_do_work = DoWork; |
|---|
| 117 | 112 | |
|---|
| … | … | |
| 130 | 125 | aout_filter_t * p_filter = (aout_filter_t *)p_this; |
|---|
| 131 | 126 | filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys; |
|---|
| 132 | | |
|---|
| | 127 | |
|---|
| 133 | 128 | free( p_sys->p_prev_sample ); |
|---|
| 134 | 129 | free( p_sys ); |
|---|
| … | … | |
| 140 | 135 | static void DoWork( aout_instance_t * p_aout, aout_filter_t * p_filter, |
|---|
| 141 | 136 | aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf ) |
|---|
| 142 | | { |
|---|
| 143 | | DoWork_inner( p_aout, p_filter, p_in_buf, p_out_buf, p_aout->mixer.mixer.i_rate ); |
|---|
| 144 | | } |
|---|
| 145 | | |
|---|
| 146 | | static void DoWork_inner( aout_instance_t * p_aout, aout_filter_t * p_filter, |
|---|
| 147 | | aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf, |
|---|
| 148 | | int i_output_rate ) |
|---|
| 149 | 137 | { |
|---|
| 150 | 138 | filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys; |
|---|
| … | … | |
| 159 | 147 | int i_chan, i_in, i_out = 0; |
|---|
| 160 | 148 | |
|---|
| 161 | | |
|---|
| 162 | 149 | /* Check if we really need to run the resampler */ |
|---|
| 163 | | //if( p_aout->mixer.mixer.i_rate == p_filter->input.i_rate ) |
|---|
| 164 | | if( i_output_rate == p_filter->input.i_rate ) |
|---|
| | 150 | if( p_aout->mixer.mixer.i_rate == p_filter->input.i_rate ) |
|---|
| 165 | 151 | { |
|---|
| 166 | 152 | if( p_filter->b_continuity && |
|---|
| … | … | |
| 282 | 268 | return VLC_EGENERIC; |
|---|
| 283 | 269 | } |
|---|
| 284 | | |
|---|
| | 270 | |
|---|
| 285 | 271 | /* Allocate the memory needed to store the module's structure */ |
|---|
| 286 | 272 | p_filter->p_sys = p_sys = malloc( sizeof(struct filter_sys_t) ); |
|---|
| … | … | |
| 299 | 285 | return VLC_ENOMEM; |
|---|
| 300 | 286 | } |
|---|
| 301 | | |
|---|
| 302 | | memset( p_sys->p_prev_sample, 0, p_filter->fmt_in.audio.i_channels * sizeof(int32_t) ); |
|---|
| 303 | 287 | |
|---|
| 304 | 288 | p_filter->pf_audio_filter = Resample; |
|---|
| … | … | |
| 344 | 328 | return NULL; |
|---|
| 345 | 329 | } |
|---|
| 346 | | |
|---|
| | 330 | |
|---|
| 347 | 331 | i_bytes_per_frame = p_filter->fmt_out.audio.i_channels * |
|---|
| 348 | 332 | p_filter->fmt_out.audio.i_bitspersample / 8; |
|---|
| 349 | | |
|---|
| | 333 | |
|---|
| 350 | 334 | i_out_size = i_bytes_per_frame * ( 1 + (p_block->i_samples * |
|---|
| 351 | 335 | p_filter->fmt_out.audio.i_rate / p_filter->fmt_in.audio.i_rate)); |
|---|
| … | … | |
| 376 | 360 | out_buf.i_nb_samples = p_out->i_samples; |
|---|
| 377 | 361 | |
|---|
| 378 | | DoWork_inner( (aout_instance_t *)p_filter, &aout_filter, &in_buf, &out_buf, |
|---|
| 379 | | p_filter->fmt_out.audio.i_rate ); |
|---|
| | 362 | DoWork( (aout_instance_t *)p_filter, &aout_filter, &in_buf, &out_buf ); |
|---|
| 380 | 363 | |
|---|
| 381 | 364 | p_block->pf_release( p_block ); |
|---|
| 382 | | |
|---|
| | 365 | |
|---|
| 383 | 366 | p_out->i_buffer = out_buf.i_nb_bytes; |
|---|
| 384 | 367 | p_out->i_samples = out_buf.i_nb_samples; |
|---|