Menu

#335 ffmpeg_demux: build fails with latest ffmpeg

v1.0 (example)
open
nobody
None
5
2015-02-09
2014-10-13
No

This is becoming a habit, one could say:

ffmpeg_demux.c:594:10: warning: implicit declaration of function 'av_open_input_stream' is invalid in C99
      [-Wimplicit-function-declaration]
                        res = av_open_input_stream(&ffd->ctx, &ffd->io, szName, av_in, NULL);
                              ^
3 warnings generated.
  CC ffmpeg_load.c
Undefined symbols for architecture x86_64:
  "_av_close_input_file", referenced from:
      _FFD_CanHandleURL in ffmpeg_demux.o
      _FFD_CloseService in ffmpeg_demux.o
      _FFD_ConnectService in ffmpeg_demux.o
  "_av_find_stream_info", referenced from:
      _FFD_CanHandleURL in ffmpeg_demux.o
      _FFD_ConnectService in ffmpeg_demux.o
  "_av_open_input_stream", referenced from:
      _FFD_ConnectService in ffmpeg_demux.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [gm_ffmpeg_in.dylib] Error 1
make[1]: *** [plugs] Error 2
make: *** [all] Error 2

btw. what features do I lose if I compile without ffmpeg --use-ffmpeg=no?

ffmpeg -version
ffmpeg version N-66834-ga586b3d Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 13 2014 14:21:50 with Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
configuration: --enable-gpl --enable-version3 --enable-nonfree --disable-ffserver --enable-shared --enable-libfdk-aac --enable-libx265 --enable-libx264 --enable-libxvid --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libvidstab --extra-cflags=-I/sw/include --extra-libs=-L/sw/lib
libavutil      54. 10.100 / 54. 10.100
libavcodec     56.  4.101 / 56.  4.101
libavformat    56.  9.100 / 56.  9.100
libavdevice    56.  1.100 / 56.  1.100
libavfilter     5.  1.105 /  5.  1.105
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100

Discussion

  • Jonathan G. Rennison

    I've just run into this bug as well.
    The FF_API_* defines are themselves conditionals, and are removed as the deprecated functions are removed, which then breaks the corresponding tests in ffmpeg_in and DashCast.
    I've put some workarounds in the attached patch.
    The test for FF_API_AVCODEC_INIT was broken, so I fixed that as well.

     
    • Christian Ebert

      Christian Ebert - 2014-10-14

      Confirming that it builds again with your patch.
      Thanks.

       

Log in to post a comment.