Index: media/filters/opus_audio_decoder.cc |
diff --git a/media/filters/opus_audio_decoder.cc b/media/filters/opus_audio_decoder.cc |
index 7aa931930aecc1bc249f06fe7e9e73a0f0a57f96..37e1abda698328542350b510558a1763cda60392 100644 |
--- a/media/filters/opus_audio_decoder.cc |
+++ b/media/filters/opus_audio_decoder.cc |
@@ -601,11 +601,13 @@ bool OpusAudioDecoder::Decode(const scoped_refptr<DecoderBuffer>& input, |
// Decoding finished successfully, update statistics. |
PipelineStatistics statistics; |
- statistics.audio_bytes_decoded = |
- frames_decoded * |
- demuxer_stream_->audio_decoder_config().bytes_per_frame(); |
+ statistics.audio_bytes_decoded = input->data_size(); |
statistics_cb_.Run(statistics); |
+ // Discard the buffer to indicate we need more data. |
+ if (!frames_decoded) |
+ *output_buffer = NULL; |
+ |
return true; |
} |