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

Unified Diff: webrtc/api/mediastreaminterface.h

Issue 1770003002: Renamed VideoSourceInterface to VideoTrackSourceInterface. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 4 years, 9 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
Index: webrtc/api/mediastreaminterface.h
diff --git a/webrtc/api/mediastreaminterface.h b/webrtc/api/mediastreaminterface.h
index 100db08d04aa4656330dc69fca8f7f1ea6f58991..c9ce4a5a7b49d7bf26a9e5e07677228a3651cc98 100644
--- a/webrtc/api/mediastreaminterface.h
+++ b/webrtc/api/mediastreaminterface.h
@@ -23,6 +23,7 @@
#include "webrtc/base/basictypes.h"
#include "webrtc/base/refcount.h"
#include "webrtc/base/scoped_ref_ptr.h"
+#include "webrtc/media/base/mediachannel.h"
#include "webrtc/media/base/videosinkinterface.h"
#include "webrtc/media/base/videosourceinterface.h"
@@ -120,17 +121,34 @@ class VideoRendererInterface
virtual ~VideoRendererInterface() {}
};
-class VideoSourceInterface;
+// VideoTrackSourceInterface is a reference counted source used for VideoTracks.
+// The same source can be used in multiple VideoTracks.
+class VideoTrackSourceInterface
+ : public MediaSourceInterface,
+ public rtc::VideoSourceInterface<cricket::VideoFrame> {
+ public:
+ // Get access to the source implementation of cricket::VideoCapturer.
+ // This can be used for receiving frames and state notifications.
+ // But it should not be used for starting or stopping capturing.
+ // TODO(perkj): We are currently trying to replace all internal use of
+ // cricket::VideoCapturer with rtc::VideoSourceInterface. Once that
+ // refactoring is done,
+ // remove this method.
+ virtual cricket::VideoCapturer* GetVideoCapturer() = 0;
+
+ virtual void Stop() = 0;
+ virtual void Restart() = 0;
+
+ virtual const cricket::VideoOptions* options() const = 0;
+
+ protected:
+ virtual ~VideoTrackSourceInterface() {}
+};
class VideoTrackInterface
: public MediaStreamTrackInterface,
public rtc::VideoSourceInterface<cricket::VideoFrame> {
public:
- // Make an unqualified VideoSourceInterface resolve to
- // webrtc::VideoSourceInterface, not our base class
- // rtc::VideoSourceInterface<cricket::VideoFrame>.
- using VideoSourceInterface = webrtc::VideoSourceInterface;
-
// AddRenderer and RemoveRenderer are for backwards compatibility
// only. They are obsoleted by the methods of
// rtc::VideoSourceInterface.
@@ -147,7 +165,7 @@ class VideoTrackInterface
void RemoveSink(
rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override{};
- virtual VideoSourceInterface* GetSource() const = 0;
+ virtual VideoTrackSourceInterface* GetSource() const = 0;
// Return the track input sink. I.e., frames sent to this sink are
// propagated to all renderers registered with the track. The

Powered by Google App Engine
This is Rietveld 408576698