summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Lane <iain@orangesquash.org.uk>2017-02-08 10:05:43 +0000
committerSebastian Dröge <sebastian@centricular.com>2017-02-08 16:06:01 +0200
commite1b41168f7aa7378e11adfc67ca0c6e1884d049f (patch)
tree7be57b5535b02b04137bb901170fb70ce17ed84c
parentb12f6fde784eb5905a95408bcb67de26e0eeb789 (diff)
downloadgst-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.c11
-rw-r--r--ext/libav/gstavaudenc.c11
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;
}