[osg-users] ffmpeg plugin on OS X / DarwinPorts

Robert Osfield robert.osfield at gmail.com
Tue Mar 3 01:50:30 PST 2009


Hi Ulrich,

On Tue, Mar 3, 2009 at 9:25 AM, Ulrich Hertlein <u.hertlein at sandbox.de> wrote:
> So it's not finding "avformat.h".  DarwinPorts puts 'avformat.h' in
> /opt/local/include/ffmpeg/avformat.h
> /opt/local/include/libavformat/avformat.h
>
> (ffmpeg/avformat.h is a symlink to ../libavformat/avformat.h)
>
> Since "pkg-config --cflags libavformat" is returning
> -I/opt/local/include -I/opt/local/include/dirac
>
> it appears that the required #include (in FFmpegHeaders.hpp) would be:
> #include <ffmpeg/avformat.h>
>
> rather than what it is now:
> #include <avformat.h>
>
> Can we change that without breaking compiles on other systems?

This change would break other systems as they don't have all have the
ffmpeg prefix.  When I have built ffmpeg from source the ffmpeg prefix
doesn't exist but has the libavformat (etc.) prefix, but when I check
it out from ubuntu repositories it did include the ffmpeg prefix, but
no libavformat (etc.) prefix.  To handle the differences I've already
introduced some extra paths in the Cmake setup, but clearly we'll have
to go further.

I've have now added the ffmpeg to the include search paths so the set
up code looks like:

INCLUDE_DIRECTORIES(
    ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/ffmpeg
    ${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}
${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/libavdevice
${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS}/ffmpeg
    ${FFMPEG_LIBAVCODEC_INCLUDE_DIRS}
${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/libavcodec
${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/ffmpeg
    ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/libavcodec
${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}/ffmpeg
)

Could you do an svn update and see if this addition helps things.

Robert.



More information about the osg-users mailing list