mirror of
https://github.com/sile/hls_m3u8.git
synced 2024-11-25 00:20:59 +00:00
32 lines
887 B
Rust
32 lines
887 B
Rust
extern crate clap;
|
|
extern crate hls_m3u8;
|
|
|
|
use clap::{App, Arg};
|
|
use hls_m3u8::{MasterPlaylist, MediaPlaylist};
|
|
use std::io::{self, Read};
|
|
|
|
fn main() {
|
|
let matches = App::new("parse")
|
|
.arg(
|
|
Arg::with_name("M3U8_TYPE")
|
|
.long("m3u8-type")
|
|
.takes_value(true)
|
|
.default_value("media")
|
|
.possible_values(&["media", "master"]),
|
|
)
|
|
.get_matches();
|
|
let mut m3u8 = String::new();
|
|
io::stdin().read_to_string(&mut m3u8).unwrap();
|
|
|
|
match matches.value_of("M3U8_TYPE").unwrap() {
|
|
"media" => {
|
|
let playlist: MediaPlaylist = m3u8.parse().unwrap();
|
|
println!("{}", playlist);
|
|
}
|
|
"master" => {
|
|
let playlist: MasterPlaylist = m3u8.parse().unwrap();
|
|
println!("{}", playlist);
|
|
}
|
|
_ => unreachable!(),
|
|
}
|
|
}
|