pub enum StreamQualityResponse {
Native {
selection: StreamSelection,
position: f64,
},
ReloadStream {
selection: StreamSelection,
position: f64,
},
}Expand description
Response for a mid-playback streaming-quality change.
Mirrors AudioTrackSwitchResponse: the backend decides whether the caller
has to reload anything, so no strategy branch lives in the UI.
TRACES: UR-074 | DR-162
Variants§
Native
The native backend was reloaded here; nothing left for the frontend to do — but it still has to be told what was negotiated.
This carried only a position at first, which left the picker on Android pinned to the rendition of the first stream: the UI derives the rung in force from the selection it holds, nothing replaced that selection on the native path, and a transcode always has a rendition — so the fallback that would have used the requested value was never reached. The stream changed and the menu did not.
TRACES: UR-074, UR-079 | DR-226, DR-227
Fields
selection: StreamSelectionWhat the backend actually opened, so the UI reflects it rather than assuming the request was honoured verbatim.
ReloadStream
HTML5 must reload its element with this selection.
Fields
selection: StreamSelectionWhat to open, and how — already negotiated against the requested
ceiling. Carries available too, so a picker opened after a quality
change still describes the source correctly.
TRACES: UR-070, UR-079 | DR-225, DR-227
Trait Implementations§
Source§impl Debug for StreamQualityResponse
impl Debug for StreamQualityResponse
Source§impl NamedType for StreamQualityResponse
impl NamedType for StreamQualityResponse
fn sid() -> SpectaID
Source§fn named_data_type(
type_map: &mut TypeCollection,
generics: &[DataType],
) -> NamedDataType
fn named_data_type( type_map: &mut TypeCollection, generics: &[DataType], ) -> NamedDataType
Source§fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
fn definition_named_data_type(type_map: &mut TypeCollection) -> NamedDataType
Source§impl Serialize for StreamQualityResponse
impl Serialize for StreamQualityResponse
Source§impl Type for StreamQualityResponse
impl Type for StreamQualityResponse
Source§fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
fn inline(type_map: &mut TypeCollection, generics: Generics<'_>) -> DataType
Source§fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
fn reference(type_map: &mut TypeCollection, generics: &[DataType]) -> Reference
definition will be put into the type map.impl Flatten for StreamQualityResponse
Auto Trait Implementations§
impl Freeze for StreamQualityResponse
impl RefUnwindSafe for StreamQualityResponse
impl Send for StreamQualityResponse
impl Sync for StreamQualityResponse
impl Unpin for StreamQualityResponse
impl UnsafeUnpin for StreamQualityResponse
impl UnwindSafe for StreamQualityResponse
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
§impl<T> FunctionArg for Twhere
T: Type,
impl<T> FunctionArg for Twhere
T: Type,
§fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
fn to_datatype(type_map: &mut TypeCollection) -> Option<DataType>
DataType]. Read more