Bug#803819: gnash: FTBFS with FFmpeg 2.9

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug#803819: gnash: FTBFS with FFmpeg 2.9

Andreas Cadhalpun
Package: gnash
Version: 0.8.11~git20150419-3
Severity: important
Tags: patch
User: [hidden email]
Usertags: ffmpeg2.9

Dear Maintainer,

your package fails to build with the upcoming ffmpeg 2.9.
This bug will become release-critical at some point when the
ffmpeg2.9 transition gets closer.

Attached is a patch replacing the deprecated functionality.
It also works with ffmpeg 2.8.
Please apply this patch and forward it upstream, if necessary.

These changes have little regression potential.

Best regards,
Andreas


gnash_ffmpeg-2.9.patch (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#803819: gnash: FTBFS with FFmpeg 2.9

Gabriele Giacone-3
On Mon, Nov 2, 2015 at 10:06 PM, Andreas Cadhalpun
<[hidden email]> wrote:

> Package: gnash
> Version: 0.8.11~git20150419-3
> Severity: important
> Tags: patch
> User: [hidden email]
> Usertags: ffmpeg2.9
>
> Dear Maintainer,
>
> your package fails to build with the upcoming ffmpeg 2.9.
> This bug will become release-critical at some point when the
> ffmpeg2.9 transition gets closer.
>
> Attached is a patch replacing the deprecated functionality.
> It also works with ffmpeg 2.8.
> Please apply this patch and forward it upstream, if necessary.
>
> These changes have little regression potential.

Thanks for providing patches.
Could you please make your changes conditional upon
LIBAVCODEC_VERSION_{MAJOR,MINOR} / LIBAVUTIL_VERSION_INT / ... when
needed to keep supporting old ffmpeg/libav versions too?

Thanks,
--
G..e

Reply | Threaded
Open this post in threaded view
|

Bug#803819: gnash: FTBFS with FFmpeg 2.9

Andreas Cadhalpun
Hi Gabriele,

On 03.11.2015 00:51, Gabriele Giacone wrote:
> Thanks for providing patches.
> Could you please make your changes conditional upon
> LIBAVCODEC_VERSION_{MAJOR,MINOR} / LIBAVUTIL_VERSION_INT / ... when
> needed to keep supporting old ffmpeg/libav versions too?

These changes are compatible with any version since FFmpeg 1.0/Libav 9.

If you really need compatibility with more ancient versions, the simplest
way would probably be to define the new names to the old names, e.g.:

For VideoConverterFfmpeg.cpp:
#if LIBAVUTIL_VERSION_MAJOR < 52
#define AVPixelFormat PixelFormat
#define AV_PIX_FMT_RGB24 PIX_FMT_RGB24
#define AV_PIX_FMT_YUV444P PIX_FMT_YUV444P
#define AV_PIX_FMT_YUVJ444P PIX_FMT_YUVJ444P
#define AV_PIX_FMT_YUV440P PIX_FMT_YUV440P
#define AV_PIX_FMT_YUVJ440P PIX_FMT_YUVJ440P
#define AV_PIX_FMT_YUV422P PIX_FMT_YUV422P
#define AV_PIX_FMT_YUVJ422P PIX_FMT_YUVJ422P
#define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P
#define AV_PIX_FMT_YUVJ420P PIX_FMT_YUVJ420P
#define AV_PIX_FMT_YUV411P PIX_FMT_YUV411P
#define AV_PIX_FMT_YUV410P PIX_FMT_YUV410P
#define AV_PIX_FMT_NV12 PIX_FMT_NV12
#define AV_PIX_FMT_NV21 PIX_FMT_NV21
#define AV_PIX_FMT_YUYV422 PIX_FMT_YUYV422
#define AV_PIX_FMT_UYVY422 PIX_FMT_UYVY422
#define AV_PIX_FMT_UYYVYY411 PIX_FMT_UYYVYY411
#define AV_PIX_FMT_NONE PIX_FMT_NONE
#endif

For VideoDecoderFfmpeg.cpp:
#if LIBAVUTIL_VERSION_MAJOR < 52
#define AVPixelFormat PixelFormat
#define AV_PIX_FMT_RGBA PIX_FMT_RGBA
#define AV_PIX_FMT_RGB24 PIX_FMT_RGB24
#define AV_PIX_FMT_NONE PIX_FMT_NONE
#define AV_PIX_FMT_VAAPI_VLD PIX_FMT_VAAPI_VLD
#endif

Best regards,
Andreas

Reply | Threaded
Open this post in threaded view
|

Bug#803819: gnash: FTBFS with FFmpeg 2.9

Andreas Cadhalpun
Hi Gabriele,

On 03.11.2015 18:43, Andreas Cadhalpun wrote:

> On 03.11.2015 00:51, Gabriele Giacone wrote:
>> Thanks for providing patches.
>> Could you please make your changes conditional upon
>> LIBAVCODEC_VERSION_{MAJOR,MINOR} / LIBAVUTIL_VERSION_INT / ... when
>> needed to keep supporting old ffmpeg/libav versions too?
>
> These changes are compatible with any version since FFmpeg 1.0/Libav 9.
>
> If you really need compatibility with more ancient versions, the simplest
> way would probably be to define the new names to the old names, e.g.:
>
> For VideoConverterFfmpeg.cpp:
> #if LIBAVUTIL_VERSION_MAJOR < 52
> #define AVPixelFormat PixelFormat
> #define AV_PIX_FMT_RGB24 PIX_FMT_RGB24
> #define AV_PIX_FMT_YUV444P PIX_FMT_YUV444P
> #define AV_PIX_FMT_YUVJ444P PIX_FMT_YUVJ444P
> #define AV_PIX_FMT_YUV440P PIX_FMT_YUV440P
> #define AV_PIX_FMT_YUVJ440P PIX_FMT_YUVJ440P
> #define AV_PIX_FMT_YUV422P PIX_FMT_YUV422P
> #define AV_PIX_FMT_YUVJ422P PIX_FMT_YUVJ422P
> #define AV_PIX_FMT_YUV420P PIX_FMT_YUV420P
> #define AV_PIX_FMT_YUVJ420P PIX_FMT_YUVJ420P
> #define AV_PIX_FMT_YUV411P PIX_FMT_YUV411P
> #define AV_PIX_FMT_YUV410P PIX_FMT_YUV410P
> #define AV_PIX_FMT_NV12 PIX_FMT_NV12
> #define AV_PIX_FMT_NV21 PIX_FMT_NV21
> #define AV_PIX_FMT_YUYV422 PIX_FMT_YUYV422
> #define AV_PIX_FMT_UYVY422 PIX_FMT_UYVY422
> #define AV_PIX_FMT_UYYVYY411 PIX_FMT_UYYVYY411
> #define AV_PIX_FMT_NONE PIX_FMT_NONE
> #endif
>
> For VideoDecoderFfmpeg.cpp:
> #if LIBAVUTIL_VERSION_MAJOR < 52
> #define AVPixelFormat PixelFormat
> #define AV_PIX_FMT_RGBA PIX_FMT_RGBA
> #define AV_PIX_FMT_RGB24 PIX_FMT_RGB24
> #define AV_PIX_FMT_NONE PIX_FMT_NONE
> #define AV_PIX_FMT_VAAPI_VLD PIX_FMT_VAAPI_VLD
> #endif
In case this wasn't explicit enough, attached is a patch
that should work also on older versions (untested).

The next version of FFmpeg is planned to be released this month
(and it might be called 3.0 instead of 2.9).

If this bug isn't fixed soon, it will become release critical and
thus the package will either get NMUed or removed from testing.

Best regards,
Andreas

gnash_ffmpeg-2.9.patch (9K) Download Attachment