Fix build for FFmpeg < 3.3
The constant AV_CODEC_ID_AV1 was introduced in FFmpeg 3.3. Add an ifdef to support older versions. Fixes #3939 <https://github.com/Genymobile/scrcpy/issues/3939>
This commit is contained in:
parent
c083a7cc90
commit
0f3af2d20b
2 changed files with 11 additions and 0 deletions
|
@ -25,6 +25,12 @@
|
||||||
# define SCRCPY_LAVF_REQUIRES_REGISTER_ALL
|
# define SCRCPY_LAVF_REQUIRES_REGISTER_ALL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Not documented in ffmpeg/doc/APIchanges, but AV_CODEC_ID_AV1 has been added
|
||||||
|
// by FFmpeg commit d42809f9835a4e9e5c7c63210abb09ad0ef19cfb (included in tag
|
||||||
|
// n3.3).
|
||||||
|
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 89, 100)
|
||||||
|
# define SCRCPY_LAVC_HAS_AV1
|
||||||
|
#endif
|
||||||
|
|
||||||
// In ffmpeg/doc/APIchanges:
|
// In ffmpeg/doc/APIchanges:
|
||||||
// 2018-01-28 - ea3672b7d6 - lavf 58.7.100 - avformat.h
|
// 2018-01-28 - ea3672b7d6 - lavf 58.7.100 - avformat.h
|
||||||
|
|
|
@ -33,7 +33,12 @@ sc_demuxer_to_avcodec_id(uint32_t codec_id) {
|
||||||
case SC_CODEC_ID_H265:
|
case SC_CODEC_ID_H265:
|
||||||
return AV_CODEC_ID_HEVC;
|
return AV_CODEC_ID_HEVC;
|
||||||
case SC_CODEC_ID_AV1:
|
case SC_CODEC_ID_AV1:
|
||||||
|
#ifdef SCRCPY_LAVC_HAS_AV1
|
||||||
return AV_CODEC_ID_AV1;
|
return AV_CODEC_ID_AV1;
|
||||||
|
#else
|
||||||
|
LOGE("AV1 not supported by this FFmpeg version");
|
||||||
|
return AV_CODEC_ID_NONE;
|
||||||
|
#endif
|
||||||
case SC_CODEC_ID_OPUS:
|
case SC_CODEC_ID_OPUS:
|
||||||
return AV_CODEC_ID_OPUS;
|
return AV_CODEC_ID_OPUS;
|
||||||
case SC_CODEC_ID_AAC:
|
case SC_CODEC_ID_AAC:
|
||||||
|
|
Loading…
Reference in a new issue