FFMpeg 代码编译错误汇总
在libav编译报错
(gst-plugin-scanner:8245): GStreamer-[1;33mWARNING[0m **: [34m21:16:19.080[0m: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstffmpeg.so': /usr/lib/gstreamer-1.0/libgstffmpeg.so: undefined symbol: ff_mpegtsraw_demuxer
的时候,
查看源码是
......
extern AVInputFormat ff_mpegtsraw_demuxer;
......
static gboolean ffmpegtsfilter_open(GstFFMpegTsFilter* ffmpegtsfilter)
{
// 在element中使用了extern声明的ffmpeg demuxer
AVInputFormat *inputfmt = &ff_mpegtsraw_demuxer;
......
}
这里需要在ffmpeg面的libavformat/libavformat.v里面添加定义的声明
LIBAVFORMAT_MAJOR {
global:
av*;
ff_*;
local:
*;
};
这样才能在外部代码extern之后使用。

浙公网安备 33010602011771号