Experiment for the nack module.
Testing the nack module by implementing it into the current jitter buffer under the experiment WebRTC-NewVideoJitterBuffer. BUG=webrtc:5514 Review URL: https://codereview.webrtc.org/1778503002 Cr-Commit-Position: refs/heads/master@{#11969}
This commit is contained in:
@ -28,17 +28,37 @@ class VCMEncodedFrame;
|
||||
|
||||
class VCMReceiver {
|
||||
public:
|
||||
// Constructor for current interface, will be removed when the
|
||||
// new jitter buffer is in place.
|
||||
VCMReceiver(VCMTiming* timing, Clock* clock, EventFactory* event_factory);
|
||||
|
||||
// Create method for the new jitter buffer.
|
||||
VCMReceiver(VCMTiming* timing,
|
||||
Clock* clock,
|
||||
EventFactory* event_factory,
|
||||
NackSender* nack_sender,
|
||||
KeyFrameRequestSender* keyframe_request_sender);
|
||||
|
||||
// Using this constructor, you can specify a different event factory for the
|
||||
// jitter buffer. Useful for unit tests when you want to simulate incoming
|
||||
// packets, in which case the jitter buffer's wait event is different from
|
||||
// that of VCMReceiver itself.
|
||||
//
|
||||
// Constructor for current interface, will be removed when the
|
||||
// new jitter buffer is in place.
|
||||
VCMReceiver(VCMTiming* timing,
|
||||
Clock* clock,
|
||||
std::unique_ptr<EventWrapper> receiver_event,
|
||||
std::unique_ptr<EventWrapper> jitter_buffer_event);
|
||||
|
||||
// Create method for the new jitter buffer.
|
||||
VCMReceiver(VCMTiming* timing,
|
||||
Clock* clock,
|
||||
std::unique_ptr<EventWrapper> receiver_event,
|
||||
std::unique_ptr<EventWrapper> jitter_buffer_event,
|
||||
NackSender* nack_sender,
|
||||
KeyFrameRequestSender* keyframe_request_sender);
|
||||
|
||||
~VCMReceiver();
|
||||
|
||||
void Reset();
|
||||
@ -79,6 +99,9 @@ class VCMReceiver {
|
||||
|
||||
void TriggerDecoderShutdown();
|
||||
|
||||
int64_t TimeUntilNextProcess();
|
||||
void Process();
|
||||
|
||||
private:
|
||||
CriticalSectionWrapper* crit_sect_;
|
||||
Clock* const clock_;
|
||||
|
||||
Reference in New Issue
Block a user