aboutsummaryrefslogtreecommitdiff
path: root/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
diff options
context:
space:
mode:
authorjmarusic@webrtc.org <jmarusic@webrtc.org>2015-03-19 08:50:26 +0000
committerjmarusic@webrtc.org <jmarusic@webrtc.org>2015-03-19 08:51:20 +0000
commit9afaee74ab1ef36c8b4ea4c22f4c5aebf2359da2 (patch)
tree030ea2aab326bda19157d9e776b21dc628342d48 /webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
parentd21406d333981db824d6007da9dd4f927236fbe1 (diff)
downloadwebrtc-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.cc26
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