Remove superfluous Play initialization

This commit is contained in:
chmanie 2023-05-31 23:26:39 +02:00
parent 6170833c57
commit ddef74be85
1 changed files with 18 additions and 40 deletions

View File

@ -25,8 +25,7 @@ use std::{
}; };
use tonic::{transport::Server, Request, Response, Result, Status}; use tonic::{transport::Server, Request, Response, Result, Status};
fn poll_bus(bus: gstreamer::Bus, tx: flume::Sender<PlaybackMessage>) { fn poll_play_bus(bus: gstreamer::Bus, tx: flume::Sender<PlaybackMessage>) {
loop {
for msg in bus.iter_timed(gstreamer::ClockTime::NONE) { for msg in bus.iter_timed(gstreamer::ClockTime::NONE) {
match PlayMessage::parse(&msg) { match PlayMessage::parse(&msg) {
Ok(PlayMessage::EndOfStream) => { Ok(PlayMessage::EndOfStream) => {
@ -45,10 +44,11 @@ fn poll_bus(bus: gstreamer::Bus, tx: flume::Sender<PlaybackMessage>) {
} }
} }
} }
}
#[tokio::main] #[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> { async fn main() -> Result<(), Box<dyn std::error::Error>> {
gstreamer::init()?;
let (queue_update_tx, _) = tokio::sync::broadcast::channel(100); let (queue_update_tx, _) = tokio::sync::broadcast::channel(100);
let (active_track_tx, _) = tokio::sync::broadcast::channel(1000); let (active_track_tx, _) = tokio::sync::broadcast::channel(1000);
let orchestrator = ProviderOrchestrator::init("").await.unwrap(); let orchestrator = ProviderOrchestrator::init("").await.unwrap();
@ -63,29 +63,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let playback_tx = playback.playback_tx.clone(); let playback_tx = playback.playback_tx.clone();
std::thread::spawn(|| { std::thread::spawn(|| {
poll_bus(bus, playback_tx); poll_play_bus(bus, playback_tx);
}); });
// bus.set_sync_handler(move |_, msg| {
// match PlayMessage::parse(msg) {
// Ok(PlayMessage::EndOfStream) => {
// playback_tx.send(PlaybackMessage::Next).unwrap();
// }
// Ok(PlayMessage::StateChanged { state }) => {
// playback_tx
// .send(PlaybackMessage::StateChanged { state })
// .unwrap();
// }
// Ok(PlayMessage::PositionUpdated { position }) => {}
// Ok(PlayMessage::Buffering { percent }) => {}
// Ok(PlayMessage::VolumeChanged { volume }) => {}
// Ok(PlayMessage::MuteChanged { muted }) => {}
//
// Ok(PlayMessage::MediaInfoUpdated { info }) => {}
// _ => println!("Unknown message: {:?}", msg),
// }
// gstreamer::BusSyncReply::Drop
// });
let crabidy_service = RpcService::new( let crabidy_service = RpcService::new(
queue_update_tx, queue_update_tx,
active_track_tx, active_track_tx,
@ -176,8 +156,6 @@ impl ProviderOrchestrator {
#[async_trait] #[async_trait]
impl ProviderClient for ProviderOrchestrator { impl ProviderClient for ProviderOrchestrator {
async fn init(_s: &str) -> Result<Self, ProviderError> { async fn init(_s: &str) -> Result<Self, ProviderError> {
gstreamer::init().unwrap();
let play = Play::new(None::<PlayVideoRenderer>);
let state = Mutex::new(PlayState::Stopped); let state = Mutex::new(PlayState::Stopped);
let queue = Mutex::new(Queue { let queue = Mutex::new(Queue {
timestamp: 0, timestamp: 0,