[kdeconnect] [Bug 469617] MPRIS receivers/controllers are ignoring playback rate to extrapolate current play position

2024-06-03 Thread Double Jumper
https://bugs.kde.org/show_bug.cgi?id=469617

Double Jumper  changed:

   What|Removed |Added

 CC||doubjumper+...@gmail.com

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdeconnect] [Bug 469617] MPRIS receivers/controllers are ignoring playback rate to extrapolate current play position

2023-05-23 Thread Andy Holmes
https://bugs.kde.org/show_bug.cgi?id=469617

--- Comment #3 from Andy Holmes  ---
Fair enough, I don't do a lot of podcasting so I hadn't considered that.

In that case I would suggest a slightly simplified way of communicating this,
in the form of a triplet like `[rate, min, max]`. If the field is missing
(older clients), it can be assumed `[1.0, 1.0, 1.0]`. The min/max would be
required since if this is a useful feature, we will certainly want to be able
to control it as well.

If the value is, or falls back to `[1.0, 1.0, 1.0]` we can assume it's
unsupported or not controllable and hide any UI in remote controls.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdeconnect] [Bug 469617] MPRIS receivers/controllers are ignoring playback rate to extrapolate current play position

2023-05-12 Thread bugzilla_noreply
https://bugs.kde.org/show_bug.cgi?id=469617

--- Comment #2 from b...@mogwai.be ---
(In reply to Andy Holmes from comment #1)
> ...
> It would very much preferable to just have clients update the position
> property more frequently in this case, rather than try to support more of
> the MPRIS interface explicitly. Playback rates other than 1.0 are pretty
> uncommon, usually only occur for short periods of time (i.e. seeking), and
> re-using the `pos` field would be backwards compatible.

Well, I'm the developer of Kasts, and non-standard playback rate is among the
top 5 requirements for podcast players.  That's also why I noticed this problem
and started investigating this.
So far, Kasts was simply relaying the position-changed signals coming from the
audio backend, which leads to such signals being sent 1 to 4 times per second,
depending on the backend.  However, that approach will make kdeconnect drain
the battery at 10% per hour on my android device: see
https://bugs.kde.org/show_bug.cgi?id=442782 .
Then, while re-implementing MPRIS position properly, I ran into this playback
rate bug.

So, while I recognize that many players do not implement MPRIS properly
(including Kasts up to now), that doesn't mean that kdeconnect should not do
so.  As a matter of fact, these kinds of bugs are actually holding back players
implementing the intended standard properly.

Anyway, I was looking at the kdeconnect source code, and it doesn't look very
complicated(*) to implement.  It's just a matter of sending the rate reported
through DBus and using it in the one line of code that does the extrapolated
play position.  I was actually planning on making MRs for this.

(*) Not very complicated in the sense that the basic principle is very simple,
but it does seem to require a lot of boilerplate code to send/receive and store
the value.  And I would also need to figure out how to build the android app
locally.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kdeconnect] [Bug 469617] MPRIS receivers/controllers are ignoring playback rate to extrapolate current play position

2023-05-11 Thread Andy Holmes
https://bugs.kde.org/show_bug.cgi?id=469617

--- Comment #1 from Andy Holmes  ---
I'd like to put in my two cents here, having struggled with many players
claiming MPRIS compliance. The reality is that there 1-2 players at any given
time that correctly implement the full interface, especially when it comes to
the playback position.

It would very much preferable to just have clients update the position property
more frequently in this case, rather than try to support more of the MPRIS
interface explicitly. Playback rates other than 1.0 are pretty uncommon,
usually only occur for short periods of time (i.e. seeking), and re-using the
`pos` field would be backwards compatible.

-- 
You are receiving this mail because:
You are watching all bug changes.