Adding EncodedInfo struct to AudioEncoder::Encode
This struct will be expanded in future changes.
BUG=3926
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31049004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7771 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/modules/audio_coding/codecs/audio_encoder.h b/modules/audio_coding/codecs/audio_encoder.h
index 45c0a85..6f68d5c 100644
--- a/modules/audio_coding/codecs/audio_encoder.h
+++ b/modules/audio_coding/codecs/audio_encoder.h
@@ -22,6 +22,10 @@
// codec type must have an implementation of this class.
class AudioEncoder {
public:
+ struct EncodedInfo {
+ uint32_t encoded_timestamp;
+ };
+
virtual ~AudioEncoder() {}
// Accepts one 10 ms block of input audio (i.e., sample_rate_hz() / 100 *
@@ -37,7 +41,7 @@
size_t max_encoded_bytes,
uint8_t* encoded,
size_t* encoded_bytes,
- uint32_t* encoded_timestamp) {
+ EncodedInfo* info) {
CHECK_EQ(num_samples_per_channel,
static_cast<size_t>(sample_rate_hz() / 100));
bool ret = Encode(timestamp,
@@ -45,7 +49,7 @@
max_encoded_bytes,
encoded,
encoded_bytes,
- encoded_timestamp);
+ info);
CHECK_LE(*encoded_bytes, max_encoded_bytes);
return ret;
}
@@ -68,7 +72,7 @@
size_t max_encoded_bytes,
uint8_t* encoded,
size_t* encoded_bytes,
- uint32_t* encoded_timestamp) = 0;
+ EncodedInfo* info) = 0;
};
} // namespace webrtc
diff --git a/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc b/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc
index 6454e93..ee8dfeb 100644
--- a/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc
+++ b/modules/audio_coding/codecs/g711/audio_encoder_pcm.cc
@@ -57,7 +57,7 @@
size_t max_encoded_bytes,
uint8_t* encoded,
size_t* encoded_bytes,
- uint32_t* encoded_timestamp) {
+ EncodedInfo* info) {
const int num_samples = sample_rate_hz() / 100 * num_channels();
if (speech_buffer_.empty()) {
first_timestamp_in_buffer_ = timestamp;
@@ -72,7 +72,7 @@
CHECK_EQ(speech_buffer_.size(), static_cast<size_t>(full_frame_samples_));
int16_t ret = EncodeCall(&speech_buffer_[0], full_frame_samples_, encoded);
speech_buffer_.clear();
- *encoded_timestamp = first_timestamp_in_buffer_;
+ info->encoded_timestamp = first_timestamp_in_buffer_;
if (ret < 0)
return false;
*encoded_bytes = static_cast<size_t>(ret);
diff --git a/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h b/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h
index f668296..b3866f0 100644
--- a/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h
+++ b/modules/audio_coding/codecs/g711/include/audio_encoder_pcm.h
@@ -40,7 +40,7 @@
size_t max_encoded_bytes,
uint8_t* encoded,
size_t* encoded_bytes,
- uint32_t* encoded_timestamp) OVERRIDE;
+ EncodedInfo* info) OVERRIDE;
virtual int16_t EncodeCall(const int16_t* audio,
size_t input_len,
diff --git a/modules/audio_coding/codecs/opus/audio_encoder_opus.cc b/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
index 6349b5c..d7ca1a4 100644
--- a/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
+++ b/modules/audio_coding/codecs/opus/audio_encoder_opus.cc
@@ -76,7 +76,7 @@
size_t max_encoded_bytes,
uint8_t* encoded,
size_t* encoded_bytes,
- uint32_t* encoded_timestamp) {
+ EncodedInfo* info) {
if (input_buffer_.empty())
first_timestamp_in_buffer_ = timestamp;
input_buffer_.insert(input_buffer_.end(), audio,
@@ -97,7 +97,7 @@
if (r < 0)
return false;
*encoded_bytes = r;
- *encoded_timestamp = first_timestamp_in_buffer_;
+ info->encoded_timestamp = first_timestamp_in_buffer_;
return true;
}
diff --git a/modules/audio_coding/codecs/opus/interface/audio_encoder_opus.h b/modules/audio_coding/codecs/opus/interface/audio_encoder_opus.h
index e2e5c73..2071c0f 100644
--- a/modules/audio_coding/codecs/opus/interface/audio_encoder_opus.h
+++ b/modules/audio_coding/codecs/opus/interface/audio_encoder_opus.h
@@ -40,7 +40,7 @@
size_t max_encoded_bytes,
uint8_t* encoded,
size_t* encoded_bytes,
- uint32_t* encoded_timestamp) OVERRIDE;
+ EncodedInfo* info) OVERRIDE;
private:
const int num_10ms_frames_per_packet_;
diff --git a/modules/audio_coding/neteq/audio_decoder_unittest.cc b/modules/audio_coding/neteq/audio_decoder_unittest.cc
index c95214b..5ce9fea 100644
--- a/modules/audio_coding/neteq/audio_decoder_unittest.cc
+++ b/modules/audio_coding/neteq/audio_decoder_unittest.cc
@@ -102,7 +102,6 @@
data_length_(0),
encoded_bytes_(0),
channels_(1),
- output_timestamp_(0),
decoder_(NULL) {}
virtual ~AudioDecoderTest() {}
@@ -152,7 +151,7 @@
EXPECT_TRUE(audio_encoder_->Encode(
0, interleaved_input.get(), audio_encoder_->sample_rate_hz() / 100,
- data_length_ * 2, output, &enc_len_bytes, &output_timestamp_));
+ data_length_ * 2, output, &enc_len_bytes, &encoded_info_));
}
return static_cast<int>(enc_len_bytes);
}
@@ -263,7 +262,7 @@
size_t data_length_;
size_t encoded_bytes_;
size_t channels_;
- uint32_t output_timestamp_;
+ AudioEncoder::EncodedInfo encoded_info_;
AudioDecoder* decoder_;
scoped_ptr<AudioEncoder> audio_encoder_;
};