vlc_linux/vlc-3.0.16/modules/stream_out/chromecast/cast.cpp
/**
 * Transcode steps:
 * 0: Accept HEVC/VP9 & all supported audio formats
 * 1: Transcode to h264 & accept all supported audio formats if the video codec
 *    was HEVC/VP9
 * 2: Transcode to H264 & MP3
 *
 * Additionally:
 * - Allow (E)AC3 passthrough depending on the audio-passthrough
 *   config value, except for the final step, where we just give up and transcode
 *   everything.
 * - Disallow multichannel AAC
 *
 * Supported formats: https://developers.google.com/cast/docs/media
 */
Transcode steps:
0: Accept HEVC/VP9 & all supported audio formats
1: Transcode to h264 & accept all supported audio formats if the video codec
was HEVC/VP9
2: Transcode to H264 & MP3

- Allow (E)AC3 passthrough depending on the audio-passthrough
config value, except for the final step, where we just give up and transcode
everything.
- Disallow multichannel AAC


Transcode steps : 0 : Accept HEVC / VP9 & all supported audio formats 1 : Transcode to h264 & accept all supported audio formats if the video codec was HEVC / VP9 2 : Transcode to H264 & MP3 - Allow ( E ) AC3 passthrough depending on the audio - passthrough config value except for the final step where we just give up and transcode everything . - Disallow multichannel AAC
bool sout_stream_sys_t::canDecodeVideo( vlc_fourcc_t i_codec ) const
{
    if( transcoding_state & TRANSCODING_VIDEO )
        return false;
    return i_codec == VLC_CODEC_H264 || i_codec == VLC_CODEC_HEVC
        || i_codec == VLC_CODEC_VP8 || i_codec == VLC_CODEC_VP9;
}
bool sout_stream_sys_t :: canDecodeVideo ( vlc_fourcc_t i_codec ) const { if ( transcoding_state & TRANSCODING_VIDEO ) return false ; return i_codec == VLC_CODEC_H264 || i_codec == VLC_CODEC_HEVC || i_codec == VLC_CODEC_VP8 || i_codec == VLC_CODEC_VP9 ; }
Transcode steps:
 0: Accept HEVC/VP9 & all supported audio formats
 1: Transcode to h264 & accept all supported audio formats if the video codec
    was HEVC/VP9
 2: Transcode to H264 & MP3
Transcode steps : 0 : Accept HEVC / VP9 & all supported audio formats 1 : Transcode to h264 & accept all supported audio formats if the video codec was HEVC / VP9 2 : Transcode to H264 & MP3