【发布时间】:2014-02-18 12:53:01
【问题描述】:
就我而言,我正在尝试使用 QtMultimedia 和 libffmpeg 作为解码器。 将 ffmpeg 导入为 extern "C",但 ffmpeg 的 AVPixelFormat 与 QVideoFrame 的 PixelFormat 冲突。
确切的错误:
'AVPixelFormat' : 不是'QVideoFrame'的成员
有人知道可能的解决方案吗?
编辑:代码部分。
第 1 部分:Qt VideoWidget Sample
第 2 部分:libffmpeg 的使用,基于 dranger tutorial
extern "C"
{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
}
【问题讨论】:
-
你读过这个吗:qt-project.org/wiki/Qt-In-Namespace - 听起来你可以为他们的类使用命名空间来编译 Qt,这可能会解决你的问题
-
QVideoFrame 中的枚举是“PixelFormat”。您的变量是“AVPixelFormat”。我不明白这应该如何冲突(并且错误消息并不表明它会发生冲突)。添加导致错误的代码。
标签: c++ qt namespaces ffmpeg extern