Change VideoRtpReceiver to create remote VideoTrack and VideoTrackSource.
This enabled us to be able to remove VideoTrack::GetSink and RemoteVideoCapturer.
Since video frames from the decoder is delivered on a media engine internal thread, VideoBroadCaster must be made thread safe.
BUG=webrtc:5426
R=deadbeef@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1765423005 .
Cr-Commit-Position: refs/heads/master@{#11944}
diff --git a/webrtc/api/peerconnection.h b/webrtc/api/peerconnection.h
index e4fcdf0..2e9d9b2 100644
--- a/webrtc/api/peerconnection.h
+++ b/webrtc/api/peerconnection.h
@@ -27,6 +27,7 @@
class MediaStreamObserver;
class RemoteMediaStreamFactory;
+class VideoRtpReceiver;
// Populates |session_options| from |rtc_options|, and returns true if options
// are valid.
@@ -167,8 +168,9 @@
void CreateAudioReceiver(MediaStreamInterface* stream,
AudioTrackInterface* audio_track,
uint32_t ssrc);
+
void CreateVideoReceiver(MediaStreamInterface* stream,
- VideoTrackInterface* video_track,
+ const std::string& track_id,
uint32_t ssrc);
void DestroyAudioReceiver(MediaStreamInterface* stream,
AudioTrackInterface* audio_track);