From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- dom/media/webrtc/jsapi/RemoteTrackSource.h | 64 ++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 dom/media/webrtc/jsapi/RemoteTrackSource.h (limited to 'dom/media/webrtc/jsapi/RemoteTrackSource.h') diff --git a/dom/media/webrtc/jsapi/RemoteTrackSource.h b/dom/media/webrtc/jsapi/RemoteTrackSource.h new file mode 100644 index 0000000000..be730f0030 --- /dev/null +++ b/dom/media/webrtc/jsapi/RemoteTrackSource.h @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef DOM_MEDIA_WEBRTC_JSAPI_REMOTETRACKSOURCE_H_ +#define DOM_MEDIA_WEBRTC_JSAPI_REMOTETRACKSOURCE_H_ + +#include "MediaStreamTrack.h" + +namespace mozilla { + +namespace dom { +class RTCRtpReceiver; +} + +class SourceMediaTrack; + +class RemoteTrackSource : public dom::MediaStreamTrackSource { + public: + NS_DECL_ISUPPORTS_INHERITED + NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(RemoteTrackSource, + dom::MediaStreamTrackSource) + + RemoteTrackSource(SourceMediaTrack* aStream, dom::RTCRtpReceiver* aReceiver, + nsIPrincipal* aPrincipal, const nsString& aLabel, + TrackingId aTrackingId); + + void Destroy() override; + + dom::MediaSourceEnum GetMediaSource() const override { + return dom::MediaSourceEnum::Other; + } + + RefPtr ApplyConstraints( + const dom::MediaTrackConstraints& aConstraints, + dom::CallerType aCallerType) override; + + void Stop() override { + // XXX (Bug 1314270): Implement rejection logic if necessary when we have + // clarity in the spec. + } + + void Disable() override {} + + void Enable() override {} + + void SetPrincipal(nsIPrincipal* aPrincipal); + void SetMuted(bool aMuted); + void ForceEnded(); + + SourceMediaTrack* Stream() const; + + private: + virtual ~RemoteTrackSource(); + + RefPtr mStream; + RefPtr mReceiver; +}; + +} // namespace mozilla + +#endif // DOM_MEDIA_WEBRTC_JSAPI_REMOTETRACKSOURCE_H_ -- cgit v1.2.3