pub struct PacketCopyRequest<'a> {
pub source: &'a Path,
pub frame_times: &'a [MediaTime],
pub width: u32,
pub height: u32,
pub codec: NativeVideoCodec,
pub container: Container,
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.
container: ContainerThe file format the export writes, which must offer the copied streams’ codecs.
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.