recycleactor commited on
Commit
b17bb84
·
verified ·
1 Parent(s): 0e44392

Upload 2 files

Browse files
Files changed (1) hide show
  1. src/main.rs +7 -19
src/main.rs CHANGED
@@ -242,12 +242,8 @@ async fn fetch_media_url(
242
  format!("media_bad_json:{}:{}", status.as_u16(), snip)
243
  })?;
244
 
245
- let format_strs: Vec<&str> = formats.iter().map(|f| match f {
246
- Format::FLAC => "FLAC",
247
- Format::MP3_320 => "MP3_320",
248
- Format::MP3_MISC => "MP3_MISC",
249
- Format::MP3_128 => "MP3_128",
250
- }).collect();
251
 
252
  let (url, fmt, idx) = extract_media_url_and_format(&media_json, &format_strs);
253
  if !url.is_empty() {
@@ -405,12 +401,8 @@ async fn upstream_get_url_text(formats: &Vec<Format>, ids: &Vec<u64>) -> Result<
405
  async fn upstream_media_url(id: u64, formats: &Vec<Format>) -> Result<String, String> {
406
  let text = upstream_get_url_text(formats, &vec![id]).await?;
407
  let v: serde_json::Value = serde_json::from_str(&text).map_err(|_| "upstream:parse".to_string())?;
408
- let format_strs: Vec<&str> = formats.iter().map(|f| match f {
409
- Format::FLAC => "FLAC",
410
- Format::MP3_320 => "MP3_320",
411
- Format::MP3_MISC => "MP3_MISC",
412
- Format::MP3_128 => "MP3_128",
413
- }).collect();
414
  let (url, _, _) = extract_media_url_and_format(&v, &format_strs);
415
  if url.is_empty() {
416
  return Err("upstream:no_url".to_string());
@@ -622,12 +614,8 @@ async fn stream_info(State(state): State<AppState>, Query(q): Query<StreamParams
622
  // Upstream (опционально — если DZMEDIA_UPSTREAM задан)
623
  if let Ok(text) = upstream_get_url_text(&formats, &vec![q.id]).await {
624
  if let Ok(v) = serde_json::from_str::<serde_json::Value>(&text) {
625
- let format_strs: Vec<&str> = formats.iter().map(|f| match f {
626
- Format::FLAC => "FLAC",
627
- Format::MP3_320 => "MP3_320",
628
- Format::MP3_MISC => "MP3_MISC",
629
- Format::MP3_128 => "MP3_128",
630
- }).collect();
631
  let (u, f, _) = extract_media_url_and_format(&v, &format_strs);
632
  url = u;
633
  used = f;
@@ -759,7 +747,7 @@ async fn stream(
759
  };
760
 
761
  match res {
762
- Ok((u, id_used)) => { url = Some(u); decrypt_id = id_used; break; }
763
  Err(e) => { last_err = Some(e); }
764
  }
765
  }
 
242
  format!("media_bad_json:{}:{}", status.as_u16(), snip)
243
  })?;
244
 
245
+ let format_strings: Vec<String> = formats.iter().map(|f| format!("{:?}", f)).collect();
246
+ let format_strs: Vec<&str> = format_strings.iter().map(|s| s.as_str()).collect();
 
 
 
 
247
 
248
  let (url, fmt, idx) = extract_media_url_and_format(&media_json, &format_strs);
249
  if !url.is_empty() {
 
401
  async fn upstream_media_url(id: u64, formats: &Vec<Format>) -> Result<String, String> {
402
  let text = upstream_get_url_text(formats, &vec![id]).await?;
403
  let v: serde_json::Value = serde_json::from_str(&text).map_err(|_| "upstream:parse".to_string())?;
404
+ let format_strings: Vec<String> = formats.iter().map(|f| format!("{:?}", f)).collect();
405
+ let format_strs: Vec<&str> = format_strings.iter().map(|s| s.as_str()).collect();
 
 
 
 
406
  let (url, _, _) = extract_media_url_and_format(&v, &format_strs);
407
  if url.is_empty() {
408
  return Err("upstream:no_url".to_string());
 
614
  // Upstream (опционально — если DZMEDIA_UPSTREAM задан)
615
  if let Ok(text) = upstream_get_url_text(&formats, &vec![q.id]).await {
616
  if let Ok(v) = serde_json::from_str::<serde_json::Value>(&text) {
617
+ let format_strings: Vec<String> = formats.iter().map(|f| format!("{:?}", f)).collect();
618
+ let format_strs: Vec<&str> = format_strings.iter().map(|s| s.as_str()).collect();
 
 
 
 
619
  let (u, f, _) = extract_media_url_and_format(&v, &format_strs);
620
  url = u;
621
  used = f;
 
747
  };
748
 
749
  match res {
750
+ Ok((u, _, id_used)) => { url = Some(u); decrypt_id = id_used; break; }
751
  Err(e) => { last_err = Some(e); }
752
  }
753
  }