pub struct ScheduleEntry {
pub id: String,
pub kind: EntryKind,
pub planned_start: u64,
pub source_start_pts: u64,
pub codec_config: CodecConfigId,
}Expand description
One entry in the schedule: a source, its kind, and when it is planned to start on the shared channel timeline.
Fields§
§id: StringCaller-chosen identity for the source this entry plays (e.g. an asset id or URI) — opaque to this crate beyond equality/display.
kind: EntryKindWhat kind of content this entry is.
planned_start: u64The channel-timeline instant this entry is scheduled to start at, in the caller’s clock unit.
Schedule/crate::transition::TransitionPlan themselves never
interpret this unit — the rebase arithmetic is unit-agnostic. But if
this value (via crate::transition::TransitionPlan::rebase) ends up
passed to crate::scte35::build_splice_insert to emit a SCTE-35 cue,
it must already be 90 kHz ticks: splice_time()/break_duration()
are fixed 90 kHz fields (ANSI/SCTE 35 2023r1 §9.8.1/§9.8.2), and
build_splice_insert passes its inputs straight through with no unit
conversion or validation — a 27 MHz, millisecond, or nanosecond
channel clock produces a technically well-formed but silently
wrong-by-a-fixed-factor cue (PLAY-W1, #1126). Convert with
scte35_splice::time::duration_to_ticks/ticks_to_duration first if
the channel clock isn’t already 90 kHz.
source_start_pts: u64The PTS value the source’s own first presented sample carries, in the
same clock unit as Self::planned_start (and subject to the same
90 kHz requirement before it reaches crate::scte35). Needed to
compute the PTS-rebase offset at the transition into this entry — see
crate::transition.
codec_config: CodecConfigIdCodec-config identity, for discontinuity detection at the transition into this entry.
Trait Implementations§
Source§impl Clone for ScheduleEntry
impl Clone for ScheduleEntry
Source§impl Debug for ScheduleEntry
impl Debug for ScheduleEntry
Source§impl<'de> Deserialize<'de> for ScheduleEntry
Available on crate feature serde only.
impl<'de> Deserialize<'de> for ScheduleEntry
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ScheduleEntry
Source§impl PartialEq for ScheduleEntry
impl PartialEq for ScheduleEntry
Source§impl Serialize for ScheduleEntry
Available on crate feature serde only.
impl Serialize for ScheduleEntry
serde only.