DeadBeef

Rating: 
5
Your rating: None Average: 5 (1 vote)

This is a package with shrunken deadbeef media player core and a bunch of mainline plugins, used as a dependency for DeadBeef Silica application. Please do not install it separately.

Category:

Keywords:

Application versions: 
AttachmentSizeDate
File deadbeef-0.7.2-10.22.1.jolla_.armv7hl.rpm1.95 MB25/12/2017 - 18:09
File deadbeef-0.7.2-10.25.1.jolla_.armv7hl.rpm1.99 MB22/02/2018 - 18:40
File deadbeef-0.7.2-10.27.1.armv7hl.rpm4.94 MB23/04/2019 - 19:50
File deadbeef-0.7.2-10.28.1.armv7hl.rpm4.94 MB12/08/2019 - 19:50

Comments

cmazieri's picture

Hi,

I am interested in learning how to use MPRIS and Bluetooh AVRCP

Is it possible to share the source code? 

Any available documentation about it will also be appreciated.

 

kravich's picture

Hi!

To support MPRIS, you need to implement following specification: https://specifications.freedesktop.org/mpris-spec/latest/

Bluetooth AVRCP support in Bluez 5 (Sailfish X and probably some other phones) is based on MPRIS. To implement it, one must do the following:

  1. Export MPRISv2 interface in application on a system bus also (normally, MPRIS interfaces are exported on a session bus only)
  2. Find an object representing required BT adapter (/org/bluez/hciN) inside org.bluez DBus service on a system bus
  3. Call method org.bluez.Media1.RegisterPlayer() on this adapter object, providing path to your object implementing org.mpris.MediaPlayer2.Player interface, and a set of MPRIS properties

After this, Bluez will use provided object to call Play()/Pause()/etc methods of org.mpris.MediaPlayer2.Player interface on it according to what buttons are pressed on BT headset, and will query object properties to obtain nowplaying information.

Please note that in Bluez 4 (Jolla1 and other phones) AVRCP support is not based on MPRIS and should be implemented in a different way. I can share my findings on it as well if you need.

In DeadBeef Silica, both MPRIS and BT AVRCP functionality is implemented in my fork of a 3rd-party MPRIS plugin:

  1. mprisServer module implements MPRISv2 interface
  2. media1Manager module registers MPRIS-enabled object in a Bluez

You can use this code as a reference.

Please feel free to ask additional questions, I'll be happy to help if i can.

cmazieri's picture

That's very kind of you, 

Thank you very much.

sdiconov's picture

There is also a problem with libzip. Even the rebuilt package fails to install.

manisblack's picture

Hello everyone and thank you for this application
Unfortunately during the update jolla 2.1.4.13 deadbeef was uninstalled, I wanted reinstalled after this update but impossible due to a missing libavcodec.so.56 dependency.

While waiting for the next version of deadbeef, I have manually copied all the application files and dependencies into my system from a backup, and deadbeef is working again.

This message has been translated with google translate.

kravich's picture

Yes, I have got the same problem after update to pre-release version of 2.1.4.13. As a workaround I disabled ffmpeg plugin and uploaded rebuilt "deadbeef" package, so now deadbeef could be installed again.

Because of missing ffmpeg plugin some secondary audio formats may become unplayable. I will try to fix this issue properly along with next update of GUI plugin.

manisblack's picture

Thank you for your answer, I look forward to the next version of deadbeef