aboutsummaryrefslogtreecommitdiff
path: root/video/video_send_stream.h
diff options
context:
space:
mode:
authorErwin Jansen <jansene@google.com>2021-06-30 07:29:26 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-06-30 07:29:26 +0000
commit059cdc5996938f5f6b5343b6c969c12098275587 (patch)
tree6eacaffe4bebf8e00c290c1e1839e084b0c52e88 /video/video_send_stream.h
parent97e54a7e73c7b24e464ef06ef3c3b3716f21bb15 (diff)
parent16be34ae72cdb525c88c2b31b21b976f35fe36d8 (diff)
downloadwebrtc-059cdc5996938f5f6b5343b6c969c12098275587.tar.gz
Merge "Merge upstream-master and enable ARM64" into emu-master-devemu-31-stable-releaseemu-31-release
Diffstat (limited to 'video/video_send_stream.h')
-rw-r--r--video/video_send_stream.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/video/video_send_stream.h b/video/video_send_stream.h
index e36f279ca6..7e89c46abd 100644
--- a/video/video_send_stream.h
+++ b/video/video_send_stream.h
@@ -22,9 +22,13 @@
#include "call/video_receive_stream.h"
#include "call/video_send_stream.h"
#include "rtc_base/event.h"
+#include "rtc_base/system/no_unique_address.h"
#include "rtc_base/task_queue.h"
+#include "rtc_base/task_utils/pending_task_safety_flag.h"
+#include "video/encoder_rtcp_feedback.h"
#include "video/send_delay_stats.h"
#include "video/send_statistics_proxy.h"
+#include "video/video_send_stream_impl.h"
namespace webrtc {
namespace test {
@@ -45,8 +49,7 @@ class VideoSendStreamImpl;
// VideoSendStream implements webrtc::VideoSendStream.
// Internally, it delegates all public methods to VideoSendStreamImpl and / or
-// VideoStreamEncoder. VideoSendStreamInternal is created and deleted on
-// |worker_queue|.
+// VideoStreamEncoder.
class VideoSendStream : public webrtc::VideoSendStream {
public:
using RtpStateMap = std::map<uint32_t, RtpState>;
@@ -97,15 +100,21 @@ class VideoSendStream : public webrtc::VideoSendStream {
absl::optional<float> GetPacingFactorOverride() const;
- SequenceChecker thread_checker_;
- rtc::TaskQueue* const worker_queue_;
+ RTC_NO_UNIQUE_ADDRESS SequenceChecker thread_checker_;
+ rtc::TaskQueue* const rtp_transport_queue_;
+ RtpTransportControllerSendInterface* const transport_;
rtc::Event thread_sync_event_;
+ rtc::scoped_refptr<PendingTaskSafetyFlag> transport_queue_safety_ =
+ PendingTaskSafetyFlag::CreateDetached();
SendStatisticsProxy stats_proxy_;
const VideoSendStream::Config config_;
const VideoEncoderConfig::ContentType content_type_;
- std::unique_ptr<VideoSendStreamImpl> send_stream_;
std::unique_ptr<VideoStreamEncoderInterface> video_stream_encoder_;
+ EncoderRtcpFeedback encoder_feedback_;
+ RtpVideoSenderInterface* const rtp_video_sender_ = nullptr;
+ VideoSendStreamImpl send_stream_;
+ bool running_ RTC_GUARDED_BY(thread_checker_) = false;
};
} // namespace internal