summaryrefslogtreecommitdiffstats
path: root/dom/media/DeviceInputTrack.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/DeviceInputTrack.cpp')
-rw-r--r--dom/media/DeviceInputTrack.cpp24
1 files changed, 19 insertions, 5 deletions
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<AudioDataListener*> 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<DeviceInputTrack*>(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 =