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_;
 };