VideoTrackSourceInterface: make some newly introduced methods pure virtual.
Bug: webrtc:11114 Change-Id: Ic4d3835ae84b6a652c49f30a9c275870bbf3dacf Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174440 Commit-Queue: Markus Handell <handellm@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31211}
This commit is contained in:
parent
a54ba4c02e
commit
6efc14b33d
@ -137,15 +137,11 @@ class VideoTrackSourceInterface : public MediaSourceInterface,
|
||||
virtual bool GetStats(Stats* stats) = 0;
|
||||
|
||||
// Returns true if encoded output can be enabled in the source.
|
||||
// TODO(bugs.webrtc.org/11114): make pure virtual once downstream project
|
||||
// adapts.
|
||||
virtual bool SupportsEncodedOutput() const { return false; }
|
||||
virtual bool SupportsEncodedOutput() const = 0;
|
||||
|
||||
// Reliably cause a key frame to be generated in encoded output.
|
||||
// TODO(bugs.webrtc.org/11115): find optimal naming.
|
||||
// TODO(bugs.webrtc.org/11114): make pure virtual once downstream project
|
||||
// adapts.
|
||||
virtual void GenerateKeyFrame() {}
|
||||
virtual void GenerateKeyFrame() = 0;
|
||||
|
||||
// Add an encoded video sink to the source and additionally cause
|
||||
// a key frame to be generated from the source. The sink will be
|
||||
@ -153,13 +149,11 @@ class VideoTrackSourceInterface : public MediaSourceInterface,
|
||||
// TODO(bugs.webrtc.org/11114): make pure virtual once downstream project
|
||||
// adapts.
|
||||
virtual void AddEncodedSink(
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) {}
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) = 0;
|
||||
|
||||
// Removes an encoded video sink from the source.
|
||||
// TODO(bugs.webrtc.org/11114): make pure virtual once downstream project
|
||||
// adapts.
|
||||
virtual void RemoveEncodedSink(
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) {}
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) = 0;
|
||||
|
||||
protected:
|
||||
~VideoTrackSourceInterface() override = default;
|
||||
|
||||
@ -79,6 +79,14 @@ class RTC_EXPORT AdaptedVideoTrackSource
|
||||
|
||||
void OnSinkWantsChanged(const rtc::VideoSinkWants& wants);
|
||||
|
||||
// Encoded sinks not implemented for AdaptedVideoTrackSource.
|
||||
bool SupportsEncodedOutput() const override { return false; }
|
||||
void GenerateKeyFrame() override {}
|
||||
void AddEncodedSink(
|
||||
rtc::VideoSinkInterface<webrtc::RecordableEncodedFrame>* sink) override {}
|
||||
void RemoveEncodedSink(
|
||||
rtc::VideoSinkInterface<webrtc::RecordableEncodedFrame>* sink) override {}
|
||||
|
||||
cricket::VideoAdapter video_adapter_;
|
||||
|
||||
rtc::CriticalSection stats_crit_;
|
||||
|
||||
@ -248,6 +248,12 @@ class FakeVideoTrackSourceForStats : public VideoTrackSourceInterface {
|
||||
void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
||||
const rtc::VideoSinkWants& wants) override {}
|
||||
void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override {}
|
||||
bool SupportsEncodedOutput() const override { return false; }
|
||||
void GenerateKeyFrame() override {}
|
||||
void AddEncodedSink(
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) override {}
|
||||
void RemoveEncodedSink(
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) override {}
|
||||
|
||||
private:
|
||||
int input_width_;
|
||||
|
||||
@ -41,6 +41,13 @@ class RTC_EXPORT VideoTrackSource : public Notifier<VideoTrackSourceInterface> {
|
||||
const rtc::VideoSinkWants& wants) override;
|
||||
void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
|
||||
|
||||
bool SupportsEncodedOutput() const override { return false; }
|
||||
void GenerateKeyFrame() override {}
|
||||
void AddEncodedSink(
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) override {}
|
||||
void RemoveEncodedSink(
|
||||
rtc::VideoSinkInterface<RecordableEncodedFrame>* sink) override {}
|
||||
|
||||
protected:
|
||||
virtual rtc::VideoSourceInterface<VideoFrame>* source() = 0;
|
||||
|
||||
|
||||
@ -89,6 +89,14 @@ class JavaVideoTrackSourceImpl : public JavaVideoTrackSourceInterface {
|
||||
}
|
||||
|
||||
private:
|
||||
// Encoded sinks not implemented for JavaVideoTrackSourceImpl.
|
||||
bool SupportsEncodedOutput() const override { return false; }
|
||||
void GenerateKeyFrame() override {}
|
||||
void AddEncodedSink(
|
||||
rtc::VideoSinkInterface<webrtc::RecordableEncodedFrame>* sink) override {}
|
||||
void RemoveEncodedSink(
|
||||
rtc::VideoSinkInterface<webrtc::RecordableEncodedFrame>* sink) override {}
|
||||
|
||||
rtc::scoped_refptr<jni::AndroidVideoTrackSource> android_video_track_source_;
|
||||
ScopedJavaGlobalRef<jobject> native_capturer_observer_;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user