diff options
author | jmarusic@webrtc.org <jmarusic@webrtc.org> | 2015-03-19 08:50:26 +0000 |
---|---|---|
committer | jmarusic@webrtc.org <jmarusic@webrtc.org> | 2015-03-19 08:51:20 +0000 |
commit | 9afaee74ab1ef36c8b4ea4c22f4c5aebf2359da2 (patch) | |
tree | 030ea2aab326bda19157d9e776b21dc628342d48 /webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc | |
parent | d21406d333981db824d6007da9dd4f927236fbe1 (diff) | |
download | webrtc-9afaee74ab1ef36c8b4ea4c22f4c5aebf2359da2.tar.gz |
Reland 8749: AudioEncoder: return EncodedInfo from Encode() and EncodeInternal()
Old review at:
https://webrtc-codereview.appspot.com/43839004/
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45769004
Cr-Commit-Position: refs/heads/master@{#8788}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8788 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc')
-rw-r--r-- | webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc index ae08423db8..941e635b17 100644 --- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc +++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc @@ -183,19 +183,18 @@ void AudioEncoderOpus::SetProjectedPacketLossRate(double fraction) { } } -void AudioEncoderOpus::EncodeInternal(uint32_t rtp_timestamp, - const int16_t* audio, - size_t max_encoded_bytes, - uint8_t* encoded, - EncodedInfo* info) { +AudioEncoder::EncodedInfo AudioEncoderOpus::EncodeInternal( + uint32_t rtp_timestamp, + const int16_t* audio, + size_t max_encoded_bytes, + uint8_t* encoded) { if (input_buffer_.empty()) first_timestamp_in_buffer_ = rtp_timestamp; input_buffer_.insert(input_buffer_.end(), audio, audio + samples_per_10ms_frame_); if (input_buffer_.size() < (static_cast<size_t>(num_10ms_frames_per_packet_) * samples_per_10ms_frame_)) { - info->encoded_bytes = 0; - return; + return EncodedInfo(); } CHECK_EQ(input_buffer_.size(), static_cast<size_t>(num_10ms_frames_per_packet_) * @@ -207,12 +206,13 @@ void AudioEncoderOpus::EncodeInternal(uint32_t rtp_timestamp, ClampInt16(max_encoded_bytes), encoded); CHECK_GE(r, 0); // Fails only if fed invalid data. input_buffer_.clear(); - info->encoded_bytes = r; - info->encoded_timestamp = first_timestamp_in_buffer_; - info->payload_type = payload_type_; - // Allows Opus to send empty packets. - info->send_even_if_empty = true; - info->speech = r > 0; + EncodedInfo info; + info.encoded_bytes = r; + info.encoded_timestamp = first_timestamp_in_buffer_; + info.payload_type = payload_type_; + info.send_even_if_empty = true; // Allows Opus to send empty packets. + info.speech = r > 0; + return info; } } // namespace webrtc |