// TODO(tommi): Instead of inheriting from `MediaStreamTrack<>`, implement the // properties directly in this class. `MediaStreamTrack` doesn't guard against // conflicting access, so we'd need to override those methods anyway in this // class in order to make sure things are correctly checked. class VideoTrack : public MediaStreamTrack<VideoTrackInterface>, public VideoSourceBaseGuarded, public ObserverInterface { public: static scoped_refptr<VideoTrack> Create(
absl::string_view label,
scoped_refptr<VideoTrackSourceInterface> source,
Thread* worker_thread);
RTC_NO_UNIQUE_ADDRESS SequenceChecker signaling_thread_;
Thread* const worker_thread_; const scoped_refptr<
VideoTrackSourceProxyWithInternal<VideoTrackSourceInterface>>
video_source_;
ContentHint content_hint_ RTC_GUARDED_BY(&signaling_thread_); // Cached `enabled` state for the worker thread. This is kept in sync with // the state maintained on the signaling thread via set_enabled() but can // be queried without blocking on the worker thread by callers that don't // use an api proxy to call the `enabled()` method. bool enabled_w_ RTC_GUARDED_BY(worker_thread_) = true;
};
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.