public static class VideoCodecRegistryWhich codecs this process has.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
A registry rather than a switch, because the engine ships one codec. UncompressedVideoCodec is to video what PcmStreamDecoder is to audio: the implementation that needs no codec at all, and the reason a game with a single uncompressed logo sting carries no decoder. A game that needs VP9 registers one — its own, a package, a native binding — and everything above this seam is unchanged.
Static, and therefore process-wide. The alternative is threading a registry through every call that opens a video, for a decision no application makes twice. It is guarded by a lock because registration happens during start-up on whatever thread got there first, and lookups happen on decode threads.
Methods (4)
public static void Register(IVideoCodecFactory factory)Adds a codec, ahead of everything already registered.
public static bool CanDecode(in VideoTrackInfo track)Whether anything registered claims a track, without making a codec for it.
public static bool TryCreate(in VideoTrackInfo track, out IVideoCodec? codec)Finds a codec for a track.
public static IReadOnlyList<string> RegisteredNames()The names of every registered codec, for a log line that explains a failure.
Used by (3)
- VideoPlaybackVixen.Video
- WebMVideoStreamDecoderVixen.Video
- WebMVideoStreamDecoderTestsVixen.Video.Tests