On Wed, 9 Oct 2013 07:29:52 -0700 (PDT)
 James Board <[email protected]> wrote:

This is a mailing list about FFmpeg (that is why it is hosted on the FFmpeg server). Questions about how to convert a C program (that allows implicit type conversions which is why FFmpeg - and demuxing.c - does not contain explicit type conversions) into a C++ program (which needs explicit conversions) is not completely appropriate here afaict.

Really?  The title of the mailing list is [email protected].
I'm asking whether libav can be used in C++ programs, if anyone
uses libav in C++ programs, and what I need to do in order to
use libav in C++ programs.  How can that be inappropriate?

Anyway, don't bother.  I give up.  You win.

You just need to wrap all you libav includes in extern "C" { }, like this

 #ifdef __cplusplus

 extern "C" {
 #include <libavutil/avutil.h>
 #include <libavutil/mathematics.h>
 #include <libavutil/imgutils.h>
 #include <libavutil/samplefmt.h>
 #include <libavutil/time.h>
 #include <libavcodec/avcodec.h>
 #include <libavformat/avformat.h>
 #include <libswscale/swscale.h>
 }

 #endif // __cplusplus

 As for UINT64_C you can do this

 #ifndef INT64_C
 #define INT64_C(c) (c ## LL)
 #define UINT64_C(c) (c ## ULL)
 #endif // INT64_C

I' m using libav in many of my projects which include other third party libraries. The above are the only things required.
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to