aboutsummaryrefslogtreecommitdiffstats
path: root/src/audio_player.rs
diff options
context:
space:
mode:
authorJokler <jokler@protonmail.com>2020-01-14 04:46:57 +0100
committerJokler <jokler@protonmail.com>2020-01-14 04:46:57 +0100
commit8fe65c0e790e15eab8a3009c7ae6eb272a6bf862 (patch)
treea889324406852c54cd785be86fac644670bc416f /src/audio_player.rs
parent39b248df9c92b3a6bc94c3eb3e872e502b3cef7a (diff)
downloadpokebot-8fe65c0e790e15eab8a3009c7ae6eb272a6bf862.tar.gz
pokebot-8fe65c0e790e15eab8a3009c7ae6eb272a6bf862.zip
Use async channel to guarantee tokio never blocks
Diffstat (limited to 'src/audio_player.rs')
-rw-r--r--src/audio_player.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/audio_player.rs b/src/audio_player.rs
index c4b4b26..68fcc7b 100644
--- a/src/audio_player.rs
+++ b/src/audio_player.rs
@@ -9,8 +9,8 @@ use gstreamer_audio::{StreamVolume, StreamVolumeFormat};
use crate::{ApplicationMessage, State};
use glib::BoolError;
use log::{debug, error, info, warn};
-use std::sync::mpsc::Sender;
use std::sync::{Arc, Mutex};
+use tokio02::sync::mpsc::UnboundedSender;
static GST_INIT: Once = Once::new();
@@ -38,7 +38,7 @@ pub struct AudioPlayer {
http_src: gst::Element,
volume: gst::Element,
- sender: Arc<Mutex<Sender<ApplicationMessage>>>,
+ sender: Arc<Mutex<UnboundedSender<ApplicationMessage>>>,
}
fn make_element(factoryname: &str, display_name: &str) -> Result<gst::Element, AudioPlayerError> {
@@ -87,7 +87,7 @@ fn add_decode_bin_new_pad_callback(
impl AudioPlayer {
pub fn new(
- sender: Arc<Mutex<Sender<ApplicationMessage>>>,
+ sender: Arc<Mutex<UnboundedSender<ApplicationMessage>>>,
callback: Option<Box<dyn FnMut(&[u8]) + Send>>,
) -> Result<Self, AudioPlayerError> {
GST_INIT.call_once(|| gst::init().unwrap());