Propagate media receiver rtcp observers to RtcpTransceiver
Bug: webrtc:8239 Change-Id: I2e287744128ccbc80e011a0b995a68b4310e36ae Reviewed-on: https://webrtc-review.googlesource.com/33007 Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#21285}
This commit is contained in:
committed by
Commit Bot
parent
62e9ebe589
commit
a32d710bb4
@ -51,6 +51,28 @@ RtcpTransceiver::~RtcpTransceiver() {
|
||||
RTC_CHECK(!rtcp_transceiver_) << "Task queue is too busy to handle rtcp";
|
||||
}
|
||||
|
||||
void RtcpTransceiver::AddMediaReceiverRtcpObserver(
|
||||
uint32_t remote_ssrc,
|
||||
MediaReceiverRtcpObserver* observer) {
|
||||
rtc::WeakPtr<RtcpTransceiverImpl> ptr = ptr_;
|
||||
task_queue_->PostTask([ptr, remote_ssrc, observer] {
|
||||
if (ptr)
|
||||
ptr->AddMediaReceiverRtcpObserver(remote_ssrc, observer);
|
||||
});
|
||||
}
|
||||
|
||||
void RtcpTransceiver::RemoveMediaReceiverRtcpObserver(
|
||||
uint32_t remote_ssrc,
|
||||
MediaReceiverRtcpObserver* observer,
|
||||
std::unique_ptr<rtc::QueuedTask> on_removed) {
|
||||
rtc::WeakPtr<RtcpTransceiverImpl> ptr = ptr_;
|
||||
auto remove = [ptr, remote_ssrc, observer] {
|
||||
if (ptr)
|
||||
ptr->RemoveMediaReceiverRtcpObserver(remote_ssrc, observer);
|
||||
};
|
||||
task_queue_->PostTaskAndReply(std::move(remove), std::move(on_removed));
|
||||
}
|
||||
|
||||
void RtcpTransceiver::ReceivePacket(rtc::CopyOnWriteBuffer packet) {
|
||||
rtc::WeakPtr<RtcpTransceiverImpl> ptr = ptr_;
|
||||
int64_t now_us = rtc::TimeMicros();
|
||||
|
||||
Reference in New Issue
Block a user