fix(mpris): Adapt to zbus 5.0.0 changes

This commit is contained in:
Henrik Friedrichsen
2024-10-31 17:13:11 +01:00
parent 3741cf8ce8
commit 9325f0eb40

View File

@@ -8,9 +8,9 @@ use std::time::Duration;
use tokio::sync::mpsc; use tokio::sync::mpsc;
use tokio_stream::wrappers::UnboundedReceiverStream; use tokio_stream::wrappers::UnboundedReceiverStream;
use tokio_stream::StreamExt; use tokio_stream::StreamExt;
use zbus::object_server::SignalContext; use zbus::object_server::SignalEmitter;
use zbus::zvariant::{ObjectPath, Value}; use zbus::zvariant::{ObjectPath, Value};
use zbus::{interface, ConnectionBuilder}; use zbus::{connection, interface};
use crate::application::ASYNC_RUNTIME; use crate::application::ASYNC_RUNTIME;
use crate::library::Library; use crate::library::Library;
@@ -318,7 +318,7 @@ impl MprisPlayer {
} }
#[zbus(signal)] #[zbus(signal)]
async fn seeked(context: &SignalContext<'_>, position: &i64) -> zbus::Result<()>; async fn seeked(context: &SignalEmitter<'_>, position: &i64) -> zbus::Result<()>;
fn next(&self) { fn next(&self) {
self.queue.next(true) self.queue.next(true)
@@ -521,7 +521,7 @@ impl MprisManager {
root: MprisRoot, root: MprisRoot,
player: MprisPlayer, player: MprisPlayer,
) -> Result<(), Box<dyn Error + Sync + Send>> { ) -> Result<(), Box<dyn Error + Sync + Send>> {
let conn = ConnectionBuilder::session()? let conn = connection::Builder::session()?
.name(instance_bus_name())? .name(instance_bus_name())?
.serve_at("/org/mpris/MediaPlayer2", root)? .serve_at("/org/mpris/MediaPlayer2", root)?
.serve_at("/org/mpris/MediaPlayer2", player)? .serve_at("/org/mpris/MediaPlayer2", player)?
@@ -535,7 +535,7 @@ impl MprisManager {
let player_iface = player_iface_ref.get().await; let player_iface = player_iface_ref.get().await;
loop { loop {
let ctx = player_iface_ref.signal_context(); let ctx = player_iface_ref.signal_emitter();
match rx.next().await { match rx.next().await {
Some(MprisCommand::EmitPlaybackStatus) => { Some(MprisCommand::EmitPlaybackStatus) => {
player_iface.playback_status_changed(ctx).await?; player_iface.playback_status_changed(ctx).await?;