diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-07-27 01:52:07 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-07-27 01:52:07 +0100 |
| commit | f0488edf2b3bc2874deb077879523becba7d0d10 (patch) | |
| tree | ceccd80049ce4cd309e6ba1518cf202314dd82f9 /src/lib/decoder.cc | |
| parent | b15e972e14ba5ad2863cb878fa02409eb87a41f8 (diff) | |
Clean up channels coming from ffmpeg wrt those thought to be the case.
Diffstat (limited to 'src/lib/decoder.cc')
| -rw-r--r-- | src/lib/decoder.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/decoder.cc b/src/lib/decoder.cc index a4eec02cb..6bebe800c 100644 --- a/src/lib/decoder.cc +++ b/src/lib/decoder.cc @@ -220,10 +220,10 @@ Decoder::pass () /** Called by subclasses to tell the world that some audio data is ready */ void -Decoder::process_audio (uint8_t* data, int channels, int size) +Decoder::process_audio (uint8_t* data, int size) { int const samples = size / _fs->bytes_per_sample(); - int const frames = samples / channels; + int const frames = samples / _fs->audio_channels; if (_fs->audio_gain != 0) { float const linear_gain = pow (10, _fs->audio_gain / 20); @@ -256,7 +256,7 @@ Decoder::process_audio (uint8_t* data, int channels, int size) }; int const out_buffer_size_frames = ceil (frames * float (dcp_audio_sample_rate (_fs->audio_sample_rate)) / _fs->audio_sample_rate) + 32; - int const out_buffer_size_bytes = out_buffer_size_frames * channels * _fs->bytes_per_sample(); + int const out_buffer_size_bytes = out_buffer_size_frames * _fs->audio_channels * _fs->bytes_per_sample(); out_buffer = new uint8_t[out_buffer_size_bytes]; uint8_t* out[2] = { @@ -270,11 +270,11 @@ Decoder::process_audio (uint8_t* data, int channels, int size) } data = out_buffer; - size = out_frames * channels * _fs->bytes_per_sample(); + size = out_frames * _fs->audio_channels * _fs->bytes_per_sample(); } /* Update the number of audio frames we've pushed to the encoder */ - _audio_frames_processed += size / (channels * _fs->bytes_per_sample ()); + _audio_frames_processed += size / (_fs->audio_channels * _fs->bytes_per_sample ()); int available = _delay_line->feed (data, size); Audio (data, available); |
