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

Unified Diff: webrtc/video/rtp_video_stream_receiver.h

Issue 2974453002: Protected streams report RTP messages directly to the FlexFec streams (Closed)
Patch Set: Appease lint. Created 3 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/test/call_test.cc ('k') | webrtc/video/rtp_video_stream_receiver.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/video/rtp_video_stream_receiver.h
diff --git a/webrtc/video/rtp_video_stream_receiver.h b/webrtc/video/rtp_video_stream_receiver.h
index afcc696da16e78abdfe3a0729cca448d25c5aee7..a28816a985785236c2002a99765f86c38adb8002 100644
--- a/webrtc/video/rtp_video_stream_receiver.h
+++ b/webrtc/video/rtp_video_stream_receiver.h
@@ -31,6 +31,7 @@
#include "webrtc/modules/video_coding/sequence_number_util.h"
#include "webrtc/rtc_base/constructormagic.h"
#include "webrtc/rtc_base/criticalsection.h"
+#include "webrtc/rtc_base/thread_checker.h"
#include "webrtc/typedefs.h"
#include "webrtc/video_receive_stream.h"
@@ -142,6 +143,13 @@ class RtpVideoStreamReceiver : public RtpData,
rtc::Optional<int64_t> LastReceivedPacketMs() const;
rtc::Optional<int64_t> LastReceivedKeyframePacketMs() const;
+ // RtpDemuxer only forwards a given RTP packet to one sink. However, some
+ // sinks, such as FlexFEC, might wish to be informed of all of the packets
+ // a given sink receives (or any set of sinks). They may do so by registering
+ // themselves as secondary sinks.
+ void AddSecondarySink(RtpPacketSinkInterface* sink);
+ void RemoveSecondarySink(const RtpPacketSinkInterface* sink);
+
private:
bool AddReceiveCodec(const VideoCodec& video_codec);
void ReceivePacket(const uint8_t* packet,
@@ -201,6 +209,11 @@ class RtpVideoStreamReceiver : public RtpData,
int16_t last_payload_type_ = -1;
bool has_received_frame_;
+
+ // TODO(eladalon): https://bugs.chromium.org/p/webrtc/issues/detail?id=8056
+ // rtc::ThreadChecker worker_thread_checker_;
+ std::vector<RtpPacketSinkInterface*> secondary_sinks_; // This needs
+ // to be GUARDED_BY(worker_thread_checker_).
};
} // namespace webrtc
« no previous file with comments | « webrtc/test/call_test.cc ('k') | webrtc/video/rtp_video_stream_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698