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.
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more