| Index: webrtc/api/mediastreaminterface.h
|
| diff --git a/webrtc/api/mediastreaminterface.h b/webrtc/api/mediastreaminterface.h
|
| index 349fcc02bb1fdbb19ac9040ebe987c2fc3f71367..f1730c57be73944cb07ab9d254cae98cc493c0de 100644
|
| --- a/webrtc/api/mediastreaminterface.h
|
| +++ b/webrtc/api/mediastreaminterface.h
|
| @@ -88,6 +88,10 @@ class MediaStreamTrackInterface : public rtc::RefCountInterface,
|
| static const char kAudioKind[];
|
| static const char kVideoKind[];
|
|
|
| + // The kind() method must return kAudioKind only if the object is a
|
| + // subclass of AudioTrackInterface, and kVideoKind only if the
|
| + // object is a subclass of VideoTrackInterface. It is typically used
|
| + // to protect a static_cast<> to the corresponding subclass.
|
| virtual std::string kind() const = 0;
|
| virtual std::string id() const = 0;
|
| virtual bool enabled() const = 0;
|
| @@ -106,6 +110,11 @@ class VideoTrackSourceInterface
|
| : public MediaSourceInterface,
|
| public rtc::VideoSourceInterface<cricket::VideoFrame> {
|
| public:
|
| + struct Stats {
|
| + // Original size of captured frame, before video adaptation.
|
| + int input_width;
|
| + int input_height;
|
| + };
|
| // 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.
|
| @@ -132,6 +141,11 @@ class VideoTrackSourceInterface
|
| // the encoder.
|
| virtual rtc::Optional<bool> needs_denoising() const = 0;
|
|
|
| + // Returns false if no stats are available, e.g, for a remote
|
| + // source, or a source which has not seen its first frame yet.
|
| + // Should avoid blocking.
|
| + virtual bool GetStats(Stats* stats) = 0;
|
| +
|
| protected:
|
| virtual ~VideoTrackSourceInterface() {}
|
| };
|
|
|