#2203: libavcodec/vdpau.h is broken when used from C++
-------------------------------------+-------------------------------------
Reporter: aballier | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Not sure at all how to fix this, but commit
44e065d56c87d6a9d0effccec5f31517f72924ec moved the definition of
VdpPictureInfo from vdpau_render_state to global scope. VdpPictureInfo is
also defined by vdpau/vpdau.h here, included from libavcodec/vdpau.h.
While it's fine with C code, it's not from C++ and breaks xbmc.
Sample test case:
$ cat foo.cc
extern "C" {
#include <libavcodec/vdpau.h>
}
int main() {}
$ g++ foo.cc
In file included from foo.cc:2:0:
/usr/include/libavcodec/vdpau.h:55:7: error: using typedef-name
‘VdpPictureInfo’ after ‘union’
In file included from /usr/include/libavcodec/vdpau.h:52:0,
from foo.cc:2:
/usr/include/vdpau/vdpau.h:2650:16: note: ‘VdpPictureInfo’ has a previous
declaration here
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2203>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
[email protected]
http://avcodec.org/mailman/listinfo/ffmpeg-trac