MCPcopy Create free account
hub / github.com/HandBrake/HandBrake / hb_audio_samplerate_is_supported

Function hb_audio_samplerate_is_supported

libhb/common.c:967–1031  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

965}
966
967int hb_audio_samplerate_is_supported(int samplerate, uint32_t codec)
968{
969 switch (codec)
970 {
971 case HB_ACODEC_AC3:
972 case HB_ACODEC_FFEAC3:
973 case HB_ACODEC_CA_HAAC:
974 // ca_haac can't do samplerates < 32 kHz
975 // libav's E-AC-3 encoder can't do samplerates < 32 kHz
976 // AC-3 < 32 kHz suffers from poor hardware compatibility
977 if (samplerate < 32000 || samplerate > 48000)
978 return 0;
979 else
980 return 1;
981 case HB_ACODEC_FDK_HAAC:
982 // fdk_haac can't do samplerates < 16 kHz
983 if (samplerate < 16000 || samplerate > 48000)
984 return 0;
985 else
986 return 1;
987 case HB_ACODEC_OPUS:
988 switch (samplerate)
989 {
990 // Opus only supports samplerates 8kHz, 12kHz, 16kHz,
991 // 24kHz, 48kHz
992 case 8000:
993 case 12000:
994 case 16000:
995 case 24000:
996 case 48000:
997 return 1;
998 default:
999 return 0;
1000 }
1001 case HB_ACODEC_FFTRUEHD:
1002 switch (samplerate)
1003 {
1004 // TrueHD only supports samplerates 44.1kHz, 48kHz, 88.2kHz,
1005 // 96kHz, 176.4kHz, and 192kHz.
1006 case 44100:
1007 case 48000:
1008 case 88200:
1009 case 96000:
1010 case 176400:
1011 case 192000:
1012 return 1;
1013 default:
1014 return 0;
1015 }
1016 case HB_ACODEC_LAME:
1017 case HB_ACODEC_VORBIS:
1018 case HB_ACODEC_CA_AAC:
1019 case HB_ACODEC_FFAAC:
1020 if (samplerate > 48000)
1021 {
1022 return 0;
1023 }
1024 else

Calls

no outgoing calls

Tested by

no test coverage detected