use scuffle_amf0::{Amf0Object, Amf0Value};
use scuffle_bytes_util::StringCow;
use serde_derive::{Deserialize, Serialize};
pub mod reader;
#[derive(Debug, Clone, PartialEq)]
pub enum NetStreamCommand<'a> {
Play {
values: Vec<Amf0Value<'static>>,
},
Play2 {
parameters: Amf0Object<'static>,
},
DeleteStream {
stream_id: f64,
},
CloseStream,
ReceiveAudio {
receive_audio: bool,
},
ReceiveVideo {
receive_video: bool,
},
Publish {
publishing_name: StringCow<'a>,
publishing_type: NetStreamCommandPublishPublishingType<'a>,
},
Seek {
milliseconds: f64,
},
Pause {
pause: bool,
milliseconds: f64,
},
}
#[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub enum NetStreamCommandPublishPublishingType<'a> {
Live,
Record,
Append,
#[serde(untagged, borrow)]
Unknown(StringCow<'a>),
}