/* * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree.
*/
// 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<webrtc::VideoFrame> { public:
VideoSourceBase();
~VideoSourceBase() override; void AddOrUpdateSink(VideoSinkInterface<webrtc::VideoFrame>* sink, const VideoSinkWants& wants) override; void RemoveSink(VideoSinkInterface<webrtc::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<webrtc::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 webrtc::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.