Bug 1277284 - Reset the volume when starting a new audio stream for a MediaStreamGraph. r?jesup
This prevents having the volume set to zero in some cases.
MozReview-Commit-ID: 4JSCDcd7jmT
--- a/dom/media/GraphDriver.cpp
+++ b/dom/media/GraphDriver.cpp
@@ -621,16 +621,19 @@ AudioCallbackDriver::Init()
cubeb_stream_init(CubebUtils::GetCubebContext(), &stream,
"AudioCallbackDriver",
input_id,
mGraphImpl->mInputWanted ? &input : nullptr,
output_id,
mGraphImpl->mOutputWanted ? &output : nullptr, latency,
DataCallback_s, StateCallback_s, this) == CUBEB_OK) {
mAudioStream.own(stream);
+ int rv = cubeb_stream_set_volume(mAudioStream, CubebUtils::GetVolumeScale());
+ NS_WARN_IF_FALSE(rv == CUBEB_OK,
+ "Could not set the audio stream volume in GraphDriver.cpp");
} else {
#ifdef MOZ_WEBRTC
StaticMutexAutoUnlock unlock(AudioInputCubeb::Mutex());
#endif
NS_WARNING("Could not create a cubeb stream for MediaStreamGraph, falling back to a SystemClockDriver");
// Fall back to a driver using a normal thread.
MonitorAutoLock lock(GraphImpl()->GetMonitor());
SetNextDriver(new SystemClockDriver(GraphImpl()));