Fix: Ringbuf patch release requires explicit type param

Ringbuf 0.4.2 onwards adds in a new storage type for `SharedRb`.
Unfortunately, this is handled in such a way that we fail to
compile because an explicit type parameter is required to
disambiguate the method in question.
This commit is contained in:
Kyle Simpson
2024-08-17 22:56:57 +01:00
parent 2d7dc29fd6
commit ec665a8f87

View File

@@ -3,7 +3,7 @@ use async_trait::async_trait;
use flume::{Receiver, RecvError, Sender, TryRecvError}; use flume::{Receiver, RecvError, Sender, TryRecvError};
use futures::{future::Either, stream::FuturesUnordered, FutureExt, StreamExt}; use futures::{future::Either, stream::FuturesUnordered, FutureExt, StreamExt};
use parking_lot::Mutex; use parking_lot::Mutex;
use ringbuf::{traits::*, *}; use ringbuf::{storage::Heap, traits::*, *};
use std::{ use std::{
io::{ io::{
Error as IoError, Error as IoError,
@@ -156,7 +156,7 @@ impl AsyncAdapterStream {
/// between the async and sync halves. /// between the async and sync halves.
#[must_use] #[must_use]
pub fn new(stream: Box<dyn AsyncMediaSource>, buf_len: usize) -> AsyncAdapterStream { pub fn new(stream: Box<dyn AsyncMediaSource>, buf_len: usize) -> AsyncAdapterStream {
let (bytes_in, bytes_out) = SharedRb::new(buf_len).split(); let (bytes_in, bytes_out) = SharedRb::<Heap<_>>::new(buf_len).split();
let bytes_out = bytes_out.into(); let bytes_out = bytes_out.into();
let (resp_tx, resp_rx) = flume::unbounded(); let (resp_tx, resp_rx) = flume::unbounded();
let (req_tx, req_rx) = flume::unbounded(); let (req_tx, req_rx) = flume::unbounded();