NetEq changes.

BUG=
R=henrik.lundin@webrtc.org, minyue@webrtc.org, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9859005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5889 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/modules/audio_coding/neteq4/neteq_impl.h b/webrtc/modules/audio_coding/neteq4/neteq_impl.h
index dabf2d6..3d883a0 100644
--- a/webrtc/modules/audio_coding/neteq4/neteq_impl.h
+++ b/webrtc/modules/audio_coding/neteq4/neteq_impl.h
@@ -70,7 +70,8 @@
             TimestampScaler* timestamp_scaler,
             AccelerateFactory* accelerate_factory,
             ExpandFactory* expand_factory,
-            PreemptiveExpandFactory* preemptive_expand_factory);
+            PreemptiveExpandFactory* preemptive_expand_factory,
+            bool create_components = true);
 
   virtual ~NetEqImpl();
 
@@ -203,7 +204,7 @@
   // This accessor method is only intended for testing purposes.
   virtual const SyncBuffer* sync_buffer_for_test() const;
 
- private:
+ protected:
   static const int kOutputSizeMs = 10;
   static const int kMaxFrameSize = 2880;  // 60 ms @ 48 kHz.
   // TODO(hlundin): Provide a better value for kSyncBufferSize.
@@ -331,6 +332,14 @@
   // GetAudio().
   NetEqOutputType LastOutputType() EXCLUSIVE_LOCKS_REQUIRED(crit_sect_);
 
+  // Updates Expand and Merge.
+  virtual void UpdatePlcComponents(int fs_hz, size_t channels)
+      EXCLUSIVE_LOCKS_REQUIRED(crit_sect_);
+
+  // Creates DecisionLogic object for the given mode.
+  void CreateDecisionLogic(NetEqPlayoutMode mode)
+      EXCLUSIVE_LOCKS_REQUIRED(crit_sect_);
+
   const scoped_ptr<BufferLevelFilter> buffer_level_filter_;
   const scoped_ptr<DecoderDatabase> decoder_database_;
   const scoped_ptr<DelayManager> delay_manager_;
@@ -388,6 +397,7 @@
   int decoded_packet_sequence_number_ GUARDED_BY(crit_sect_);
   uint32_t decoded_packet_timestamp_ GUARDED_BY(crit_sect_);
 
+ private:
   DISALLOW_COPY_AND_ASSIGN(NetEqImpl);
 };