Add task queue to RtpRtcpInterface::Configuration.
Let ModuleRtpRtcpImpl2 use the configured value instead of TaskQueueBase::Current(). Intention is to allow construction of RtpRtcpImpl2 on any thread. If a task queue is provided (required for periodic rtt updates), the destruction of the object must be done on that same task queue. Also, delete ModuleRtpRtcpImpl2::Create, callers updated to use std::make_unique. Bug: None Change-Id: I412b7b1e1ce24722ffd23d16aa6c48a7214c9bcd Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/199968 Reviewed-by: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Sam Zackrisson <saza@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32949}
This commit is contained in:
@ -18,6 +18,7 @@
|
||||
#include "absl/types/optional.h"
|
||||
#include "api/frame_transformer_interface.h"
|
||||
#include "api/scoped_refptr.h"
|
||||
#include "api/task_queue/task_queue_base.h"
|
||||
#include "api/transport/webrtc_key_value_config.h"
|
||||
#include "api/video/video_bitrate_allocation.h"
|
||||
#include "modules/rtp_rtcp/include/receive_statistics.h"
|
||||
@ -86,6 +87,11 @@ class RtpRtcpInterface : public RtcpFeedbackSenderInterface {
|
||||
RtcpCnameCallback* rtcp_cname_callback = nullptr;
|
||||
ReportBlockDataObserver* report_block_data_observer = nullptr;
|
||||
|
||||
// For RtpRtcpImpl2 only. Used for periodic RTT updates, when rtt_stats
|
||||
// (above) is non-null. If provided, destruction of the RtpRtcp object must
|
||||
// occur on this task queue, while construction is allowed on any thread.
|
||||
TaskQueueBase* task_queue = nullptr;
|
||||
|
||||
// Estimates the bandwidth available for a set of streams from the same
|
||||
// client.
|
||||
RemoteBitrateEstimator* remote_bitrate_estimator = nullptr;
|
||||
|
||||
Reference in New Issue
Block a user