pub struct MediaSourceCore {
pub ready_state: MediaSourceReadyState,
pub duration: f64,
pub source_buffers: Vec<SourceBufferCore>,
pub live_seekable_range: Option<(f64, f64)>,
next_buffer_id: usize,
}Expand description
MediaSource の純粋コア実装
Fields§
§ready_state: MediaSourceReadyState§duration: f64§source_buffers: Vec<SourceBufferCore>§live_seekable_range: Option<(f64, f64)>§next_buffer_id: usizeImplementations§
Source§impl MediaSourceCore
impl MediaSourceCore
pub fn new() -> Self
Sourcepub fn is_type_supported(mime_type: &str) -> bool
pub fn is_type_supported(mime_type: &str) -> bool
対象の MIME タイプとコーデック・追加パラメータが実際に復号できるか。
【2026-10-17】従来は WebM・MP3 も「対応」と答えていたが、VP8/VP9/AV1/Opus と MP3 の
デコーダは無い。YouTube のプレーヤーはここで選ぶ形式を決めるので、復号できるもの
(fMP4 の H.264 = avc1/avc3 と AAC-LC = mp4a.40.2 / mp4a.67)だけを返す。
【2026-10-18】YouTube が画質・上限判定のために付与する追加パラメータ(width=99999、
height=99999、framerate=999、channels=99、bitrate=999999999 等)や未知パラメータも検証する。
Sourcepub fn add_source_buffer(&mut self, mime_type: &str) -> Result<usize, MseError>
pub fn add_source_buffer(&mut self, mime_type: &str) -> Result<usize, MseError>
SourceBuffer の追加(addSourceBuffer)
Sourcepub fn remove_source_buffer(&mut self, id: usize) -> Result<(), MseError>
pub fn remove_source_buffer(&mut self, id: usize) -> Result<(), MseError>
SourceBuffer の削除(removeSourceBuffer)
Sourcepub fn get_source_buffer_mut(
&mut self,
id: usize,
) -> Option<&mut SourceBufferCore>
pub fn get_source_buffer_mut( &mut self, id: usize, ) -> Option<&mut SourceBufferCore>
SourceBuffer の取得
Sourcepub fn end_of_stream(&mut self) -> Result<(), MseError>
pub fn end_of_stream(&mut self) -> Result<(), MseError>
ストリームの終了(endOfStream)
Sourcepub fn set_live_seekable_range(
&mut self,
start: f64,
end: f64,
) -> Result<(), MseError>
pub fn set_live_seekable_range( &mut self, start: f64, end: f64, ) -> Result<(), MseError>
ライブ配信用のシーク可能範囲を設定する(setLiveSeekableRange(start, end))。
Sourcepub fn clear_live_seekable_range(&mut self) -> Result<(), MseError>
pub fn clear_live_seekable_range(&mut self) -> Result<(), MseError>
ライブ配信用のシーク可能範囲を解除する(clearLiveSeekableRange())。
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MediaSourceCore
impl RefUnwindSafe for MediaSourceCore
impl Send for MediaSourceCore
impl Sync for MediaSourceCore
impl Unpin for MediaSourceCore
impl UnsafeUnpin for MediaSourceCore
impl UnwindSafe for MediaSourceCore
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