update main.rs
This commit is contained in:
50
src/main.rs
50
src/main.rs
@@ -1,27 +1,37 @@
|
|||||||
use http::Uri;
|
use rust_util::*;
|
||||||
|
use m3u8_rs::*;
|
||||||
|
use m3u8_rs::playlist::Playlist;
|
||||||
|
|
||||||
// https://github.com/rutgersc/m3u8-rs/blob/master/examples/simple.rs
|
// https://github.com/rutgersc/m3u8-rs/blob/master/examples/simple.rs
|
||||||
fn main() {
|
fn main() -> XResult<()> {
|
||||||
println!("Hello, world!");
|
let test_fn = "/Users/hatterjiang/m/vod";
|
||||||
|
let test_f_content = std::fs::read_to_string(test_fn)?;
|
||||||
|
|
||||||
let u = "https://a:d@hatter.ink:443/aaa/bbb/cccc?aa=1#dd";
|
let parsed = parse_playlist_res(test_f_content.as_bytes());
|
||||||
let uri = u.parse::<Uri>().unwrap();
|
|
||||||
println!("{}", uri);
|
match parsed {
|
||||||
println!("{:?}", uri.scheme());
|
Ok(Playlist::MasterPlaylist(_pl)) => { //println!("Master playlist:\n{:?}", pl),
|
||||||
println!("{:?}", uri.scheme_str());
|
println!("Master play list not supported!");
|
||||||
println!("{:?}", uri.authority());
|
return Ok(());
|
||||||
println!("{:?}", uri.host());
|
},
|
||||||
println!("{:?}", uri.port());
|
Ok(Playlist::MediaPlaylist(pl)) => { //println!("Media playlist:\n{:?}", pl),
|
||||||
println!("{:?}", uri.path());
|
println!("Version: {}", pl.version);
|
||||||
println!("{:?}", uri.query());
|
println!("Duration: {}", pl.target_duration);
|
||||||
println!("{:?}", uri.path_and_query());
|
println!("Media sequence: {}", pl.media_sequence);
|
||||||
println!("{:?}", uri.path().split('/').collect::<Vec<_>>());
|
println!("Discontinueity sequence: {}", pl.discontinuity_sequence);
|
||||||
let mut v = uri.path().split('/').collect::<Vec<_>>();
|
println!("Play list type: {:?}", pl.playlist_type);
|
||||||
if !v.is_empty() {
|
println!("I frames only: {}", pl.i_frames_only);
|
||||||
let l = v.len()-1;
|
println!("Start: {:?}", pl.start);
|
||||||
v[l]="xxxxx";
|
println!("Independent segments: {}", pl.independent_segments);
|
||||||
|
println!("End list: {}", pl.end_list);
|
||||||
|
for _s in pl.segments {
|
||||||
|
// println!("{:?}", s);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Err(e) => println!("Error: {:?}", e)
|
||||||
}
|
}
|
||||||
println!("{:?}", v.join("/"));
|
|
||||||
|
|
||||||
// make_url("", "").ok();
|
// make_url("", "").ok();
|
||||||
|
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user