Dbus-plugin does not work right.

Bug #1491421 reported by moma
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
totem (Ubuntu)
New
Undecided
Unassigned

Bug Description

Totem's DBus-plugin may have a bug. I try to control the Totem-player from Audio-Recorder. Audio-recorder does see the player on the DBus but Totem does not reply requests.

This same bug was reported last year too. And year before. Now this annoying bug is back!
What the H* are they doing?

I run totem v3.16.2 on Ubuntu 15.10 (test).
$ totem --version
totem 3.16.2
--------

Totem fails to return "PlaybackStatus". Run the following dbus-send command in a terminal window. It is a long one-line command:

$ dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.totem /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'PlaybackStatus'

Error org.freedesktop.DBus.Python.AttributeError: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/dbus/service.py", line 707, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/lib/totem/plugins/dbus/dbusservice.py", line 164, in Get
    return self.GetAll (interface_name)[property_name]
  File "/usr/lib/totem/plugins/dbus/dbusservice.py", line 182, in GetAll
    if self.totem.action_remote_get_setting (
AttributeError: 'Object' object has no attribute 'action_remote_get_setting'
----------------------------------------

Totem fails to return "Metadata". Run the following dbus-send command in a terminal window. It is a long one-line command:

$ dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'

dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.totem /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'
Error org.freedesktop.DBus.Python.AttributeError: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/dbus/service.py", line 707, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "/usr/lib/totem/plugins/dbus/dbusservice.py", line 164, in Get
    return self.GetAll (interface_name)[property_name]
  File "/usr/lib/totem/plugins/dbus/dbusservice.py", line 182, in GetAll
    if self.totem.action_remote_get_setting (
AttributeError: 'Object' object has no attribute 'action_remote_get_setting'
----------------------------------------------------

Good samples:
Here are correct replies from the RhythmBox player:

Get PlaybackStatus from RhythmBox:

$ dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'PlaybackStatus'

method return time=1441188372.041001 sender=:1.146 -> destination=:1.149 serial=194 reply_serial=2
   variant string "Playing"
-----------------

And get Metadata from RhytmBox:

$ dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'

method return time=1441188535.630312 sender=:1.146 -> destination=:1.161 serial=226 reply_serial=2
   variant array [
         dict entry(
            string "mpris:trackid"
            variant string "/org/mpris/MediaPlayer2/Track/2"
         )
         dict entry(
            string "xesam:url"
            variant string "http://ubuntu.hbr1.com:19800/tronic.ogg"
         )
         dict entry(
            string "xesam:title"
            variant string "After Midnight Dejavu (2006)"
         )
         dict entry(
            string "xesam:genre"
            variant array [
                  string "House"
               ]
         )
         dict entry(
            string "rhythmbox:streamTitle"
            variant string "HBR1.com - Tronic Lounge"
         )

....
....

BTW: I can see in the Audio-recorder (when debugging) that Totems sends some DBus-messages repeatedly. Audio-recorder gets mad by receiving 20 STOP, START, PAUSE, START, STOP, PAUSE, STOP... messages. I programmed a special workaround for Totem in Audio-Recorder.

Ref:
http://bazaar.launchpad.net/~audio-recorder/audio-recorder/trunk/view/head:/src/dbus-mpris2.c

https://launchpad.net/~audio-recorder

ProblemType: Bug
DistroRelease: Ubuntu 15.10
Package: totem 3.16.2-1ubuntu3
ProcVersionSignature: Ubuntu 4.1.0-3.3-generic 4.1.3
Uname: Linux 4.1.0-3-generic x86_64
ApportVersion: 2.18-0ubuntu7
Architecture: amd64
CurrentDesktop: Unity
Date: Wed Sep 2 15:10:10 2015
InstallationDate: Installed on 2015-08-29 (3 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20150827)
SourcePackage: totem
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
moma (osmoma) wrote :
moma (osmoma)
description: updated
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.