You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From what i can tell, there currently is no way to "elegantly" determine what a track (/ codec)'s type is, as in "video", "audio" (others, like "subtitle"), the only workaround i found is comparing Track::codec_params.codec with CODEC_TYPE_NULL which does not seem to elegant.
This proposal is to add a helper function to determine the type of a codec (and maybe proxied to Track) with signature fn codec_type(&self) -> CodecType (where CodecType is a enum of types) or fn is_audio_codec(&self) -> bool.
AND/OR a way to determine if a codec of a track is currently supported (not returning core (codec):unsupported codec)
also in addition maybe a function like default_track_audio (similar to default_track) but only for returning the first / default audio track. (because in something like webm it chooses the first stream, which is a video stream and fails)
The text was updated successfully, but these errors were encountered:
CodecType isn't an enum because the whole system is designed to be extended out-of-tree. For example, you can implement your own Decoder for some codec and assign it a custom CodecType. Likewise, you could implement a Demuxer for a format that encapsulates a track encoded with some unknown codec. So it's not possible for Symphonia to map a codec type to media type by itself.
I was thinking of doing a bit of a clean-up of Track and CodecParameters since some things are in the wrong place (e.g., timing info. in CodeParameters). Part of that was adding a TrackType to each track. This should be possible since the demuxer knows what it's encapsulating.
From what i can tell, there currently is no way to "elegantly" determine what a track (/ codec)'s type is, as in "video", "audio" (others, like "subtitle"), the only workaround i found is comparing
Track::codec_params.codec
withCODEC_TYPE_NULL
which does not seem to elegant.This proposal is to add a helper function to determine the type of a codec (and maybe proxied to
Track
) with signaturefn codec_type(&self) -> CodecType
(whereCodecType
is a enum of types) orfn is_audio_codec(&self) -> bool
.AND/OR a way to determine if a codec of a track is currently supported (not returning
core (codec):unsupported codec
)also in addition maybe a function like
default_track_audio
(similar todefault_track
) but only for returning the first / default audio track. (because in something likewebm
it chooses the first stream, which is a video stream and fails)The text was updated successfully, but these errors were encountered: