From 015e310d6a5e4d8c09f70ee4aef81c065487f071 Mon Sep 17 00:00:00 2001 From: xufulong <839789740@qq.com> Date: Thu, 21 Oct 2021 09:03:46 +0800 Subject: [PATCH] call C header file from cpp --- app/src/main/cpp/ffmpeg/cmdutils.cpp | 8 +++++++- app/src/main/cpp/ffmpeg/ffmpeg.h | 6 ++++++ app/src/main/cpp/ffmpeg/ffmpeg_filter.cpp | 8 ++++++-- app/src/main/cpp/ffmpeg/ffmpeg_hw.cpp | 8 ++++++-- app/src/main/cpp/ffmpeg/ffmpeg_opt.cpp | 8 ++++++-- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/app/src/main/cpp/ffmpeg/cmdutils.cpp b/app/src/main/cpp/ffmpeg/cmdutils.cpp index 66bd3a8..8edd2e1 100644 --- a/app/src/main/cpp/ffmpeg/cmdutils.cpp +++ b/app/src/main/cpp/ffmpeg/cmdutils.cpp @@ -28,7 +28,9 @@ /* Include only the enabled headers since some compilers (namely, Sun Studio) will not omit unused inline functions and create undefined references to libraries that are not being built. */ - +#ifdef __cplusplus +extern "C" { +#endif #include "config.h" #include "compat/va_copy.h" #include "libavformat/avformat.h" @@ -53,6 +55,10 @@ #include "libavutil/ffversion.h" #include "libavutil/version.h" #include "cmdutils.h" +#ifdef __cplusplus +} +#endif + #if CONFIG_NETWORK #include "libavformat/network.h" #endif diff --git a/app/src/main/cpp/ffmpeg/ffmpeg.h b/app/src/main/cpp/ffmpeg/ffmpeg.h index 35bddca..7fef18a 100644 --- a/app/src/main/cpp/ffmpeg/ffmpeg.h +++ b/app/src/main/cpp/ffmpeg/ffmpeg.h @@ -22,6 +22,9 @@ #include #include #include +#ifdef __cplusplus +extern "C" { +#endif #include "cmdutils.h" #include "config.h" @@ -45,6 +48,9 @@ #include "libswresample/swresample.h" +#ifdef __cplusplus +} +#endif #define VSYNC_AUTO -1 #define VSYNC_PASSTHROUGH 0 #define VSYNC_CFR 1 diff --git a/app/src/main/cpp/ffmpeg/ffmpeg_filter.cpp b/app/src/main/cpp/ffmpeg/ffmpeg_filter.cpp index 05192d7..8823985 100644 --- a/app/src/main/cpp/ffmpeg/ffmpeg_filter.cpp +++ b/app/src/main/cpp/ffmpeg/ffmpeg_filter.cpp @@ -21,7 +21,9 @@ #include #include "ffmpeg.h" - +#ifdef __cplusplus +extern "C" { +#endif #include "libavfilter/avfilter.h" #include "libavfilter/buffersink.h" #include "libavfilter/buffersrc.h" @@ -36,7 +38,9 @@ #include "libavutil/pixfmt.h" #include "libavutil/imgutils.h" #include "libavutil/samplefmt.h" - +#ifdef __cplusplus +} +#endif static const enum AVPixelFormat *get_compliance_unofficial_pix_fmts(enum AVCodecID codec_id, const enum AVPixelFormat default_formats[]) { static const enum AVPixelFormat mjpeg_formats[] = diff --git a/app/src/main/cpp/ffmpeg/ffmpeg_hw.cpp b/app/src/main/cpp/ffmpeg/ffmpeg_hw.cpp index 4d33cad..da39204 100644 --- a/app/src/main/cpp/ffmpeg/ffmpeg_hw.cpp +++ b/app/src/main/cpp/ffmpeg/ffmpeg_hw.cpp @@ -17,9 +17,13 @@ */ #include - +#ifdef __cplusplus +extern "C" { +#endif #include "libavutil/avstring.h" - +#ifdef __cplusplus +} +#endif #include "ffmpeg.h" static int nb_hw_devices; diff --git a/app/src/main/cpp/ffmpeg/ffmpeg_opt.cpp b/app/src/main/cpp/ffmpeg/ffmpeg_opt.cpp index ba32eb6..609d23a 100644 --- a/app/src/main/cpp/ffmpeg/ffmpeg_opt.cpp +++ b/app/src/main/cpp/ffmpeg/ffmpeg_opt.cpp @@ -22,7 +22,9 @@ #include "ffmpeg.h" #include "cmdutils.h" - +#ifdef __cplusplus +extern "C" { +#endif #include "libavformat/avformat.h" #include "libavcodec/avcodec.h" @@ -40,7 +42,9 @@ #include "libavutil/parseutils.h" #include "libavutil/pixdesc.h" #include "libavutil/pixfmt.h" - +#ifdef __cplusplus +} +#endif #define DEFAULT_PASS_LOGFILENAME_PREFIX "ffmpeg2pass" #define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)\