vlc is failing to build after the update recently to ffmpeg 3.0. I
verified that it builds prior to this change.
Should we include an older version of ffmpeg to build vlc with for now?
Or should we try to figure out what to do to to get vlc to build with
ffmpeg 3.0? Maybe for now we should do the former for the aim of the latter.
Here's the output while attempting to build.
CC codec/libvorbis_plugin_la-vorbis.lo
CC codec/avcodec/libavcodec_plugin_la-video.lo
codec/avcodec/video.c: In function ‘InitVideoDec’:
codec/avcodec/video.c:226:5: error: implicit declaration of function
‘avcodec_alloc_frame’ [-Werror=implicit-function-declaration]
p_sys->p_ff_pic = avcodec_alloc_frame();
^
codec/avcodec/video.c:226:21: warning: assignment makes pointer from integer
without a cast
p_sys->p_ff_pic = avcodec_alloc_frame();
^
codec/avcodec/video.c:308:34: warning: assignment from incompatible pointer type
p_sys->p_context->get_format = ffmpeg_GetFormat;
^
codec/avcodec/video.c:438:9: error: implicit declaration of function
‘avcodec_free_frame’ [-Werror=implicit-function-declaration]
avcodec_free_frame( &p_sys->p_ff_pic );
^
codec/avcodec/video.c: In function ‘lavc_dr_GetFrame’:
codec/avcodec/video.c:996:25: error: ‘PIX_FMT_PAL8’ undeclared (first use in
this function)
if (ctx->pix_fmt == PIX_FMT_PAL8)
^
codec/avcodec/video.c:996:25: note: each undeclared identifier is reported only
once for each function it appears in
codec/avcodec/video.c: At top level:
codec/avcodec/video.c:1305:25: error: return type is an incomplete type
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *p_context,
^
codec/avcodec/video.c:1305:25: error: conflicting types for ‘ffmpeg_GetFormat’
codec/avcodec/video.c:111:25: note: previous declaration of ‘ffmpeg_GetFormat’
was here
static enum PixelFormat ffmpeg_GetFormat( AVCodecContext *,
^
codec/avcodec/video.c: In function ‘ffmpeg_GetFormat’:
codec/avcodec/video.c:1317:5: error: invalid use of undefined type ‘enum
PixelFormat’
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1317:30: error: dereferencing pointer to incomplete type
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1317:37: error: ‘PIX_FMT_NONE’ undeclared (first use in
this function)
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1319:9: error: invalid use of undefined type ‘enum
PixelFormat’
const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(pi_fmt[i]);
^
codec/avcodec/video.c:1319:67: error: dereferencing pointer to incomplete type
const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(pi_fmt[i]);
^
codec/avcodec/video.c:1324:9: error: invalid use of undefined type ‘enum
PixelFormat’
msg_Dbg( p_dec, "available %sware decoder output format %d (%s)",
^
In file included from ../include/vlc_common.h:908:0,
from codec/avcodec/video.c:32:
codec/avcodec/video.c:1325:51: error: dereferencing pointer to incomplete type
hwaccel ? "hard" : "soft", pi_fmt[i], dsc->name );
^
../include/vlc_messages.h:78:63: note: in definition of macro ‘msg_Dbg’
vlc_Log( VLC_OBJECT(p_this), VLC_MSG_DBG, MODULE_STRING, __VA_ARGS__ )
^
codec/avcodec/video.c:1344:5: error: invalid use of undefined type ‘enum
PixelFormat’
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1344:30: error: dereferencing pointer to incomplete type
for( size_t i = 0; pi_fmt[i] != PIX_FMT_NONE; i++ )
^
codec/avcodec/video.c:1346:9: error: invalid use of undefined type ‘enum
PixelFormat’
if( p_va->pix_fmt != pi_fmt[i] )
^
codec/avcodec/video.c:1346:36: error: dereferencing pointer to incomplete type
if( p_va->pix_fmt != pi_fmt[i] )
^
codec/avcodec/video.c:1370:9: error: invalid use of undefined type ‘enum
PixelFormat’
return pi_fmt[i];
^
codec/avcodec/video.c:1370:22: error: dereferencing pointer to incomplete type
return pi_fmt[i];
^
codec/avcodec/video.c:1370:9: warning: ‘return’ with a value, in function
returning void
return pi_fmt[i];
^
codec/avcodec/video.c:1378:51: warning: passing argument 2 of
‘avcodec_default_get_format’ from incompatible pointer type
return avcodec_default_get_format( p_context, pi_fmt );
^
In file included from codec/avcodec/video.c:38:0:
/gnu/store/p202gwk3i870jwdwa