#[derive(Debug, PartialEq)]
#[non_exhaustive]
pub enum ValidationError {
MissingExtM3U,
ExtM3UNotFirst,
DuplicateTag(String),
MixedPlaylistTypes,
MissingTargetDuration,
MissingVariantUri,
UnresolvedRenditionGroup { attribute: String, group_id: String },
InsufficientVersion {
tag: String,
required: u8,
actual: u8,
},
RemovedTag { tag: String, removed_in: u8 },
SegmentDurationExceedsTarget { duration: f64, target_duration: u64 },
InvalidVersion(u8),
InvalidDuration(f64),
InvalidTargetDuration(u64),
InvalidKeyMethod(String),
InvalidKeyAttributes(String),
InvalidMapUri,
InvalidProgramDateTime,
InvalidDateRangeId,
InvalidDateRangeStartDate,
InvalidDateRangeEndDate,
InvalidDateRangePlannedDuration(f64),
InvalidDateRangeAttributes(String),
MissingMediaFields,
InvalidMediaAttributes(String),
InvalidPreloadHintUri,
InvalidRenditionReportUri,
UnserializableTag(String),
OrphanUri(String),
DuplicateDateRangeId(String),
DuplicateSessionData {
id: String,
language: Option<String>,
},
MissingPartInf,
InvalidServerControl(String),
TagAfterFirstSegment(String),
InvalidByteRange(String),
}