Skip to content

Commit

Permalink
Input: Change all Youtube-dl functions to take AsRef<str> (#70)
Browse files Browse the repository at this point in the history
Unifies the API on all ytdl functions to remove some friction in passing in Strings, Cows, strs, and so on.

Closes #57.
  • Loading branch information
clarity0 authored and FelixMcFelix committed May 10, 2021
1 parent a86898c commit a1ba760
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
9 changes: 5 additions & 4 deletions src/input/restartable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ impl Restartable {
///
/// The cost of restarting and seeking will probably be *very* high:
/// expect a pause if you seek backwards.
pub async fn ytdl_search(name: &str, lazy: bool) -> Result<Self> {
Self::ytdl(format!("ytsearch1:{}", name), lazy).await
pub async fn ytdl_search(name: impl AsRef<str>, lazy: bool) -> Result<Self> {
Self::ytdl(format!("ytsearch1:{}", name.as_ref()), lazy).await
}

pub(crate) fn prep_with_handle(&mut self, handle: Handle) {
Expand Down Expand Up @@ -381,7 +381,7 @@ impl Seek for Restartable {

self.position = offset;
},
Live(input, rec) =>
Live(input, rec) => {
if offset < self.position {
// regen at given start point
// We're going back in time.
Expand All @@ -405,7 +405,8 @@ impl Seek for Restartable {
} else {
// march on with live source.
self.position += input.consume(offset - self.position);
},
}
},
Working(_, _, _, _) => {
return Err(IoError::new(
IoErrorKind::Interrupted,
Expand Down
8 changes: 4 additions & 4 deletions src/input/ytdl_src.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ const YOUTUBE_DL_COMMAND: &str = if cfg!(feature = "youtube-dlc") {
/// Uses `youtube-dlc` if the `"youtube-dlc"` feature is enabled.
///
/// [`Restartable::ytdl`]: crate::input::restartable::Restartable::ytdl
pub async fn ytdl(uri: &str) -> Result<Input> {
_ytdl(uri, &[]).await
pub async fn ytdl(uri: impl AsRef<str>) -> Result<Input> {
_ytdl(uri.as_ref(), &[]).await
}

pub(crate) async fn _ytdl(uri: &str, pre_args: &[&str]) -> Result<Input> {
Expand Down Expand Up @@ -170,6 +170,6 @@ pub(crate) async fn _ytdl_metadata(uri: &str) -> Result<Metadata> {
/// Uses `youtube-dlc` if the `"youtube-dlc"` feature is enabled.
///
/// [`Restartable::ytdl_search`]: crate::input::restartable::Restartable::ytdl_search
pub async fn ytdl_search(name: &str) -> Result<Input> {
ytdl(&format!("ytsearch1:{}", name)).await
pub async fn ytdl_search(name: impl AsRef<str>) -> Result<Input> {
ytdl(&format!("ytsearch1:{}", name.as_ref())).await
}

0 comments on commit a1ba760

Please sign in to comment.