#include "third_party/blink/renderer/modules/mediastream/transferred_media_stream_track.h"
#include <cstdint>
#include <memory>
#include "base/functional/callback_helpers.h"
#include "build/build_config.h"
#include "third_party/blink/public/platform/modules/mediastream/web_media_stream_track.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_double_range.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_long_range.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_media_track_capabilities.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_media_track_constraints.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_media_track_settings.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_point_2d.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/dom/events/native_event_listener.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/modules/imagecapture/image_capture.h"
#include "third_party/blink/renderer/modules/mediastream/apply_constraints_request.h"
#include "third_party/blink/renderer/modules/mediastream/browser_capture_media_stream_track.h"
#include "third_party/blink/renderer/modules/mediastream/media_constraints_impl.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_track.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_track_video_stats.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_utils.h"
#include "third_party/blink/renderer/modules/mediastream/media_stream_video_track.h"
#include "third_party/blink/renderer/modules/mediastream/overconstrained_error.h"
#include "third_party/blink/renderer/modules/mediastream/processed_local_audio_source.h"
#include "third_party/blink/renderer/modules/mediastream/user_media_client.h"
#include "third_party/blink/renderer/modules/mediastream/webaudio_media_stream_audio_sink.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_vector.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_audio_source.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_component.h"
#include "third_party/blink/renderer/platform/mediastream/media_stream_web_audio_source.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
TransferredMediaStreamTrack::TransferredMediaStreamTrack(
ExecutionContext* execution_context,
const TransferredValues& data)
: … { … }
String TransferredMediaStreamTrack::kind() const { … }
String TransferredMediaStreamTrack::id() const { … }
String TransferredMediaStreamTrack::label() const { … }
bool TransferredMediaStreamTrack::enabled() const { … }
void TransferredMediaStreamTrack::setEnabled(bool enabled) { … }
bool TransferredMediaStreamTrack::muted() const { … }
String TransferredMediaStreamTrack::ContentHint() const { … }
void TransferredMediaStreamTrack::SetContentHint(const String& content_hint) { … }
String TransferredMediaStreamTrack::readyState() const { … }
MediaStreamTrack* TransferredMediaStreamTrack::clone(
ExecutionContext* execution_context) { … }
void TransferredMediaStreamTrack::stopTrack(
ExecutionContext* execution_context) { … }
MediaTrackCapabilities* TransferredMediaStreamTrack::getCapabilities() const { … }
MediaTrackConstraints* TransferredMediaStreamTrack::getConstraints() const { … }
MediaTrackSettings* TransferredMediaStreamTrack::getSettings() const { … }
V8UnionMediaStreamTrackAudioStatsOrMediaStreamTrackVideoStats*
TransferredMediaStreamTrack::stats() { … }
CaptureHandle* TransferredMediaStreamTrack::getCaptureHandle() const { … }
ScriptPromise<IDLUndefined> TransferredMediaStreamTrack::applyConstraints(
ScriptState* script_state,
const MediaTrackConstraints* constraints) { … }
void TransferredMediaStreamTrack::applyConstraints(
ScriptPromiseResolver<IDLUndefined>* resolver,
const MediaTrackConstraints* constraints) { … }
void TransferredMediaStreamTrack::SetImplementation(MediaStreamTrack* track) { … }
void TransferredMediaStreamTrack::SetComponentImplementation(
MediaStreamComponent* component) { … }
void TransferredMediaStreamTrack::SetInitialConstraints(
const MediaConstraints& constraints) { … }
void TransferredMediaStreamTrack::SetConstraints(
const MediaConstraints& constraints) { … }
MediaStreamSource::ReadyState TransferredMediaStreamTrack::GetReadyState() { … }
MediaStreamComponent* TransferredMediaStreamTrack::Component() const { … }
bool TransferredMediaStreamTrack::Ended() const { … }
void TransferredMediaStreamTrack::RegisterMediaStream(MediaStream* stream) { … }
void TransferredMediaStreamTrack::UnregisterMediaStream(MediaStream* stream) { … }
const AtomicString& TransferredMediaStreamTrack::InterfaceName() const { … }
ExecutionContext* TransferredMediaStreamTrack::GetExecutionContext() const { … }
void TransferredMediaStreamTrack::AddedEventListener(
const AtomicString& event_type,
RegisteredEventListener& registered_listener) { … }
bool TransferredMediaStreamTrack::HasPendingActivity() const { … }
std::unique_ptr<AudioSourceProvider>
TransferredMediaStreamTrack::CreateWebAudioSource(
int context_sample_rate,
base::TimeDelta platform_buffer_duration) { … }
ImageCapture* TransferredMediaStreamTrack::GetImageCapture() { … }
std::optional<const MediaStreamDevice> TransferredMediaStreamTrack::device()
const { … }
void TransferredMediaStreamTrack::BeingTransferred(
const base::UnguessableToken& transfer_id) { … }
bool TransferredMediaStreamTrack::TransferAllowed(String& message) const { … }
void TransferredMediaStreamTrack::AddObserver(Observer* observer) { … }
TransferredMediaStreamTrack::EventPropagator::EventPropagator(
MediaStreamTrack* underlying_track,
TransferredMediaStreamTrack* transferred_track)
: … { … }
void TransferredMediaStreamTrack::EventPropagator::Invoke(ExecutionContext*,
Event* event) { … }
void TransferredMediaStreamTrack::EventPropagator::Trace(
Visitor* visitor) const { … }
void TransferredMediaStreamTrack::Trace(Visitor* visitor) const { … }
TransferredMediaStreamTrack::ConstraintsPair::ConstraintsPair(
ScriptPromiseResolver<IDLUndefined>* resolver,
const MediaTrackConstraints* constraints)
: … { … }
void TransferredMediaStreamTrack::ConstraintsPair::Trace(
Visitor* visitor) const { … }
}