[gst-devel] [gst-cvs] tpm gstreamer: gstreamer/ gstreamer/docs/gst/ gstreamer/gst/ gstreamer/tests/check/gst/

Stefan Kost ensonic at hora-obscura.de
Thu Jan 17 10:20:09 CET 2008


hi again,

Quoting Tim Müller <t.i.m at zen.co.uk>:

> On Wed, 2008-01-16 at 23:32 +0200, Stefan Kost wrote:
>
>> any ideas how to handle such changes a bit more graceful. The issue:
>> I build my app against gst-cvs and use disable-deprecated. So if   
>> there is such a
>> change my build fails. So far okay. Old API deprecated, new api there as a
>> replacement - available since 0.10.16. Okay, check for gst-0.10.16   
>> and use new
>> api if we have it. Bang. There is no 0.10.16 available (yet).
>
> Why not just check for 0.10.15.1 and use the new API, and if someone
> complains about it not building, tell them to cvs update core? Just like
> we do for the plugins modules basically. If you build against CVS and
> use disable-deprecated you'll have to live with the consequences, I
> don't think it's really worth working around that.
>
I think the main issues is that when
#ifndef GST_DISABLE_DEPRECATED
#endif
is used on a function prototype one gets a warning, but the build goes  
on (unless -Werror). If you use that on a macro, the build fails  
always. The compile sees something like a function call (without a  
prototype) outside a function. So what we should probably do is the  
attached patch.

Then one gets:
cc1: warnings being treated as errors
sink-bin.c:902: warning: 'bt_sink_bin_plugin_init' defined but not used
sink-bin.c:920: warning:  
'_gst_plugin_static_init__bt_sink_bin_plugin_init' defined but not used

instead of:
sink-bin.c:921: error: expected declaration specifiers or '...' before  
'(' token
sink-bin.c:922: error: expected declaration specifiers or '...' before  
'(' token
sink-bin.c:923: error: expected declaration specifiers or '...' before  
string constant
sink-bin.c:924: error: expected declaration specifiers or '...' before  
string constant
sink-bin.c:925: error: expected declaration specifiers or '...' before  
'bt_sink_bin_plugin_init'
sink-bin.c:925: error: expected declaration specifiers or '...' before  
string constant
sink-bin.c:925: error: expected declaration specifiers or '...' before  
string constant
sink-bin.c:925: error: expected declaration specifiers or '...' before  
string constant
sink-bin.c:925: error: expected declaration specifiers or '...' before  
string constant
cc1: warnings being treated as errors
sink-bin.c:926: warning: data definition has no type or storage class
sink-bin.c:926: warning: type defaults to 'int' in declaration of  
'GST_PLUGIN_DEFINE_STATIC'


Stefan

>
>
>> Should we only activate the deprecations after bumping the version? How do
>> others handle that? reconfigure all the build-slaves and developer checkouts
>> (remove the disable deprecated). Do I overlook something obvious?
>
> You could just add an #undef GST_DISABLE_DEPRECATED before the first
> include in the affected source file(s) if you don't want to change over
> to the new API quite yet.
>
>  Cheers
>   -Tim
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: plugin_static_deprecated-01.patch
Type: text/x-patch
Size: 1111 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080117/37492fa2/attachment.bin>


More information about the gstreamer-devel mailing list