From d8bbc7858622b6d9c278469aab701ca0b609cddf Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 15 May 2024 05:35:49 +0200 Subject: Merging upstream version 126.0. Signed-off-by: Daniel Baumann --- dom/media/DeviceInputTrack.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'dom/media/DeviceInputTrack.cpp') diff --git a/dom/media/DeviceInputTrack.cpp b/dom/media/DeviceInputTrack.cpp index 87d1ae73ab..5d69f7107a 100644 --- a/dom/media/DeviceInputTrack.cpp +++ b/dom/media/DeviceInputTrack.cpp @@ -127,28 +127,42 @@ NotNull DeviceInputConsumerTrack::GetAudioDataListener() return WrapNotNull(mListener.get()); } -bool DeviceInputConsumerTrack::ConnectToNativeDevice() const { +bool DeviceInputConsumerTrack::ConnectedToNativeDevice() const { MOZ_ASSERT(NS_IsMainThread()); return mDeviceInputTrack && mDeviceInputTrack->AsNativeInputTrack(); } -bool DeviceInputConsumerTrack::ConnectToNonNativeDevice() const { +bool DeviceInputConsumerTrack::ConnectedToNonNativeDevice() const { MOZ_ASSERT(NS_IsMainThread()); return mDeviceInputTrack && mDeviceInputTrack->AsNonNativeInputTrack(); } +DeviceInputTrack* DeviceInputConsumerTrack::GetDeviceInputTrackGraphThread() + const { + AssertOnGraphThread(); + + if (mInputs.IsEmpty()) { + return nullptr; + } + MOZ_ASSERT(mInputs.Length() == 1); + MediaTrack* track = mInputs[0]->GetSource(); + MOZ_ASSERT(track->AsDeviceInputTrack()); + return static_cast(track); +} + void DeviceInputConsumerTrack::GetInputSourceData(AudioSegment& aOutput, - const MediaInputPort* aPort, GraphTime aFrom, GraphTime aTo) const { AssertOnGraphThread(); MOZ_ASSERT(aOutput.IsEmpty()); + MOZ_ASSERT(mInputs.Length() == 1); - MediaTrack* source = aPort->GetSource(); + MediaInputPort* port = mInputs[0]; + MediaTrack* source = port->GetSource(); GraphTime next; for (GraphTime t = aFrom; t < aTo; t = next) { MediaInputPort::InputInterval interval = - MediaInputPort::GetNextInputInterval(aPort, t); + MediaInputPort::GetNextInputInterval(port, t); interval.mEnd = std::min(interval.mEnd, aTo); const bool inputEnded = -- cgit v1.2.3