diff --git a/backends/gstreamer/src/audio_decoder.rs b/backends/gstreamer/src/audio_decoder.rs index c002fdc0..c68656ae 100644 --- a/backends/gstreamer/src/audio_decoder.rs +++ b/backends/gstreamer/src/audio_decoder.rs @@ -170,7 +170,6 @@ impl AudioDecoder for GStreamerAudioDecoder { .map_err(|e| BackendError::SetPropertyFailed(e.0))?; let callbacks_ = callbacks.clone(); - let callbacks__ = callbacks.clone(); appsink.set_callbacks( AppSinkCallbacks::new() .new_sample(move |appsink| { @@ -230,9 +229,6 @@ impl AudioDecoder for GStreamerAudioDecoder { gst::FlowReturn::Ok }) - .eos(move |_| { - callbacks__.eos(); - }) .build(), ); @@ -324,6 +320,10 @@ impl AudioDecoder for GStreamerAudioDecoder { )); let _ = sender.lock().unwrap().send(()); } + MessageView::Eos(_) => { + callbacks_.eos(); + let _ = sender.lock().unwrap().send(()); + } _ => (), } gst::BusSyncReply::Drop