← Back to team overview

touch-packages team mailing list archive

[Bug 1485522] Re: Volume obtained is 100% in multimedia sink for sounds from app

 

You can find more information about this problem in Qt at https://bugreports.qt.io/browse/QTBUG-36511 
This was about QMediaPlayer, but the problem still exists for QAudioOutput and QSoundEffect.

A possible fix in Qt would be to check if the sink has flat volumes enabled and if it does, do software-based attenuation (in Qt).
That way, QSoundEffect and QAudioOutput volumes would always be relative to the stream role's volume.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to pulseaudio in Ubuntu.
https://bugs.launchpad.net/bugs/1485522

Title:
  Volume obtained is 100% in multimedia sink for sounds from app

Status in Canonical System Image:
  Confirmed
Status in pulseaudio package in Ubuntu:
  Confirmed
Status in qtmultimedia-opensource-src package in Ubuntu:
  Confirmed
Status in qtubuntu-media package in Ubuntu:
  Confirmed

Bug description:
  I'm not sure 100% this is a bug but it is related to
  https://bugs.launchpad.net/canonical-devices-system-image/+bug/1478506

  When the "Marron in trouble" games launches a sound the multimedia
  sink it's updated and when reading the volume it's always 100%.

  I'ts not 100% for other applications using the multimedia role, like
  the music app or other games/apps. The volume in that case is in sync
  with the volume that was previously set for it.

  This is the code from the indicator-sound where we get the 100%
  volume.

  var props_variant = yield _pconn.call ("org.PulseAudio.Ext.StreamRestore1.RestoreEntry",
  						sink_input_objp, "org.freedesktop.DBus.Properties", "Get",
  						new Variant ("(ss)", "org.PulseAudio.Ext.StreamRestore1.RestoreEntry", "Volume"),
  						null, DBusCallFlags.NONE, -1);
  				Variant tmp;
  				props_variant.get ("(v)", out tmp);
  				uint32 type = 0, volume = 0;
  				VariantIter iter = tmp.iterator ();
  				iter.next ("(uu)", &type, &volume);

  I did a workaround branch in the indicator-sound that reads the volume
  at initilaization for every role and stores any change When the sink
  is updated I read the volume in it that is already stored instead of
  reading the volume from pulse.

  I'm not convinced of that, and would like to know why I get 100%
  volume only for this particular game.

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1485522/+subscriptions


References