diff options
author | Iain Lane <iain@orangesquash.org.uk> | 2017-02-08 10:05:43 +0000 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-02-08 16:06:01 +0200 |
commit | e1b41168f7aa7378e11adfc67ca0c6e1884d049f (patch) | |
tree | 7be57b5535b02b04137bb901170fb70ce17ed84c | |
parent | b12f6fde784eb5905a95408bcb67de26e0eeb789 (diff) | |
download | gst-libav-e1b41168f7aa7378e11adfc67ca0c6e1884d049f.tar.gz |
avaudenc/dec: Don't do range comparisons against AV_CODEC_ID_PCM_S16BE_PLANAR for < 3.0
Prior to ffmpeg 3.0, this constant had a specified value. Excluding all
plugins in a range bounded by this value was throwing out plugins that
we want to keep.
Instead switch to enumerating the values to exclude, for < 3.0.
https://bugzilla.gnome.org/show_bug.cgi?id=778283
-rw-r--r-- | ext/libav/gstavauddec.c | 11 | ||||
-rw-r--r-- | ext/libav/gstavaudenc.c | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/ext/libav/gstavauddec.c b/ext/libav/gstavauddec.c index ef63f53..f0c0fb8 100644 --- a/ext/libav/gstavauddec.c +++ b/ext/libav/gstavauddec.c @@ -877,12 +877,23 @@ gst_ffmpegauddec_register (GstPlugin * plugin) if (in_plugin->id == AV_CODEC_ID_PCM_S16LE_PLANAR || (in_plugin->id >= AV_CODEC_ID_PCM_S16LE && in_plugin->id <= AV_CODEC_ID_PCM_BLURAY) || +/* ffmpeg 3.0 */ +#if AV_VERSION_INT (LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO) >= AV_VERSION_INT (57,0,0) (in_plugin->id >= AV_CODEC_ID_PCM_S8_PLANAR && #if AV_VERSION_INT (LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO) >= AV_VERSION_INT (57,54,0) in_plugin->id <= AV_CODEC_ID_PCM_S64BE)) { #else in_plugin->id <= AV_CODEC_ID_PCM_S16BE_PLANAR)) { #endif +#else + in_plugin->id == AV_CODEC_ID_PCM_S8_PLANAR || + in_plugin->id == AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED || + in_plugin->id == AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED || + in_plugin->id == AV_CODEC_ID_PCM_S16BE_PLANAR_DEPRECATED || + in_plugin->id == AV_CODEC_ID_PCM_S24LE_PLANAR || + in_plugin->id == AV_CODEC_ID_PCM_S32LE_PLANAR || + in_plugin->id == AV_CODEC_ID_PCM_S16BE_PLANAR) { +#endif goto next; } diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c index f190ef9..63c12b2 100644 --- a/ext/libav/gstavaudenc.c +++ b/ext/libav/gstavaudenc.c @@ -787,12 +787,23 @@ gst_ffmpegaudenc_register (GstPlugin * plugin) if (in_plugin->id == AV_CODEC_ID_PCM_S16LE_PLANAR || (in_plugin->id >= AV_CODEC_ID_PCM_S16LE && in_plugin->id <= AV_CODEC_ID_PCM_BLURAY) || +/* ffmpeg 3.0 */ +#if AV_VERSION_INT (LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO) >= AV_VERSION_INT (57,0,0) (in_plugin->id >= AV_CODEC_ID_PCM_S8_PLANAR && #if AV_VERSION_INT (LIBAVCODEC_VERSION_MAJOR, LIBAVCODEC_VERSION_MINOR, LIBAVCODEC_VERSION_MICRO) >= AV_VERSION_INT (57,54,0) in_plugin->id <= AV_CODEC_ID_PCM_S64BE)) { #else in_plugin->id <= AV_CODEC_ID_PCM_S16BE_PLANAR)) { #endif +#else + in_plugin->id == AV_CODEC_ID_PCM_S8_PLANAR || + in_plugin->id == AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED || + in_plugin->id == AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED || + in_plugin->id == AV_CODEC_ID_PCM_S16BE_PLANAR_DEPRECATED || + in_plugin->id == AV_CODEC_ID_PCM_S24LE_PLANAR || + in_plugin->id == AV_CODEC_ID_PCM_S32LE_PLANAR || + in_plugin->id == AV_CODEC_ID_PCM_S16BE_PLANAR) { +#endif goto next; } |