pub struct TimelinePlayer;Expand description
Thin builder for a (TimelineRunner, PlayerHandle) pair backed by a
Timeline.
Playback is limited to the primary video track (video_tracks[0]). When
any clip carries an audio stream, an AudioMixer is created and audio
is mixed into the stereo output from PlayerHandle::pop_audio_samples.
§Example
ⓘ
use ff_pipeline::{Timeline, Clip};
use ff_preview::{TimelinePlayer, RgbaSink};
use std::time::Duration;
let timeline = Timeline::builder()
.canvas(1920, 1080)
.frame_rate(30.0)
.video_track(vec![
Clip::new("intro.mp4").trim(Duration::ZERO, Duration::from_secs(5)),
])
.build()?;
let (mut runner, handle) = TimelinePlayer::open(&timeline)?;
runner.set_sink(Box::new(RgbaSink::new()));
std::thread::spawn(move || { let _ = runner.run(); });
handle.play();Implementations§
Source§impl TimelinePlayer
impl TimelinePlayer
Sourcepub fn open(
timeline: &Timeline,
) -> Result<(TimelineRunner, PlayerHandle), PreviewError>
pub fn open( timeline: &Timeline, ) -> Result<(TimelineRunner, PlayerHandle), PreviewError>
Open timeline for real-time preview playback.
Probes every clip’s source file to determine effective durations and
audio availability, opens a DecodeBuffer for each clip on the
primary video track, and seeks each buffer to its configured in_point.
When any clip carries an audio stream an AudioMixer is created and
the first audio-bearing clip’s decode thread is started immediately.
§Errors
Returns PreviewError when:
timelinehas no video tracks or the primary track is empty,- a clip source file cannot be found or opened,
- a clip cannot be probed for duration.
Auto Trait Implementations§
impl Freeze for TimelinePlayer
impl RefUnwindSafe for TimelinePlayer
impl Send for TimelinePlayer
impl Sync for TimelinePlayer
impl Unpin for TimelinePlayer
impl UnsafeUnpin for TimelinePlayer
impl UnwindSafe for TimelinePlayer
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