Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Nov 2016 05:28:44 +0000
From:      bugzilla-noreply@freebsd.org
To:        multimedia@FreeBSD.org
Subject:   [Bug 214234] multimedia/vlc: fails to build with ffmpeg 3.x
Message-ID:  <bug-214234-12827@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D214234

            Bug ID: 214234
           Summary: multimedia/vlc: fails to build with ffmpeg 3.x
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Keywords: needs-patch
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: multimedia@FreeBSD.org
          Reporter: jbeich@FreeBSD.org
            Blocks: 207547
          Assignee: multimedia@FreeBSD.org
             Flags: maintainer-feedback?(multimedia@FreeBSD.org)

configure: error: libavutil versions 55 and later are not supported.
configure: error: VDPAU requires FFmpeg libavcodec < 57.10 or libav.

codec/avcodec/video.c:237:23: error: implicit declaration of function
'avcodec_alloc_frame' is
      invalid in C99 [-Werror,-Wimplicit-function-declaration]
    p_sys->p_ff_pic =3D avcodec_alloc_frame();
                      ^
codec/avcodec/video.c:237:23: note: did you mean 'avcodec_send_frame'?
/usr/local/include/libavcodec/avcodec.h:4949:5: note: 'avcodec_send_frame'
declared here
int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame);
    ^
codec/avcodec/video.c:237:21: warning: incompatible integer to pointer
conversion assigning to
      'AVFrame *' (aka 'struct AVFrame *') from 'int' [-Wint-conversion]
    p_sys->p_ff_pic =3D avcodec_alloc_frame();
                    ^ ~~~~~~~~~~~~~~~~~~~~~
codec/avcodec/video.c:319:34: warning: incompatible pointer types assigning=
 to
'enum AVPixelFormat
      (*)(struct AVCodecContext *, const enum AVPixelFormat *)' from 'enum
PixelFormat
      (AVCodecContext *, const enum PixelFormat *)' (aka 'enum PixelFormat
(struct AVCodecContext *,
      const enum PixelFormat *)') [-Wincompatible-pointer-types]
    p_sys->p_context->get_format =3D ffmpeg_GetFormat;
                                 ^ ~~~~~~~~~~~~~~~~
codec/avcodec/video.c:449:9: error: implicit declaration of function
'avcodec_free_frame' is invalid
      in C99 [-Werror,-Wimplicit-function-declaration]
        avcodec_free_frame( &p_sys->p_ff_pic );
        ^
codec/avcodec/video.c:449:9: note: did you mean 'avcodec_send_frame'?
/usr/local/include/libavcodec/avcodec.h:4949:5: note: 'avcodec_send_frame'
declared here
int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame);
    ^
codec/avcodec/video.c:645:18: warning: 'avcodec_decode_video2' is deprecated
      [-Wdeprecated-declarations]
        i_used =3D avcodec_decode_video2( p_context, p_sys->p_ff_pic,
                 ^
/usr/local/include/libavcodec/avcodec.h:4811:5: note: 'avcodec_decode_video=
2'
has been explicitly
      marked deprecated here
int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
    ^
codec/avcodec/video.c:692:38: warning: 'pkt_pts' is deprecated
[-Wdeprecated-declarations]
                    p_sys->p_ff_pic->pkt_pts;
                                     ^
/usr/local/include/libavutil/frame.h:276:13: note: 'pkt_pts' has been
explicitly marked deprecated
      here
    int64_t pkt_pts;
            ^
codec/avcodec/video.c:1316:25: error: incomplete result type 'enum PixelFor=
mat'
in function
      definition
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
                        ^
codec/avcodec/video.c:111:13: note: forward declaration of 'enum PixelForma=
t'
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
            ^
codec/avcodec/video.c:1328:30: error: subscript of pointer to incomplete ty=
pe
      'const enum PixelFormat'
    for( size_t i =3D 0; pi_fmt[i] !=3D AV_PIX_FMT_NONE; i++ )
                       ~~~~~~^
codec/avcodec/video.c:111:13: note: forward declaration of 'enum PixelForma=
t'
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
            ^
codec/avcodec/video.c:1330:67: error: subscript of pointer to incomplete ty=
pe
      'const enum PixelFormat'
        const AVPixFmtDescriptor *dsc =3D av_pix_fmt_desc_get(pi_fmt[i]);
                                                            ~~~~~~^
codec/avcodec/video.c:111:13: note: forward declaration of 'enum PixelForma=
t'
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
            ^
codec/avcodec/video.c:1336:51: error: subscript of pointer to incomplete ty=
pe
      'const enum PixelFormat'
                 hwaccel ? "hard" : "soft", pi_fmt[i], dsc->name );
                                            ~~~~~~^
../include/vlc_messages.h:78:63: note: expanded from macro 'msg_Dbg'
    vlc_Log( VLC_OBJECT(p_this), VLC_MSG_DBG,  MODULE_STRING, __VA_ARGS__ )
                                                              ^~~~~~~~~~~
codec/avcodec/video.c:111:13: note: forward declaration of 'enum PixelForma=
t'
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
            ^
codec/avcodec/video.c:1355:30: error: subscript of pointer to incomplete ty=
pe
      'const enum PixelFormat'
    for( size_t i =3D 0; pi_fmt[i] !=3D AV_PIX_FMT_NONE; i++ )
                       ~~~~~~^
codec/avcodec/video.c:111:13: note: forward declaration of 'enum PixelForma=
t'
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
            ^
codec/avcodec/video.c:1357:36: error: subscript of pointer to incomplete ty=
pe
      'const enum PixelFormat'
        if( p_va->pix_fmt !=3D pi_fmt[i] )
                             ~~~~~~^
codec/avcodec/video.c:111:13: note: forward declaration of 'enum PixelForma=
t'
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
            ^
codec/avcodec/video.c:1381:22: error: subscript of pointer to incomplete ty=
pe
      'const enum PixelFormat'
        return pi_fmt[i];
               ~~~~~~^
codec/avcodec/video.c:111:13: note: forward declaration of 'enum PixelForma=
t'
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
            ^
codec/avcodec/video.c:1389:51: warning: incompatible pointer types passing
'const enum PixelFormat *'
      to parameter of type 'const enum AVPixelFormat *'
[-Wincompatible-pointer-types]
    return avcodec_default_get_format( p_context, pi_fmt );
                                                  ^~~~~~
/usr/local/include/libavcodec/avcodec.h:5572:100: note: passing argument to
parameter 'fmt' here
  ...avcodec_default_get_format(struct AVCodecContext *s, const enum
AVPixelFormat * fmt);
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20
     ^
codec/avcodec/video.c:1389:12: error: returning 'enum AVPixelFormat' from a
function with
      incompatible result type 'enum PixelFormat'
    return avcodec_default_get_format( p_context, pi_fmt );
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 warnings and 10 errors generated.

http://package23.nyi.freebsd.org/data/103i386-default-PR207547/2016-10-04_1=
8h24m30s/logs/errors/vlc-2.2.4_1,4.log
http://package23.nyi.freebsd.org/data/103i386-default-PR207547/2016-10-04_1=
8h24m30s/logs/errors/vlc-qt4-2.2.4_1,4.log


Referenced Bugs:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207547
[Bug 207547] [exp-run] Update ffmpeg to 3.2
--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-214234-12827>