After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 576126 - av_iformat_next and av_oformat_next compile errors using FFmpeg v0.5 release and MSVC
av_iformat_next and av_oformat_next compile errors using FFmpeg v0.5 release ...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Windows
: Normal minor
: 0.10.8
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-20 20:33 UTC by David Hoyt
Modified: 2009-05-07 10:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Potential fixes (1.06 KB, patch)
2009-03-20 20:34 UTC, David Hoyt
committed Details | Review

Description David Hoyt 2009-03-20 20:33:07 UTC
Missing symbols "first_iformat" and "first_oformat" in FFmpeg-generated .lib files for use with MSVC. The generated .lib files alias the external symbols calling them "_first_iformat" and "_first_oformat" respectively.

This can be remedied using the FFmpeg API to get the intended values.

Instead of (gstffmpegdemux.c):

in_plugin = in_plugin->next;

Use:

in_plugin = av_iformat_next(NULL);


Instead of (gstffmpegmux.c):

in_plugin = first_oformat;

Use:

in_plugin = av_oformat_next(NULL);
Comment 1 David Hoyt 2009-03-20 20:34:44 UTC
Created attachment 131047 [details] [review]
Potential fixes

This should fix the problem. It also addresses using FFmpeg APIs to get the next format rather than using the private (according to FFmpeg documentation) "next" field.
Comment 2 David Hoyt 2009-03-20 20:38:08 UTC
Whoops. In the code mentioned above, thiss:

in_plugin = in_plugin->next;

Should be:

in_plugin = first_iformat;


The patch should be clearer as to the intent.
Comment 3 Sebastian Dröge (slomo) 2009-05-07 10:59:28 UTC
commit da8d4abad2d023888f560fb91b1d347e975ed38a
Author: David Hoyt <dhoyt@llnl.gov>
Date:   Thu May 7 12:57:10 2009 +0200

    Use av_{i,o}format_next instead of the private next field
    
    This fixes compilation with MSVC where the initializer variables
    are aliased to different names. Fixes bug #576126.