pub struct PacketCopyRequest<'a> {
pub source: &'a Path,
pub frame_times: &'a [MediaTime],
pub width: u32,
pub height: u32,
pub codec: NativeVideoCodec,
pub color: ColorMetadata,
pub output_start: MediaTime,
pub audio: Option<PacketCopyAudio>,
}Expand description
The stream an export copies from and what it must match.
Fields§
§source: &'a PathThe source file.
frame_times: &'a [MediaTime]Each output frame’s source time, in order: what rendering would show.
width: u32The output size, which the stream must already have.
height: u32See width.
codec: NativeVideoCodecThe codec the export asked for, which the stream must already be.
color: ColorMetadataThe color the output is tagged with when it renders; a copy keeps the source’s tags, so they must already say this.
output_start: MediaTimeWhere this run’s first frame lands in the output: zero for a single copy, a later segment’s start in a join.
audio: Option<PacketCopyAudio>The mix is the source’s own audio, untouched: copy it too where that
can be exact, which is over the whole file. Where it cannot, the plan
says why (PacketCopyPlan::audio_copy_refusal) and the caller
encodes the mix instead; the video copy stands either way.
Trait Implementations§
Source§impl<'a> Clone for PacketCopyRequest<'a>
impl<'a> Clone for PacketCopyRequest<'a>
Auto Trait Implementations§
impl<'a> Freeze for PacketCopyRequest<'a>
impl<'a> RefUnwindSafe for PacketCopyRequest<'a>
impl<'a> Send for PacketCopyRequest<'a>
impl<'a> Sync for PacketCopyRequest<'a>
impl<'a> Unpin for PacketCopyRequest<'a>
impl<'a> UnsafeUnpin for PacketCopyRequest<'a>
impl<'a> UnwindSafe for PacketCopyRequest<'a>
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