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
This commit is contained in:
turaj@webrtc.org
2014-04-11 18:47:55 +00:00
parent ffd242432d
commit 8d1cdaa84e
19 changed files with 345 additions and 275 deletions

View File

@ -70,7 +70,8 @@ class NetEqImpl : public webrtc::NetEq {
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 @@ class NetEqImpl : public webrtc::NetEq {
// 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 @@ class NetEqImpl : public webrtc::NetEq {
// 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 @@ class NetEqImpl : public webrtc::NetEq {
int decoded_packet_sequence_number_ GUARDED_BY(crit_sect_);
uint32_t decoded_packet_timestamp_ GUARDED_BY(crit_sect_);
private:
DISALLOW_COPY_AND_ASSIGN(NetEqImpl);
};