Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(626)

Side by Side Diff: webrtc/modules/video_coding/receiver.cc

Issue 1778503002: Experiment for the nack module. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 12 matching lines...) Expand all
23 #include "webrtc/modules/video_coding/media_opt_util.h" 23 #include "webrtc/modules/video_coding/media_opt_util.h"
24 #include "webrtc/system_wrappers/include/clock.h" 24 #include "webrtc/system_wrappers/include/clock.h"
25 25
26 namespace webrtc { 26 namespace webrtc {
27 27
28 enum { kMaxReceiverDelayMs = 10000 }; 28 enum { kMaxReceiverDelayMs = 10000 };
29 29
30 VCMReceiver::VCMReceiver(VCMTiming* timing, 30 VCMReceiver::VCMReceiver(VCMTiming* timing,
31 Clock* clock, 31 Clock* clock,
32 EventFactory* event_factory) 32 EventFactory* event_factory)
33 : VCMReceiver::VCMReceiver(timing,
34 clock,
35 event_factory,
36 nullptr, // ProcessThread
37 nullptr, // NackSender
38 nullptr) // KeyframeRequestSender
39 {}
40
41 VCMReceiver::VCMReceiver(VCMTiming* timing,
42 Clock* clock,
43 EventFactory* event_factory,
44 ProcessThread* module_process_thread,
45 NackSender* nack_sender,
46 KeyFrameRequestSender* keyframe_request_sender)
33 : VCMReceiver(timing, 47 : VCMReceiver(timing,
34 clock, 48 clock,
35 std::unique_ptr<EventWrapper>(event_factory->CreateEvent()), 49 std::unique_ptr<EventWrapper>(event_factory->CreateEvent()),
36 std::unique_ptr<EventWrapper>(event_factory->CreateEvent())) { 50 std::unique_ptr<EventWrapper>(event_factory->CreateEvent()),
37 } 51 module_process_thread,
52 nack_sender,
53 keyframe_request_sender) {}
38 54
39 VCMReceiver::VCMReceiver(VCMTiming* timing, 55 VCMReceiver::VCMReceiver(VCMTiming* timing,
40 Clock* clock, 56 Clock* clock,
41 std::unique_ptr<EventWrapper> receiver_event, 57 std::unique_ptr<EventWrapper> receiver_event,
42 std::unique_ptr<EventWrapper> jitter_buffer_event) 58 std::unique_ptr<EventWrapper> jitter_buffer_event)
59 : VCMReceiver::VCMReceiver(timing,
60 clock,
61 std::move(receiver_event),
62 std::move(jitter_buffer_event),
63 nullptr, // ProcesThread
64 nullptr, // NackSender
65 nullptr) // KeyframeRequestSender
66 {}
67
68 VCMReceiver::VCMReceiver(VCMTiming* timing,
69 Clock* clock,
70 std::unique_ptr<EventWrapper> receiver_event,
71 std::unique_ptr<EventWrapper> jitter_buffer_event,
72 ProcessThread* module_process_thread,
73 NackSender* nack_sender,
74 KeyFrameRequestSender* keyframe_request_sender)
43 : crit_sect_(CriticalSectionWrapper::CreateCriticalSection()), 75 : crit_sect_(CriticalSectionWrapper::CreateCriticalSection()),
44 clock_(clock), 76 clock_(clock),
45 jitter_buffer_(clock_, std::move(jitter_buffer_event)), 77 jitter_buffer_(clock_,
78 std::move(jitter_buffer_event),
79 module_process_thread,
80 nack_sender,
81 keyframe_request_sender),
46 timing_(timing), 82 timing_(timing),
47 render_wait_event_(std::move(receiver_event)), 83 render_wait_event_(std::move(receiver_event)),
48 max_video_delay_ms_(kMaxVideoDelayMs) { 84 max_video_delay_ms_(kMaxVideoDelayMs) {
49 Reset(); 85 Reset();
50 } 86 }
51 87
52 VCMReceiver::~VCMReceiver() { 88 VCMReceiver::~VCMReceiver() {
53 render_wait_event_->Set(); 89 render_wait_event_->Set();
54 delete crit_sect_; 90 delete crit_sect_;
55 } 91 }
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 uint32_t render_end = timing_->RenderTimeMs(timestamp_end, now_ms); 296 uint32_t render_end = timing_->RenderTimeMs(timestamp_end, now_ms);
261 return render_end - render_start; 297 return render_end - render_start;
262 } 298 }
263 299
264 void VCMReceiver::RegisterStatsCallback( 300 void VCMReceiver::RegisterStatsCallback(
265 VCMReceiveStatisticsCallback* callback) { 301 VCMReceiveStatisticsCallback* callback) {
266 jitter_buffer_.RegisterStatsCallback(callback); 302 jitter_buffer_.RegisterStatsCallback(callback);
267 } 303 }
268 304
269 } // namespace webrtc 305 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698