From 8dd16259287f58f9273002717ec4d27e97127719 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 12 Jun 2024 07:43:14 +0200 Subject: Merging upstream version 127.0. Signed-off-by: Daniel Baumann --- dom/media/DeviceInputTrack.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'dom/media/DeviceInputTrack.h') diff --git a/dom/media/DeviceInputTrack.h b/dom/media/DeviceInputTrack.h index 0a92ded13c..8be53f415d 100644 --- a/dom/media/DeviceInputTrack.h +++ b/dom/media/DeviceInputTrack.h @@ -172,11 +172,19 @@ class DeviceInputTrack : public ProcessedMediaTrack { // Main thread API: const nsTArray>& GetConsumerTracks() const; + // Handle the result of an async operation to set processing params on a cubeb + // stream. If the operation failed, signal this to listeners and then disable + // processing. If the operation succeeded, directly signal this to listeners. + void NotifySetRequestedProcessingParamsResult( + MediaTrackGraph* aGraph, cubeb_input_processing_params aRequestedParams, + const Result& aResult); // Graph thread APIs: // Query audio settings from its users. uint32_t MaxRequestedInputChannels() const; bool HasVoiceInput() const; + // Query for the aggregate processing params from all users. + cubeb_input_processing_params RequestedProcessingParams() const; // Deliver notification to its users. void DeviceChanged(MediaTrackGraph* aGraph) const; @@ -265,6 +273,7 @@ class NonNativeInputTrack final : public DeviceInputTrack { void NotifyDeviceChanged(AudioInputSource::Id aSourceId); void NotifyInputStopped(AudioInputSource::Id aSourceId); AudioInputSource::Id GenerateSourceId(); + void ReevaluateProcessingParams(); private: ~NonNativeInputTrack() = default; @@ -272,6 +281,8 @@ class NonNativeInputTrack final : public DeviceInputTrack { // Graph thread only. RefPtr mAudioSource; AudioInputSource::Id mSourceIdNumber; + cubeb_input_processing_params mRequestedProcessingParams = + CUBEB_INPUT_PROCESSING_PARAM_NONE; #ifdef DEBUG // Graph thread only. -- cgit v1.2.3