namespace AIStudio.Tools.Rust;
///
/// Stable failure categories returned by the Rust media pipeline.
///
public enum MediaJobErrorCode
{
/// The runtime returned an unrecognized code.
UNKNOWN,
/// The input file does not exist.
FILE_NOT_FOUND,
/// The file type could not be identified.
UNKNOWN_FORMAT,
/// Executable input was rejected.
UNSAFE_FILE,
/// The input is not media.
NOT_MEDIA,
/// The input file could not be opened.
FILE_OPEN_FAILED,
/// The container is unsupported.
UNSUPPORTED_CONTAINER,
/// The media has no audio track.
NO_AUDIO_TRACK,
/// No audio track has a supported decoder.
UNSUPPORTED_CODEC,
/// Decoded audio parameters are absent or inconsistent.
INVALID_AUDIO_PARAMETERS,
/// The Opus identification header is invalid.
INVALID_OPUS_HEADER,
/// The Opus mapping requires unsupported multistream decoding.
UNSUPPORTED_OPUS_MAPPING,
/// The decoder could not be initialized.
DECODER_INIT_FAILED,
/// The encoder could not be initialized.
ENCODER_INIT_FAILED,
/// The stream changed unexpectedly.
STREAM_RESET,
/// The container is damaged.
DAMAGED_CONTAINER,
/// Audio decoding failed.
DECODE_FAILED,
/// Audio resampling failed.
RESAMPLE_FAILED,
/// Opus encoding failed.
ENCODE_FAILED,
/// The output directory or file could not be created.
OUTPUT_CREATE_FAILED,
/// The output could not be written.
OUTPUT_WRITE_FAILED,
/// The partial output could not be committed.
OUTPUT_COMMIT_FAILED,
/// A WebM relative timestamp overflowed.
WEBM_TIMESTAMP_OVERFLOW,
/// WebM serialization failed.
WEBM_WRITE_FAILED,
/// The job was cancelled.
CANCELLED,
/// The runtime worker failed unexpectedly.
INTERNAL_ERROR,
}