Notification instantiates qt.mediaplayer even when not playing any sound

Bug #1442473 reported by Ricardo Salveti
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Confirmed
Low
Michał Sawicz
qtubuntu-media (Ubuntu)
Invalid
Undecided
Unassigned
unity-notifications (Ubuntu)
Invalid
Undecided
Unassigned
unity8 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

phablet@ubuntu-phablet:~$ system-image-cli -i
current build number: 166
device name: mako
channel: ubuntu-touch/devel-proposed
alias: ubuntu-touch/vivid-proposed
last update: 2015-04-09 16:57:42
version version: 166
version ubuntu: 20150409
version device: 20150210
version custom: 20150409

This is specially annoying as it happens every time you change the volume without an active notification. Side effect is that it fires up media-hub, that initializes gstreamer for not really playing anything.

Just press volume up/down and check the unity8/media-hub logs:

$ tail -f ./.cache/upstart/unity8.log
virtual QMediaService* AalServicePlugin::create(const QString&) "org.qt-project.qt.mediaplayer"
Creating a new static Service instance
virtual int AalMediaPlayerControl::volume() const
void AalMediaPlayerService::createMetaDataReaderControl()
virtual QMediaPlayer::State AalMediaPlayerControl::state() const
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const
virtual void AalMediaPlayerControl::setAudioRole(QMediaPlayer::AudioRole)
void AalMediaPlayerService::setAudioRole(QMediaPlayer::AudioRole)
virtual void AalMediaPlayerControl::stop()
PlaybackStatusChanged signal arrived via the bus.
virtual void AalMediaPlayerControl::setMedia(const QMediaContent&, QIODevice*)
void AalMetaDataReaderControl::onMediaChanged(const QMediaContent&)
void AalMetaDataReaderControl::updateMetaData()
Not updating metadata since the source has not been set.
void AalMediaPlayerControl::playbackComplete()
virtual void AalMediaPlayerControl::stop()
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const
virtual void AalMediaPlayerControl::play()
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const
virtual void AalMediaPlayerControl::stop()
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const
virtual QMediaPlayer::MediaStatus AalMediaPlayerControl::mediaStatus() const

$ tail -f ./.cache/upstart/media-hub.log
audio_sink: pulsesink
video_sink: mirsink
Creating a new Engine instance in gstreamer::Engine::Engine()
Private parent instance: 0xabc4c2a4
Audio stream role: props,media.role=multimedia
Audio stream role: props,media.role=alert
void core::ubuntu::media::PlayerImplementation<Parent>::stop() [with Parent = core::ubuntu::media::PlayerSkeleton]
bool gstreamer::Playbin::set_state_and_wait(GstState): requested state change.
Setting state for parent: 0xabc4c2a4
virtual bool gstreamer::Engine::stop()
Emiting playback_status_changed for parent: 0xabc4c2a4
void core::ubuntu::media::PlayerImplementation<Parent>::stop() [with Parent = core::ubuntu::media::PlayerSkeleton]
void core::ubuntu::media::PlayerImplementation<Parent>::stop() [with Parent = core::ubuntu::media::PlayerSkeleton]

Revision history for this message
Michał Sawicz (saviq) wrote :

I wonder if the solution here lies in qtubuntu-media instead? It could defer talking to media hub until it knows there's something to play.

Otherwise you'll just fight with every app out there doing the normal QML thing of having an element instantiated statically.

Changed in unity8 (Ubuntu):
status: New → Opinion
Changed in unity-notifications (Ubuntu):
status: New → Invalid
Revision history for this message
Jim Hodapp (jhodapp) wrote :

In my opinion, I don't think it's proper to address this at the qtubuntu-media level since the decisions around this behavior really lie with each application. To accommodate this would be to massively change the way qtubuntu-media is implemented potentially introducing significant regressions. The indicator should fix this specific issue.

Changed in qtubuntu-media (Ubuntu):
status: New → Invalid
Changed in unity8 (Ubuntu):
status: Opinion → Confirmed
Revision history for this message
Pat McGowan (pat-mcgowan) wrote :

do we care anymore?

Changed in canonical-devices-system-image:
assignee: nobody → Michał Sawicz (saviq)
importance: Undecided → Low
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.