[FFmpeg-trac] #2203(undetermined:new): libavcodec/vdpau.h is broken when used from C++

FFmpeg trac at avcodec.org
Mon Jan 28 00:35:22 CET 2013


#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


More information about the FFmpeg-trac mailing list