// VideoSourceBase is not thread safe. Before using this class, consider using // VideoSourceBaseGuarded below instead, which is an identical implementation // but applies a sequence checker to help protect internal state. // TODO(bugs.webrtc.org/12780): Delete this class. class VideoSourceBase : public VideoSourceInterface<VideoFrame> { public:
VideoSourceBase();
~VideoSourceBase() override; void AddOrUpdateSink(VideoSinkInterface<VideoFrame>* sink, const VideoSinkWants& wants) override; void RemoveSink(VideoSinkInterface<VideoFrame>* sink) override;
// VideoSourceBaseGuarded assumes that operations related to sinks, occur on the // same TQ/thread that the object was constructed on. class VideoSourceBaseGuarded : public VideoSourceInterface<VideoFrame> { public:
VideoSourceBaseGuarded();
~VideoSourceBaseGuarded() override;
// Keep the `source_sequence_` checker protected to allow sub classes the // ability to call Detach() if/when appropriate.
RTC_NO_UNIQUE_ADDRESS SequenceChecker source_sequence_;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.