pub struct NegotiatedSource {
pub id: String,
pub supports_direct_play: bool,
pub supports_direct_stream: bool,
pub supports_transcoding: bool,
pub transcoding_url: Option<String>,
pub bitrate: Option<i64>,
pub media_streams: Vec<NegotiatedStream>,
}Fields§
§id: String§supports_direct_play: bool§supports_direct_stream: boolThe container can be repackaged without re-encoding — a remux. Distinct
from direct play (which copies the file untouched) and from transcoding
(which spends encoder time); the distinction is what
PlaybackKind reports, and it is
the difference between “costs the server nothing” and “costs it a core”.
supports_transcoding: bool§transcoding_url: Option<String>§bitrate: Option<i64>The source’s own bitrate, when the server reports one.
Fills the quality picker’s “this rung is the same as Original” judgement
(DR-227). Absent for some containers — the sampled library has avi
files with no bitrate at all — in which case nothing is judged redundant
and every rung stays offered.
media_streams: Vec<NegotiatedStream>Trait Implementations§
Source§impl Debug for NegotiatedSource
impl Debug for NegotiatedSource
Source§impl<'de> Deserialize<'de> for NegotiatedSource
impl<'de> Deserialize<'de> for NegotiatedSource
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for NegotiatedSource
impl RefUnwindSafe for NegotiatedSource
impl Send for NegotiatedSource
impl Sync for NegotiatedSource
impl Unpin for NegotiatedSource
impl UnsafeUnpin for NegotiatedSource
impl UnwindSafe for NegotiatedSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more