diff --git a/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp b/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp index 4dce79598d..f8b19aa9d1 100644 --- a/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp +++ b/src/add-ons/media/media-add-ons/mixer/AudioMixer.cpp @@ -897,11 +897,11 @@ AudioMixer::GetParameterValue(int32 id, bigtime_t *last_change, } if (PARAM_IS_GAIN(id)) { // input gain control - if (*ioSize < input->GetMixerChannelCount() * sizeof(float)) + if (*ioSize < input->GetInputChannelCount() * sizeof(float)) goto err; - *ioSize = input->GetMixerChannelCount() * sizeof(float); - for (int chan = 0; chan < input->GetMixerChannelCount(); chan++) - static_cast(value)[chan] = DB_TO_GAIN(input->GetMixerChannelGain(chan)); + *ioSize = input->GetInputChannelCount() * sizeof(float); + for (int chan = 0; chan < input->GetInputChannelCount(); chan++) + static_cast(value)[chan] = DB_TO_GAIN(input->GetInputChannelGain(chan)); } } *last_change = TimeSource()->Now(); // XXX we could do better @@ -951,10 +951,10 @@ AudioMixer::SetParameterValue(int32 id, bigtime_t when, } if (PARAM_IS_GAIN(id)) { // input gain control - if (size < input->GetMixerChannelCount() * sizeof(float)) + if (size < input->GetInputChannelCount() * sizeof(float)) goto err; - for (int chan = 0; chan < input->GetMixerChannelCount(); chan++) - input->SetMixerChannelGain(chan, GAIN_TO_DB(static_cast(value)[chan])); + for (int chan = 0; chan < input->GetInputChannelCount(); chan++) + input->SetInputChannelGain(chan, GAIN_TO_DB(static_cast(value)[chan])); } } BroadcastNewParameterValue(when, id, const_cast(value), size); @@ -1005,7 +1005,7 @@ AudioMixer::UpdateParameterWeb() group->MakeNullParameter(PARAM_FORMAT(in->ID()), B_MEDIA_RAW_AUDIO, StringForFormat(in), B_GENERIC); group->MakeDiscreteParameter(PARAM_MUTE(in->ID()), B_MEDIA_RAW_AUDIO, "Mute", B_MUTE); group->MakeContinuousParameter(PARAM_GAIN(in->ID()), B_MEDIA_RAW_AUDIO, "Gain", B_GAIN, "dB", -60.0, 18.0, 0.5) - ->SetChannelCount(in->GetMixerChannelCount()); + ->SetChannelCount(in->GetInputChannelCount()); group->MakeNullParameter(PARAM_OUTPUT(in->ID()), B_MEDIA_RAW_AUDIO, "To Master", B_WEB_BUFFER_OUTPUT); } @@ -1024,9 +1024,9 @@ AudioMixer::UpdateParameterWeb() group = inputchannels->MakeGroup(""); group->MakeNullParameter(10003, B_MEDIA_RAW_AUDIO, "Input Channel Sources 1", B_WEB_BUFFER_OUTPUT); - SetParameterWeb(web); - fCore->Unlock(); + + SetParameterWeb(web); } #if USE_MEDIA_FORMAT_WORKAROUND diff --git a/src/add-ons/media/media-add-ons/mixer/MixerOutput.cpp b/src/add-ons/media/media-add-ons/mixer/MixerOutput.cpp index 013f3e65cc..823a88e991 100644 --- a/src/add-ons/media/media-add-ons/mixer/MixerOutput.cpp +++ b/src/add-ons/media/media-add-ons/mixer/MixerOutput.cpp @@ -319,4 +319,4 @@ void MixerOutput::SetMuted(bool yesno) { fMuted = yesno; -} \ No newline at end of file +}