diff options
124 files changed, 613 insertions, 197 deletions
| @@ -1,3 +1,147 @@ +2006-04-26  Stefan Kost  <ensonic@users.sf.net> + +	* ext/aalib/gstaasink.c: +	* ext/annodex/gstcmmldec.c: +	* ext/annodex/gstcmmlenc.c: +	* ext/cairo/gsttextoverlay.c: +	* ext/cairo/gsttimeoverlay.c: +	* ext/cdio/gstcdiocddasrc.c: +	* ext/dv/gstdvdec.c: +	* ext/dv/gstdvdemux.c: +	* ext/esd/esdmon.c: +	* ext/esd/esdsink.c: +	* ext/flac/gstflacenc.c: +	* ext/flac/gstflactag.c: +	* ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init): +	* ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init): +	* ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init): +	* ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init): +	* ext/gdk_pixbuf/pixbufscale.c: +	* ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): +	* ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): +	* ext/jpeg/gstjpegdec.c: +	* ext/jpeg/gstjpegenc.c: +	* ext/jpeg/gstsmokedec.c: +	* ext/jpeg/gstsmokeenc.c: +	* ext/libcaca/gstcacasink.c: +	* ext/libmng/gstmngdec.c: +	* ext/libmng/gstmngenc.c: +	* ext/libpng/gstpngdec.c: +	* ext/libpng/gstpngenc.c: +	* ext/mikmod/gstmikmod.c: +	* ext/raw1394/gstdv1394src.c: +	* ext/shout2/gstshout2.c: (gst_shout2send_init): +	* ext/shout2/gstshout2.h: +	* ext/speex/gstspeexdec.c: +	* ext/speex/gstspeexenc.c: +	* gst/alpha/gstalpha.c: +	* gst/alpha/gstalphacolor.c: +	* gst/apetag/gstapedemux.c: +	* gst/auparse/gstauparse.c: +	* gst/autodetect/gstautoaudiosink.c: +	(gst_auto_audio_sink_base_init): +	* gst/autodetect/gstautovideosink.c: +	(gst_auto_video_sink_base_init): +	* gst/avi/gstavidemux.c: (gst_avi_demux_base_init): +	* gst/avi/gstavimux.c: (gst_avimux_base_init): +	* gst/cutter/gstcutter.c: +	* gst/debug/breakmydata.c: +	* gst/debug/efence.c: +	* gst/debug/gstnavigationtest.c: +	* gst/debug/gstnavseek.c: +	* gst/debug/negotiation.c: +	* gst/debug/progressreport.c: +	* gst/debug/testplugin.c: +	* gst/effectv/gstaging.c: +	* gst/effectv/gstdice.c: +	* gst/effectv/gstedge.c: +	* gst/effectv/gstquark.c: +	* gst/effectv/gstrev.c: +	* gst/effectv/gstshagadelic.c: +	* gst/effectv/gstvertigo.c: +	* gst/effectv/gstwarp.c: +	* gst/flx/gstflxdec.c: +	* gst/goom/gstgoom.c: +	* gst/icydemux/gsticydemux.c: +	* gst/id3demux/gstid3demux.c: +	* gst/interleave/deinterleave.c: +	* gst/interleave/interleave.c: +	* gst/law/alaw-decode.c: (gst_alawdec_base_init): +	* gst/law/alaw-encode.c: (gst_alawenc_base_init): +	* gst/law/mulaw-decode.c: (gst_mulawdec_base_init): +	* gst/law/mulaw-encode.c: (gst_mulawenc_base_init): +	* gst/level/gstlevel.c: +	* gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init): +	* gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init): +	* gst/median/gstmedian.c: +	* gst/monoscope/gstmonoscope.c: +	* gst/multipart/multipartdemux.c: +	* gst/multipart/multipartmux.c: +	* gst/oldcore/gstaggregator.c: +	* gst/oldcore/gstfdsink.c: +	* gst/oldcore/gstmd5sink.c: +	* gst/oldcore/gstmultifilesrc.c: +	* gst/oldcore/gstpipefilter.c: +	* gst/oldcore/gstshaper.c: +	* gst/oldcore/gststatistics.c: +	* gst/rtp/gstasteriskh263.c: +	* gst/rtp/gstrtpL16depay.c: +	* gst/rtp/gstrtpL16pay.c: +	* gst/rtp/gstrtpamrdepay.c: +	* gst/rtp/gstrtpamrpay.c: +	* gst/rtp/gstrtpdepay.c: +	* gst/rtp/gstrtpgsmpay.c: +	* gst/rtp/gstrtph263pay.c: +	* gst/rtp/gstrtph263pdepay.c: +	* gst/rtp/gstrtph263ppay.c: +	* gst/rtp/gstrtpilbcdepay.c: +	* gst/rtp/gstrtpmp4gpay.c: +	* gst/rtp/gstrtpmp4vdepay.c: +	* gst/rtp/gstrtpmp4vpay.c: +	* gst/rtp/gstrtpmpadepay.c: +	* gst/rtp/gstrtpmpapay.c: +	* gst/rtp/gstrtppcmadepay.c: +	* gst/rtp/gstrtppcmapay.c: +	* gst/rtp/gstrtppcmudepay.c: +	* gst/rtp/gstrtppcmupay.c: +	* gst/rtp/gstrtpspeexdepay.c: +	* gst/rtp/gstrtpspeexpay.c: +	* gst/rtsp/gstrtpdec.c: +	* gst/rtsp/gstrtspsrc.c: +	* gst/smpte/gstsmpte.c: +	* gst/udp/gstdynudpsink.c: +	* gst/udp/gstmultiudpsink.c: +	* gst/udp/gstudpsink.c: +	* gst/udp/gstudpsrc.c: +	* gst/videobox/gstvideobox.c: +	* gst/videofilter/gstgamma.c: (gst_gamma_base_init): +	* gst/videofilter/gstvideobalance.c: +	* gst/videofilter/gstvideoflip.c: +	* gst/videofilter/gstvideotemplate.c: +	(gst_videotemplate_base_init): +	* gst/videomixer/videomixer.c: +	* gst/wavparse/gstwavparse.c: (gst_wavparse_base_init), +	(gst_wavparse_class_init), (gst_wavparse_dispose), +	(gst_wavparse_reset), (gst_wavparse_init), +	(gst_wavparse_perform_seek), (gst_wavparse_peek_chunk_info), +	(gst_wavparse_peek_chunk), (gst_wavparse_stream_headers), +	(gst_wavparse_parse_stream_init), (gst_wavparse_send_event), +	(gst_wavparse_add_src_pad), (gst_wavparse_stream_data), +	(gst_wavparse_chain), (gst_wavparse_srcpad_event), +	(gst_wavparse_sink_activate), (gst_wavparse_sink_activate_pull), +	(gst_wavparse_change_state): +	* gst/wavparse/gstwavparse.h: +	* sys/oss/gstossmixerelement.c: +	* sys/oss/gstosssink.c: +	* sys/oss/gstosssrc.c: +	* sys/osxaudio/gstosxaudioelement.c: +	* sys/osxaudio/gstosxaudiosink.c: +	* sys/osxaudio/gstosxaudiosrc.c: +	* sys/sunaudio/gstsunaudiomixer.c: +	* sys/sunaudio/gstsunaudiosink.c: +	  Define GstElementDetails as const and also static (when defined as +	  global) +  2006-04-25  Tim-Philipp Müller  <tim at centricular dot net>  	* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain): diff --git a/ext/aalib/gstaasink.c b/ext/aalib/gstaasink.c index 6f2aa6f9..a633b2db 100644 --- a/ext/aalib/gstaasink.c +++ b/ext/aalib/gstaasink.c @@ -28,7 +28,7 @@  #include <gst/video/video.h>  /* elementfactory information */ -static GstElementDetails gst_aasink_details = +static const GstElementDetails gst_aasink_details =  GST_ELEMENT_DETAILS ("ASCII art video sink",      "Sink/Video",      "An ASCII art videosink", diff --git a/ext/annodex/gstcmmldec.c b/ext/annodex/gstcmmldec.c index f52ca2eb..71f322f3 100644 --- a/ext/annodex/gstcmmldec.c +++ b/ext/annodex/gstcmmldec.c @@ -69,7 +69,7 @@ enum    LAST_SIGNAL  }; -static GstElementDetails gst_cmml_dec_details = +static const GstElementDetails gst_cmml_dec_details =  GST_ELEMENT_DETAILS ("CMML stream decoder",      "Codec/Decoder",      "Decodes CMML streams", diff --git a/ext/annodex/gstcmmlenc.c b/ext/annodex/gstcmmlenc.c index 3ec87f4f..5c7d7580 100644 --- a/ext/annodex/gstcmmlenc.c +++ b/ext/annodex/gstcmmlenc.c @@ -65,7 +65,7 @@ enum    LAST_SIGNAL  }; -static GstElementDetails gst_cmml_enc_details = +static const GstElementDetails gst_cmml_enc_details =  GST_ELEMENT_DETAILS ("CMML streams encoder",      "Codec/Encoder",      "Encodes CMML streams", diff --git a/ext/cairo/gsttextoverlay.c b/ext/cairo/gsttextoverlay.c index 642dd52e..664de841 100644 --- a/ext/cairo/gsttextoverlay.c +++ b/ext/cairo/gsttextoverlay.c @@ -43,7 +43,7 @@  GST_DEBUG_CATEGORY_EXTERN (cairo_debug);  #define GST_CAT_DEFAULT cairo_debug -static GstElementDetails cairo_text_overlay_details = +static const GstElementDetails cairo_text_overlay_details =  GST_ELEMENT_DETAILS ("Text overlay",      "Filter/Editor/Video",      "Adds text strings on top of a video buffer", diff --git a/ext/cairo/gsttimeoverlay.c b/ext/cairo/gsttimeoverlay.c index 9d03988a..d501a543 100644 --- a/ext/cairo/gsttimeoverlay.c +++ b/ext/cairo/gsttimeoverlay.c @@ -48,7 +48,7 @@  #include <gst/video/video.h> -static GstElementDetails cairo_time_overlay_details = +static const GstElementDetails cairo_time_overlay_details =  GST_ELEMENT_DETAILS ("Time overlay",      "Filter/Editor/Video",      "Overlays the time on a video stream", diff --git a/ext/cdio/gstcdiocddasrc.c b/ext/cdio/gstcdiocddasrc.c index 754edc8c..cf83656d 100644 --- a/ext/cdio/gstcdiocddasrc.c +++ b/ext/cdio/gstcdiocddasrc.c @@ -91,7 +91,7 @@ enum    PROP_READ_SPEED  }; -static GstElementDetails gst_cdio_cdda_src_details = +static const GstElementDetails gst_cdio_cdda_src_details =  GST_ELEMENT_DETAILS ("CD audio source (CDDA)",      "Source/File",      "Read audio from CD using libcdio", diff --git a/ext/dv/gstdvdec.c b/ext/dv/gstdvdec.c index 2392094c..c7ab3690 100644 --- a/ext/dv/gstdvdec.c +++ b/ext/dv/gstdvdec.c @@ -51,7 +51,7 @@  #include "gstdvdec.h" -static GstElementDetails dvdec_details = +static const GstElementDetails dvdec_details =  GST_ELEMENT_DETAILS ("DV video decoder",      "Codec/Decoder/Video",      "Uses libdv to decode DV video (smpte314) (libdv.sourceforge.net)", diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index 5223e96f..55a41251 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -110,7 +110,7 @@  GST_DEBUG_CATEGORY (dvdemux_debug);  #define GST_CAT_DEFAULT dvdemux_debug -static GstElementDetails dvdemux_details = +static const GstElementDetails dvdemux_details =  GST_ELEMENT_DETAILS ("DV system stream demuxer",      "Codec/Demuxer",      "Uses libdv to separate DV audio from DV video (libdv.sourceforge.net)", diff --git a/ext/esd/esdmon.c b/ext/esd/esdmon.c index 473b1eab..df1b59ec 100644 --- a/ext/esd/esdmon.c +++ b/ext/esd/esdmon.c @@ -29,7 +29,7 @@  /* elementfactory information */ -static GstElementDetails esdmon_details = +static const GstElementDetails esdmon_details =  GST_ELEMENT_DETAILS ("Esound audio monitor",      "Source/Audio",      "Monitors audio from an esound server", diff --git a/ext/esd/esdsink.c b/ext/esd/esdsink.c index dca30d51..ff0a194c 100644 --- a/ext/esd/esdsink.c +++ b/ext/esd/esdsink.c @@ -37,7 +37,7 @@ GST_DEBUG_CATEGORY_EXTERN (esd_debug);  #define GST_CAT_DEFAULT esd_debug  /* elementfactory information */ -static GstElementDetails esdsink_details = +static const GstElementDetails esdsink_details =  GST_ELEMENT_DETAILS ("Esound audio sink",      "Sink/Audio",      "Plays audio to an esound server", diff --git a/ext/flac/gstflacenc.c b/ext/flac/gstflacenc.c index 655dff3d..28b85c22 100644 --- a/ext/flac/gstflacenc.c +++ b/ext/flac/gstflacenc.c @@ -31,7 +31,8 @@  #include "flac_compat.h" -GstElementDetails flacenc_details = GST_ELEMENT_DETAILS ("FLAC audio encoder", +static const GstElementDetails flacenc_details = +GST_ELEMENT_DETAILS ("FLAC audio encoder",      "Codec/Encoder/Audio",      "Encodes audio with the FLAC lossless audio encoder",      "Wim Taymans <wim.taymans@chello.be>"); diff --git a/ext/flac/gstflactag.c b/ext/flac/gstflactag.c index f1271b6f..246efbef 100644 --- a/ext/flac/gstflactag.c +++ b/ext/flac/gstflactag.c @@ -86,7 +86,7 @@ struct _GstFlacTagClass  };  /* elementfactory information */ -static GstElementDetails gst_flac_tag_details = +static const GstElementDetails gst_flac_tag_details =  GST_ELEMENT_DETAILS ("FLAC tagger",      "Tag",      "Rewrite tags in a FLAC file", diff --git a/ext/gconf/gstgconfaudiosink.c b/ext/gconf/gstgconfaudiosink.c index 6c704a02..8cd81c15 100644 --- a/ext/gconf/gstgconfaudiosink.c +++ b/ext/gconf/gstgconfaudiosink.c @@ -51,7 +51,7 @@ static void  gst_gconf_audio_sink_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_gconf_audio_sink_details = +  static const GstElementDetails gst_gconf_audio_sink_details =        GST_ELEMENT_DETAILS ("GConf audio sink",        "Sink/Audio",        "Audio sink embedding the GConf-settings for audio output", diff --git a/ext/gconf/gstgconfaudiosrc.c b/ext/gconf/gstgconfaudiosrc.c index 86837c11..b80c89c6 100644 --- a/ext/gconf/gstgconfaudiosrc.c +++ b/ext/gconf/gstgconfaudiosrc.c @@ -40,7 +40,7 @@ static void  gst_gconf_audio_src_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_gconf_audio_src_details = +  static const GstElementDetails gst_gconf_audio_src_details =        GST_ELEMENT_DETAILS ("GConf audio source",        "Source/Audio",        "Audio source embedding the GConf-settings for audio input", diff --git a/ext/gconf/gstgconfvideosink.c b/ext/gconf/gstgconfvideosink.c index 1b4479ed..ed37287d 100644 --- a/ext/gconf/gstgconfvideosink.c +++ b/ext/gconf/gstgconfvideosink.c @@ -39,7 +39,7 @@ static void  gst_gconf_video_sink_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_gconf_video_sink_details = +  static const GstElementDetails gst_gconf_video_sink_details =        GST_ELEMENT_DETAILS ("GConf video sink",        "Sink/Video",        "Video sink embedding the GConf-settings for video output", diff --git a/ext/gconf/gstgconfvideosrc.c b/ext/gconf/gstgconfvideosrc.c index a613da63..093545e3 100644 --- a/ext/gconf/gstgconfvideosrc.c +++ b/ext/gconf/gstgconfvideosrc.c @@ -40,7 +40,7 @@ static void  gst_gconf_video_src_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_gconf_video_src_details = +  static const GstElementDetails gst_gconf_video_src_details =        GST_ELEMENT_DETAILS ("GConf video source",        "Source/Video",        "Video source embedding the GConf-settings for video input", diff --git a/ext/gdk_pixbuf/pixbufscale.c b/ext/gdk_pixbuf/pixbufscale.c index a6dbe1e2..7c498d3d 100644 --- a/ext/gdk_pixbuf/pixbufscale.c +++ b/ext/gdk_pixbuf/pixbufscale.c @@ -40,7 +40,7 @@ GST_DEBUG_CATEGORY (pixbufscale_debug);  #define GST_CAT_DEFAULT pixbufscale_debug  /* elementfactory information */ -static GstElementDetails pixbufscale_details = +static const GstElementDetails pixbufscale_details =  GST_ELEMENT_DETAILS ("GdkPixbuf image scaler",      "Filter/Effect/Video",      "Resizes video", diff --git a/ext/hal/gsthalaudiosink.c b/ext/hal/gsthalaudiosink.c index eb9c4eef..ea3c4066 100644 --- a/ext/hal/gsthalaudiosink.c +++ b/ext/hal/gsthalaudiosink.c @@ -73,7 +73,7 @@ static void  gst_hal_audio_sink_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_hal_audio_sink_details = +  static const GstElementDetails gst_hal_audio_sink_details =        GST_ELEMENT_DETAILS ("HAL audio sink",        "Sink/Audio",        "Audio sink for sound device access via HAL", diff --git a/ext/hal/gsthalaudiosrc.c b/ext/hal/gsthalaudiosrc.c index fb8cc9b5..f57e963e 100644 --- a/ext/hal/gsthalaudiosrc.c +++ b/ext/hal/gsthalaudiosrc.c @@ -75,7 +75,7 @@ static void  gst_hal_audio_src_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_hal_audio_src_details = +  static const GstElementDetails gst_hal_audio_src_details =        GST_ELEMENT_DETAILS ("HAL audio source",        "Source/Audio",        "Audio source for sound device access via HAL", diff --git a/ext/jpeg/gstjpegdec.c b/ext/jpeg/gstjpegdec.c index aa57291b..55704f68 100644 --- a/ext/jpeg/gstjpegdec.c +++ b/ext/jpeg/gstjpegdec.c @@ -28,7 +28,7 @@  #include "gst/gst-i18n-plugin.h"  #include <jerror.h> -GstElementDetails gst_jpeg_dec_details = +static const GstElementDetails gst_jpeg_dec_details =  GST_ELEMENT_DETAILS ("JPEG image decoder",      "Codec/Decoder/Image",      "Decode images from JPEG format", diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c index 93833cf5..2fc16b44 100644 --- a/ext/jpeg/gstjpegenc.c +++ b/ext/jpeg/gstjpegenc.c @@ -27,7 +27,7 @@  #include <gst/video/video.h>  /* elementfactory information */ -GstElementDetails gst_jpegenc_details = +static const GstElementDetails gst_jpegenc_details =  GST_ELEMENT_DETAILS ("JPEG image encoder",      "Codec/Encoder/Image",      "Encode images in JPEG format", diff --git a/ext/jpeg/gstsmokedec.c b/ext/jpeg/gstsmokedec.c index 79aea655..2cfc790d 100644 --- a/ext/jpeg/gstsmokedec.c +++ b/ext/jpeg/gstsmokedec.c @@ -28,7 +28,7 @@  #include <gst/video/video.h>  /* elementfactory information */ -GstElementDetails gst_smokedec_details = +static const GstElementDetails gst_smokedec_details =  GST_ELEMENT_DETAILS ("Smoke video decoder",      "Codec/Decoder/Video",      "Decode video from Smoke format", diff --git a/ext/jpeg/gstsmokeenc.c b/ext/jpeg/gstsmokeenc.c index 83bbf1f0..2ea7cf81 100644 --- a/ext/jpeg/gstsmokeenc.c +++ b/ext/jpeg/gstsmokeenc.c @@ -27,7 +27,7 @@  #include <gst/video/video.h>  /* elementfactory information */ -GstElementDetails gst_smokeenc_details = +static const GstElementDetails gst_smokeenc_details =  GST_ELEMENT_DETAILS ("Smoke video encoder",      "Codec/Encoder/Video",      "Encode images into the Smoke format", diff --git a/ext/libcaca/gstcacasink.c b/ext/libcaca/gstcacasink.c index 9139d199..9786edb3 100644 --- a/ext/libcaca/gstcacasink.c +++ b/ext/libcaca/gstcacasink.c @@ -27,7 +27,7 @@  #include "gstcacasink.h"  /* elementfactory information */ -static GstElementDetails gst_cacasink_details = +static const GstElementDetails gst_cacasink_details =  GST_ELEMENT_DETAILS ("A colored ASCII art video sink",      "Sink/Video",      "A colored ASCII art videosink", diff --git a/ext/libmng/gstmngdec.c b/ext/libmng/gstmngdec.c index 70f615fb..d3f05ce0 100644 --- a/ext/libmng/gstmngdec.c +++ b/ext/libmng/gstmngdec.c @@ -21,7 +21,7 @@  #include "gstmngdec.h"  #include <gst/video/video.h> -static GstElementDetails gst_mngdec_details = +static const GstElementDetails gst_mngdec_details =  GST_ELEMENT_DETAILS ("MNG video decoder",      "Codec/Decoder/Video",      "Decode a mng video to raw images", diff --git a/ext/libmng/gstmngenc.c b/ext/libmng/gstmngenc.c index 81b393e5..c6e34326 100644 --- a/ext/libmng/gstmngenc.c +++ b/ext/libmng/gstmngenc.c @@ -27,7 +27,8 @@  #define MAX_HEIGHT              4096 -GstElementDetails gst_mngenc_details = GST_ELEMENT_DETAILS ("MNG video encoder", +static const GstElementDetails gst_mngenc_details = +GST_ELEMENT_DETAILS ("MNG video encoder",      "Codec/Encoder/Video",      "Encode a video frame to an .mng video",      "Wim Taymans <wim@fluendo.com>"); diff --git a/ext/libpng/gstpngdec.c b/ext/libpng/gstpngdec.c index 6fbca483..3be0149d 100644 --- a/ext/libpng/gstpngdec.c +++ b/ext/libpng/gstpngdec.c @@ -23,7 +23,7 @@  #include <gst/video/video.h>  #include <gst/gst-i18n-plugin.h> -static GstElementDetails gst_pngdec_details = +static const GstElementDetails gst_pngdec_details =  GST_ELEMENT_DETAILS ("PNG image decoder",      "Codec/Decoder/Image",      "Decode a png video frame to a raw image", diff --git a/ext/libpng/gstpngenc.c b/ext/libpng/gstpngenc.c index 2078c307..c20b30fb 100644 --- a/ext/libpng/gstpngenc.c +++ b/ext/libpng/gstpngenc.c @@ -28,7 +28,7 @@  #define MAX_HEIGHT              4096 -static GstElementDetails gst_pngenc_details = +static const GstElementDetails gst_pngenc_details =  GST_ELEMENT_DETAILS ("PNG image encoder",      "Codec/Encoder/Image",      "Encode a video frame to a .png image", diff --git a/ext/mikmod/gstmikmod.c b/ext/mikmod/gstmikmod.c index 749c88c9..83dd315c 100644 --- a/ext/mikmod/gstmikmod.c +++ b/ext/mikmod/gstmikmod.c @@ -25,7 +25,8 @@  #include <stdlib.h>  /* elementfactory information */ -GstElementDetails mikmod_details = GST_ELEMENT_DETAILS ("MikMod audio decoder", +static const GstElementDetails mikmod_details = +GST_ELEMENT_DETAILS ("MikMod audio decoder",      "Codec/Decoder/Audio",      "Module decoder based on libmikmod",      "Jeremy SIMON <jsimon13@yahoo.fr>"); diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c index 7a9cceaa..e6289a2f 100644 --- a/ext/raw1394/gstdv1394src.c +++ b/ext/raw1394/gstdv1394src.c @@ -93,7 +93,7 @@ enum    PROP_GUID  }; -static GstElementDetails gst_dv1394src_details = +static const GstElementDetails gst_dv1394src_details =  GST_ELEMENT_DETAILS ("Firewire (1394) DV video source",      "Source/Video",      "Source for DV video data from firewire port", diff --git a/ext/speex/gstspeexdec.c b/ext/speex/gstspeexdec.c index c7e5d05a..d20573d8 100644 --- a/ext/speex/gstspeexdec.c +++ b/ext/speex/gstspeexdec.c @@ -53,7 +53,7 @@  GST_DEBUG_CATEGORY_STATIC (speexdec_debug);  #define GST_CAT_DEFAULT speexdec_debug -static GstElementDetails speex_dec_details = +static const GstElementDetails speex_dec_details =  GST_ELEMENT_DETAILS ("Speex audio decoder",      "Codec/Decoder/Audio",      "decode speex streams to audio", diff --git a/ext/speex/gstspeexenc.c b/ext/speex/gstspeexenc.c index 0a9fabd0..bbd9e011 100644 --- a/ext/speex/gstspeexenc.c +++ b/ext/speex/gstspeexenc.c @@ -38,7 +38,8 @@ GST_DEBUG_CATEGORY (speexenc_debug);  static GstPadTemplate *gst_speexenc_src_template, *gst_speexenc_sink_template;  /* elementfactory information */ -GstElementDetails speexenc_details = GST_ELEMENT_DETAILS ("Speex audio encoder", +static const GstElementDetails speexenc_details = +GST_ELEMENT_DETAILS ("Speex audio encoder",      "Codec/Encoder/Audio",      "Encodes audio in Speex format",      "Wim Taymans <wim@fluendo.com>"); diff --git a/gst/alpha/gstalpha.c b/gst/alpha/gstalpha.c index 55fa32e8..966cc55f 100644 --- a/gst/alpha/gstalpha.c +++ b/gst/alpha/gstalpha.c @@ -98,7 +98,7 @@ struct _GstAlphaClass  };  /* elementfactory information */ -static GstElementDetails gst_alpha_details = +static const GstElementDetails gst_alpha_details =  GST_ELEMENT_DETAILS ("Alpha filter",      "Filter/Effect/Video",      "Adds an alpha channel to video", diff --git a/gst/alpha/gstalphacolor.c b/gst/alpha/gstalphacolor.c index 7fd225ee..46e76c77 100644 --- a/gst/alpha/gstalphacolor.c +++ b/gst/alpha/gstalphacolor.c @@ -59,7 +59,7 @@ struct _GstAlphaColorClass  };  /* elementfactory information */ -static GstElementDetails gst_alpha_color_details = +static const GstElementDetails gst_alpha_color_details =  GST_ELEMENT_DETAILS ("Alpha color filter",      "Filter/Effect/Video",      "RGB->YUV colorspace conversion preserving the alpha channels", diff --git a/gst/apetag/gstapedemux.c b/gst/apetag/gstapedemux.c index 37e92245..26cb6582 100644 --- a/gst/apetag/gstapedemux.c +++ b/gst/apetag/gstapedemux.c @@ -65,7 +65,7 @@  GST_DEBUG_CATEGORY (apedemux_debug);  #define GST_CAT_DEFAULT (apedemux_debug) -static GstElementDetails gst_ape_demux_details = +static const GstElementDetails gst_ape_demux_details =  GST_ELEMENT_DETAILS ("APE tag demuxer",      "Codec/Demuxer/Metadata",      "Read and output APE tags while demuxing the contents", diff --git a/gst/auparse/gstauparse.c b/gst/auparse/gstauparse.c index ba03538f..5d425bad 100644 --- a/gst/auparse/gstauparse.c +++ b/gst/auparse/gstauparse.c @@ -33,7 +33,7 @@  #include <gst/audio/audio.h>  /* elementfactory information */ -static GstElementDetails gst_au_parse_details = +static const GstElementDetails gst_au_parse_details =  GST_ELEMENT_DETAILS ("AU audio demuxer",      "Codec/Demuxer/Audio",      "Parse an .au file into raw audio", diff --git a/gst/autodetect/gstautoaudiosink.c b/gst/autodetect/gstautoaudiosink.c index cb087c0d..5743ef33 100644 --- a/gst/autodetect/gstautoaudiosink.c +++ b/gst/autodetect/gstautoaudiosink.c @@ -56,7 +56,7 @@ static void  gst_auto_audio_sink_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_auto_audio_sink_details = +  const GstElementDetails gst_auto_audio_sink_details =        GST_ELEMENT_DETAILS ("Auto audio sink",        "Sink/Audio",        "Wrapper audio sink for automatically detected audio sink", diff --git a/gst/autodetect/gstautovideosink.c b/gst/autodetect/gstautovideosink.c index 0e1ce09c..15d89091 100644 --- a/gst/autodetect/gstautovideosink.c +++ b/gst/autodetect/gstautovideosink.c @@ -56,7 +56,7 @@ static void  gst_auto_video_sink_base_init (gpointer klass)  {    GstElementClass *eklass = GST_ELEMENT_CLASS (klass); -  GstElementDetails gst_auto_video_sink_details = +  const GstElementDetails gst_auto_video_sink_details =        GST_ELEMENT_DETAILS ("Auto video sink",        "Sink/Video",        "Wrapper video sink for automatically detected video sink", diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index c6e6cc62..cfbb4d2c 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -99,7 +99,7 @@ gst_avi_demux_get_type (void)  static void  gst_avi_demux_base_init (GstAviDemuxClass * klass)  { -  static GstElementDetails gst_avi_demux_details = +  static const GstElementDetails gst_avi_demux_details =        GST_ELEMENT_DETAILS ("Avi demuxer",        "Codec/Demuxer",        "Demultiplex an avi file into audio and video", diff --git a/gst/avi/gstavimux.c b/gst/avi/gstavimux.c index ea9014e8..df768b52 100644 --- a/gst/avi/gstavimux.c +++ b/gst/avi/gstavimux.c @@ -197,7 +197,7 @@ static void  gst_avimux_base_init (gpointer g_class)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); -  static GstElementDetails gst_avimux_details = +  static const GstElementDetails gst_avimux_details =        GST_ELEMENT_DETAILS ("Avi muxer",        "Codec/Muxer",        "Muxes audio and video into an avi stream", diff --git a/gst/cutter/gstcutter.c b/gst/cutter/gstcutter.c index 5f794d90..b45af6ee 100644 --- a/gst/cutter/gstcutter.c +++ b/gst/cutter/gstcutter.c @@ -34,7 +34,8 @@ GST_DEBUG_CATEGORY (cutter_debug);  #define CUTTER_DEFAULT_THRESHOLD_LENGTH  (500 * GST_MSECOND)  #define CUTTER_DEFAULT_PRE_LENGTH        (200 * GST_MSECOND) -static GstElementDetails cutter_details = GST_ELEMENT_DETAILS ("Audio cutter", +static const GstElementDetails cutter_details = +GST_ELEMENT_DETAILS ("Audio cutter",      "Filter/Editor/Audio",      "Audio Cutter to split audio into non-silent bits",      "Thomas <thomas@apestaart.org>"); diff --git a/gst/debug/breakmydata.c b/gst/debug/breakmydata.c index 0a020582..4ef3bfe8 100644 --- a/gst/debug/breakmydata.c +++ b/gst/debug/breakmydata.c @@ -83,7 +83,7 @@ static GstFlowReturn gst_break_my_data_transform_ip (GstBaseTransform * trans,  static gboolean gst_break_my_data_stop (GstBaseTransform * trans);  static gboolean gst_break_my_data_start (GstBaseTransform * trans); -static GstElementDetails details = GST_ELEMENT_DETAILS ("Break my data", +static const GstElementDetails details = GST_ELEMENT_DETAILS ("Break my data",      "Testing",      "randomly change data in the stream",      "Benjamin Otte <otte@gnome>"); diff --git a/gst/debug/efence.c b/gst/debug/efence.c index 22a7da1e..1ef462f3 100644 --- a/gst/debug/efence.c +++ b/gst/debug/efence.c @@ -42,7 +42,8 @@  GST_DEBUG_CATEGORY_STATIC (gst_efence_debug);  #define GST_CAT_DEFAULT  gst_efence_debug -static GstElementDetails plugin_details = GST_ELEMENT_DETAILS ("Electric Fence", +static const GstElementDetails plugin_details = +GST_ELEMENT_DETAILS ("Electric Fence",      "Testing",      "This element converts a stream of normal GStreamer buffers into a "      "stream of buffers that are allocated in such a way that out-of-bounds " diff --git a/gst/debug/gstnavigationtest.c b/gst/debug/gstnavigationtest.c index d46ee47d..b9c84b06 100644 --- a/gst/debug/gstnavigationtest.c +++ b/gst/debug/gstnavigationtest.c @@ -31,7 +31,7 @@  GST_DEBUG_CATEGORY (navigationtest_debug);  #define GST_CAT_DEFAULT navigationtest_debug -static GstElementDetails navigationtest_details = +static const GstElementDetails navigationtest_details =  GST_ELEMENT_DETAILS ("Video navigation test",      "Filter/Effect/Video",      "Handle navigation events showing a black square following mouse pointer", diff --git a/gst/debug/gstnavseek.c b/gst/debug/gstnavseek.c index d0923d5d..1f006a0d 100644 --- a/gst/debug/gstnavseek.c +++ b/gst/debug/gstnavseek.c @@ -47,7 +47,7 @@ GstStaticPadTemplate navseek_sink_template = GST_STATIC_PAD_TEMPLATE ("sink",      GST_PAD_ALWAYS,      GST_STATIC_CAPS_ANY); -static GstElementDetails navseek_details = +static const GstElementDetails navseek_details =  GST_ELEMENT_DETAILS ("Seek based on left-right arrows",      "Filter/Video",      "Seek based on navigation keys left-right", diff --git a/gst/debug/negotiation.c b/gst/debug/negotiation.c index a01be1b1..e28b2cf5 100644 --- a/gst/debug/negotiation.c +++ b/gst/debug/negotiation.c @@ -60,7 +60,8 @@ struct _GstNegotiationClass  GType gst_gst_negotiation_get_type (void); -static GstElementDetails plugin_details = GST_ELEMENT_DETAILS ("Negotiation", +static const GstElementDetails plugin_details = +GST_ELEMENT_DETAILS ("Negotiation",      "Testing",      "This element acts like identity, except that one can control how "      "negotiation works", diff --git a/gst/debug/progressreport.c b/gst/debug/progressreport.c index 237cbf12..83d30154 100644 --- a/gst/debug/progressreport.c +++ b/gst/debug/progressreport.c @@ -83,7 +83,7 @@ GST_STATIC_PAD_TEMPLATE ("sink",      GST_PAD_ALWAYS,      GST_STATIC_CAPS_ANY); -static GstElementDetails progress_report_details = +static const GstElementDetails progress_report_details =  GST_ELEMENT_DETAILS ("Progress report",      "Testing",      "Periodically query and report on processing progress", diff --git a/gst/debug/testplugin.c b/gst/debug/testplugin.c index e549c996..edd82be9 100644 --- a/gst/debug/testplugin.c +++ b/gst/debug/testplugin.c @@ -79,7 +79,7 @@ static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",      GST_STATIC_CAPS_ANY); -static GstElementDetails details = GST_ELEMENT_DETAILS ("Test plugin", +static const GstElementDetails details = GST_ELEMENT_DETAILS ("Test plugin",      "Testing",      "perform a number of tests",      "Benjamin Otte <otte@gnome>"); diff --git a/gst/effectv/gstaging.c b/gst/effectv/gstaging.c index 54e1e596..639d1ea7 100644 --- a/gst/effectv/gstaging.c +++ b/gst/effectv/gstaging.c @@ -93,7 +93,7 @@ struct _GstAgingTVClass  GType gst_agingtv_get_type (void); -static GstElementDetails agingtv_details = +static const GstElementDetails agingtv_details =  GST_ELEMENT_DETAILS ("AgingTV effect",      "Filter/Effect/Video",      "AgingTV adds age to video input using scratches and dust", diff --git a/gst/effectv/gstdice.c b/gst/effectv/gstdice.c index 711f3c56..26f682bb 100644 --- a/gst/effectv/gstdice.c +++ b/gst/effectv/gstdice.c @@ -70,7 +70,7 @@ GType gst_dicetv_get_type (void);  static void gst_dicetv_create_map (GstDiceTV * filter); -static GstElementDetails gst_dicetv_details = +static const GstElementDetails gst_dicetv_details =  GST_ELEMENT_DETAILS ("DiceTV effect",      "Filter/Effect/Video",      "'Dices' the screen up into many small squares", diff --git a/gst/effectv/gstedge.c b/gst/effectv/gstedge.c index eb7f6aab..1ba04f03 100644 --- a/gst/effectv/gstedge.c +++ b/gst/effectv/gstedge.c @@ -62,7 +62,7 @@ struct _GstEdgeTVClass  GType gst_edgetv_get_type (void); -static GstElementDetails gst_edgetv_details = +static const GstElementDetails gst_edgetv_details =  GST_ELEMENT_DETAILS ("EdgeTV effect",      "Filter/Effect/Video",      "Apply edge detect on video", diff --git a/gst/effectv/gstquark.c b/gst/effectv/gstquark.c index 9b985697..af59d6ed 100644 --- a/gst/effectv/gstquark.c +++ b/gst/effectv/gstquark.c @@ -76,7 +76,7 @@ GType gst_quarktv_get_type (void);  static void gst_quarktv_planetable_clear (GstQuarkTV * filter); -static GstElementDetails quarktv_details = +static const GstElementDetails quarktv_details =  GST_ELEMENT_DETAILS ("QuarkTV effect",      "Filter/Effect/Video",      "Motion dissolver", diff --git a/gst/effectv/gstrev.c b/gst/effectv/gstrev.c index 44dd3ef7..10891557 100644 --- a/gst/effectv/gstrev.c +++ b/gst/effectv/gstrev.c @@ -93,7 +93,7 @@ enum  GType gst_revtv_get_type (void); -static GstElementDetails gst_revtv_details = +static const GstElementDetails gst_revtv_details =  GST_ELEMENT_DETAILS ("RevTV effect",      "Filter/Effect/Video",      "A video waveform monitor for each line of video processed", diff --git a/gst/effectv/gstshagadelic.c b/gst/effectv/gstshagadelic.c index c5f9980d..3d09bdaf 100644 --- a/gst/effectv/gstshagadelic.c +++ b/gst/effectv/gstshagadelic.c @@ -75,7 +75,7 @@ GType gst_shagadelictv_get_type (void);  static void gst_shagadelic_initialize (GstShagadelicTV * filter); -static GstElementDetails shagadelictv_details = +static const GstElementDetails shagadelictv_details =  GST_ELEMENT_DETAILS ("ShagadelicTV",      "Filter/Effect/Video",      "Oh behave, ShagedelicTV makes images shagadelic!", diff --git a/gst/effectv/gstvertigo.c b/gst/effectv/gstvertigo.c index 5c0016e3..110e625e 100644 --- a/gst/effectv/gstvertigo.c +++ b/gst/effectv/gstvertigo.c @@ -76,7 +76,7 @@ enum    ARG_ZOOM_SPEED  }; -static GstElementDetails vertigotv_details = +static const GstElementDetails vertigotv_details =  GST_ELEMENT_DETAILS ("VertigoTV effect",      "Filter/Effect/Video",      "A loopback alpha blending effector with rotating and scaling", diff --git a/gst/effectv/gstwarp.c b/gst/effectv/gstwarp.c index ec451530..d7af7250 100644 --- a/gst/effectv/gstwarp.c +++ b/gst/effectv/gstwarp.c @@ -85,7 +85,8 @@ static void initSinTable (GstWarpTV * filter);  static void initOffsTable (GstWarpTV * filter);  static void initDistTable (GstWarpTV * filter); -static GstElementDetails warptv_details = GST_ELEMENT_DETAILS ("WarpTV effect", +static const GstElementDetails warptv_details = +GST_ELEMENT_DETAILS ("WarpTV effect",      "Filter/Effect/Video",      "WarpTV does realtime goo'ing of the video input",      "Sam Lantinga <slouken@devolution.com>"); diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c index ac9b5692..abde052f 100644 --- a/gst/flx/gstflxdec.c +++ b/gst/flx/gstflxdec.c @@ -32,7 +32,7 @@ GST_DEBUG_CATEGORY_STATIC (flxdec_debug);  #define GST_CAT_DEFAULT flxdec_debug  /* flx element information */ -static GstElementDetails flxdec_details = +static const GstElementDetails flxdec_details =  GST_ELEMENT_DETAILS ("FLX audio decoder",      "Codec/Decoder/Audio",      "FLX decoder", diff --git a/gst/goom/gstgoom.c b/gst/goom/gstgoom.c index 848e6f93..3c574c51 100644 --- a/gst/goom/gstgoom.c +++ b/gst/goom/gstgoom.c @@ -45,7 +45,7 @@ GST_DEBUG_CATEGORY_STATIC (goom_debug);  #define GST_CAT_DEFAULT goom_debug  /* elementfactory information */ -static GstElementDetails gst_goom_details = +static const GstElementDetails gst_goom_details =  GST_ELEMENT_DETAILS ("GOOM: what a GOOM!",      "Visualization",      "Takes frames of data and outputs video frames using the GOOM filter", diff --git a/gst/icydemux/gsticydemux.c b/gst/icydemux/gsticydemux.c index 2415941f..6816b0ca 100644 --- a/gst/icydemux/gsticydemux.c +++ b/gst/icydemux/gsticydemux.c @@ -47,7 +47,7 @@  #include <string.h> -static GstElementDetails gst_icydemux_details = +static const GstElementDetails gst_icydemux_details =  GST_ELEMENT_DETAILS ("ICY tag demuxer",      "Codec/Demuxer/Metadata",      "Read and output ICY tags while demuxing the contents", diff --git a/gst/id3demux/gstid3demux.c b/gst/id3demux/gstid3demux.c index b2eb3159..56dae513 100644 --- a/gst/id3demux/gstid3demux.c +++ b/gst/id3demux/gstid3demux.c @@ -50,7 +50,7 @@  #include "gstid3demux.h"  #include "id3tags.h" -static GstElementDetails gst_id3demux_details = +static const GstElementDetails gst_id3demux_details =  GST_ELEMENT_DETAILS ("ID3 tag demuxer",      "Codec/Demuxer/Metadata",      "Read and output ID3v1 and ID3v2 tags while demuxing the contents", diff --git a/gst/law/alaw-decode.c b/gst/law/alaw-decode.c index 3352ce38..69951853 100644 --- a/gst/law/alaw-decode.c +++ b/gst/law/alaw-decode.c @@ -191,7 +191,7 @@ static void  gst_alawdec_base_init (GstALawDecClass * klass)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (klass); -  GstElementDetails alawdec_details = +  const GstElementDetails alawdec_details =        GST_ELEMENT_DETAILS ("A Law audio decoder",        "Codec/Decoder/Audio",        "Convert 8bit A law to 16bit PCM", diff --git a/gst/law/alaw-encode.c b/gst/law/alaw-encode.c index d75a4890..fbd7d669 100644 --- a/gst/law/alaw-encode.c +++ b/gst/law/alaw-encode.c @@ -227,7 +227,7 @@ static void  gst_alawenc_base_init (GstALawEncClass * klass)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (klass); -  GstElementDetails alawenc_details = +  const GstElementDetails alawenc_details =        GST_ELEMENT_DETAILS ("A Law audio encoder",        "Codec/Encoder/Audio",        "Convert 16bit PCM to 8bit A law", diff --git a/gst/law/mulaw-decode.c b/gst/law/mulaw-decode.c index 607f5709..fe8e07d0 100644 --- a/gst/law/mulaw-decode.c +++ b/gst/law/mulaw-decode.c @@ -161,7 +161,7 @@ static void  gst_mulawdec_base_init (GstMuLawDecClass * klass)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (klass); -  GstElementDetails mulawdec_details = +  const GstElementDetails mulawdec_details =        GST_ELEMENT_DETAILS ("Mu Law audio decoder",        "Codec/Decoder/Audio",        "Convert 8bit mu law to 16bit PCM", diff --git a/gst/law/mulaw-encode.c b/gst/law/mulaw-encode.c index 4bf060e2..467553bb 100644 --- a/gst/law/mulaw-encode.c +++ b/gst/law/mulaw-encode.c @@ -161,7 +161,7 @@ static void  gst_mulawenc_base_init (GstMuLawEncClass * klass)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (klass); -  GstElementDetails mulawenc_details = +  const GstElementDetails mulawenc_details =        GST_ELEMENT_DETAILS ("Mu Law audio encoder",        "Codec/Encoder/Audio",        "Convert 16bit PCM to 8bit mu law", diff --git a/gst/level/gstlevel.c b/gst/level/gstlevel.c index a9c6ffbc..9097e5de 100644 --- a/gst/level/gstlevel.c +++ b/gst/level/gstlevel.c @@ -86,7 +86,7 @@  GST_DEBUG_CATEGORY (level_debug);  #define GST_CAT_DEFAULT level_debug -static GstElementDetails level_details = GST_ELEMENT_DETAILS ("Level", +static const GstElementDetails level_details = GST_ELEMENT_DETAILS ("Level",      "Filter/Analyzer/Audio",      "RMS/Peak/Decaying Peak Level messager for audio/raw",      "Thomas Vander Stichele <thomas at apestaart dot org>"); diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c index bc98a0b5..9f922c8b 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c @@ -149,7 +149,7 @@ static void  gst_matroska_demux_base_init (GstMatroskaDemuxClass * klass)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (klass); -  static GstElementDetails gst_matroska_demux_details = +  static const GstElementDetails gst_matroska_demux_details =        GST_ELEMENT_DETAILS ("Matroska demuxer",        "Codec/Demuxer",        "Demuxes a Matroska Stream into video/audio/subtitles", diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index 7ce6ab5d..6e17588a 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -172,7 +172,7 @@ static void  gst_matroska_mux_base_init (gpointer g_class)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); -  static GstElementDetails gst_matroska_mux_details = +  static const GstElementDetails gst_matroska_mux_details =        GST_ELEMENT_DETAILS ("Matroska muxer",        "Codec/Muxer",        "Muxes video/audio/subtitle streams into a matroska stream", diff --git a/gst/median/gstmedian.c b/gst/median/gstmedian.c index dccf65f6..e16cdef6 100644 --- a/gst/median/gstmedian.c +++ b/gst/median/gstmedian.c @@ -25,7 +25,8 @@  #include <gst/video/video.h>  /* elementfactory information */ -static GstElementDetails median_details = GST_ELEMENT_DETAILS ("Median effect", +static const GstElementDetails median_details = +GST_ELEMENT_DETAILS ("Median effect",      "Filter/Effect/Video",      "Apply a median filter to an image",      "Wim Taymans <wim.taymans@chello.be>"); diff --git a/gst/monoscope/gstmonoscope.c b/gst/monoscope/gstmonoscope.c index 36f6b3d1..541853c7 100644 --- a/gst/monoscope/gstmonoscope.c +++ b/gst/monoscope/gstmonoscope.c @@ -69,7 +69,7 @@ GType gst_monoscope_get_type (void);  /* elementfactory information */ -static GstElementDetails gst_monoscope_details = +static const GstElementDetails gst_monoscope_details =  GST_ELEMENT_DETAILS ("Monoscope",      "Visualization",      "Displays a highly stabilised waveform of audio input", diff --git a/gst/multipart/multipartdemux.c b/gst/multipart/multipartdemux.c index 55a4266b..ca57ca1e 100644 --- a/gst/multipart/multipartdemux.c +++ b/gst/multipart/multipartdemux.c @@ -122,7 +122,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_multipart_demux_debug);  #define GST_CAT_DEFAULT gst_multipart_demux_debug  /* elementfactory information */ -static GstElementDetails gst_multipart_demux_details = +static const GstElementDetails gst_multipart_demux_details =  GST_ELEMENT_DETAILS ("Multipart demuxer",      "Codec/Demuxer",      "demux multipart streams", diff --git a/gst/multipart/multipartmux.c b/gst/multipart/multipartmux.c index 781df21a..1cc61a9a 100644 --- a/gst/multipart/multipartmux.c +++ b/gst/multipart/multipartmux.c @@ -101,7 +101,7 @@ struct _GstMultipartMuxClass  };  /* elementfactory information */ -static GstElementDetails gst_multipart_mux_details = +static const GstElementDetails gst_multipart_mux_details =  GST_ELEMENT_DETAILS ("Multipart muxer",      "Codec/Muxer",      "mux multipart streams", diff --git a/gst/oldcore/gstaggregator.c b/gst/oldcore/gstaggregator.c index 53b165a4..57704165 100644 --- a/gst/oldcore/gstaggregator.c +++ b/gst/oldcore/gstaggregator.c @@ -34,7 +34,7 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",  GST_DEBUG_CATEGORY_STATIC (gst_aggregator_debug);  #define GST_CAT_DEFAULT gst_aggregator_debug -GstElementDetails gst_aggregator_details = +static const GstElementDetails gst_aggregator_details =  GST_ELEMENT_DETAILS ("Aggregator pipe fitting",      "Generic",      "N-to-1 pipe fitting", diff --git a/gst/oldcore/gstfdsink.c b/gst/oldcore/gstfdsink.c index 1d2ad11c..12da6857 100644 --- a/gst/oldcore/gstfdsink.c +++ b/gst/oldcore/gstfdsink.c @@ -37,7 +37,7 @@ static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",  GST_DEBUG_CATEGORY_STATIC (gst_fdsink_debug);  #define GST_CAT_DEFAULT gst_fdsink_debug -GstElementDetails gst_fdsink_details = +static const GstElementDetails gst_fdsink_details =  GST_ELEMENT_DETAILS ("Filedescriptor Sink",      "Sink/File",      "Write data to a file descriptor", diff --git a/gst/oldcore/gstmd5sink.c b/gst/oldcore/gstmd5sink.c index 282d4c3f..88292e6b 100644 --- a/gst/oldcore/gstmd5sink.c +++ b/gst/oldcore/gstmd5sink.c @@ -35,7 +35,8 @@  GST_DEBUG_CATEGORY_STATIC (gst_md5sink_debug);  #define GST_CAT_DEFAULT gst_md5sink_debug -GstElementDetails gst_md5sink_details = GST_ELEMENT_DETAILS ("MD5 Sink", +static const GstElementDetails gst_md5sink_details = +GST_ELEMENT_DETAILS ("MD5 Sink",      "Sink",      "compute MD5 for incoming data",      "Benjamin Otte <in7y118@public.uni-hamburg.de>"); diff --git a/gst/oldcore/gstmultifilesrc.c b/gst/oldcore/gstmultifilesrc.c index d73bd6af..74f0cee1 100644 --- a/gst/oldcore/gstmultifilesrc.c +++ b/gst/oldcore/gstmultifilesrc.c @@ -45,7 +45,7 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",  GST_DEBUG_CATEGORY_STATIC (gst_multifilesrc_debug);  #define GST_CAT_DEFAULT gst_multifilesrc_debug -GstElementDetails gst_multifilesrc_details = +static const GstElementDetails gst_multifilesrc_details =  GST_ELEMENT_DETAILS ("Multi file source",      "Source/File",      "Read from multiple files in order", diff --git a/gst/oldcore/gstpipefilter.c b/gst/oldcore/gstpipefilter.c index 623b9a1f..a941115a 100644 --- a/gst/oldcore/gstpipefilter.c +++ b/gst/oldcore/gstpipefilter.c @@ -50,7 +50,8 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",  GST_DEBUG_CATEGORY_STATIC (gst_pipefilter_debug);  #define GST_CAT_DEFAULT gst_pipefilter_debug -GstElementDetails gst_pipefilter_details = GST_ELEMENT_DETAILS ("Pipe filter", +static const GstElementDetails gst_pipefilter_details = +GST_ELEMENT_DETAILS ("Pipe filter",      "Filter",      "Interoperate with an external program using stdin and stdout",      "Erik Walthinsen <omega@cse.ogi.edu>, " diff --git a/gst/oldcore/gstshaper.c b/gst/oldcore/gstshaper.c index 56f84b8a..f3504d2d 100644 --- a/gst/oldcore/gstshaper.c +++ b/gst/oldcore/gstshaper.c @@ -32,7 +32,8 @@  GST_DEBUG_CATEGORY_STATIC (gst_shaper_debug);  #define GST_CAT_DEFAULT gst_shaper_debug -GstElementDetails gst_shaper_details = GST_ELEMENT_DETAILS ("Shaper", +static const GstElementDetails gst_shaper_details = +GST_ELEMENT_DETAILS ("Shaper",      "Generic",      "Synchronizes streams on different pads",      "Wim Taymans <wim.taymans@chello.be>"); diff --git a/gst/oldcore/gststatistics.c b/gst/oldcore/gststatistics.c index 30e3bfcb..8184cf55 100644 --- a/gst/oldcore/gststatistics.c +++ b/gst/oldcore/gststatistics.c @@ -40,7 +40,8 @@ static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",  GST_DEBUG_CATEGORY_STATIC (gst_statistics_debug);  #define GST_CAT_DEFAULT gst_statistics_debug -GstElementDetails gst_statistics_details = GST_ELEMENT_DETAILS ("Statistics", +static const GstElementDetails gst_statistics_details = +GST_ELEMENT_DETAILS ("Statistics",      "Generic",      "Statistics on buffers/bytes/events",      "David I. Lehn <dlehn@users.sourceforge.net>"); diff --git a/gst/rtp/gstasteriskh263.c b/gst/rtp/gstasteriskh263.c index ff81ec71..f3f67f5e 100644 --- a/gst/rtp/gstasteriskh263.c +++ b/gst/rtp/gstasteriskh263.c @@ -43,7 +43,7 @@ typedef struct _GstAsteriskH263Header  #define GST_ASTERISKH263_HEADER_LENGTH(buf) (((GstAsteriskH263Header *)(GST_BUFFER_DATA (buf)))->length)  /* elementfactory information */ -static GstElementDetails gst_rtp_h263p_depaydetails = +static const GstElementDetails gst_rtp_h263p_depaydetails =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts H263 video from RTP and encodes in Asterisk H263 format", diff --git a/gst/rtp/gstrtpL16depay.c b/gst/rtp/gstrtpL16depay.c index a46a4981..95887f5d 100644 --- a/gst/rtp/gstrtpL16depay.c +++ b/gst/rtp/gstrtpL16depay.c @@ -20,7 +20,7 @@  #include "gstrtp-common.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_L16depay_details = +static const GstElementDetails gst_rtp_L16depay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts raw audio from RTP packets", diff --git a/gst/rtp/gstrtpL16pay.c b/gst/rtp/gstrtpL16pay.c index fb17eb18..27e25ba7 100644 --- a/gst/rtp/gstrtpL16pay.c +++ b/gst/rtp/gstrtpL16pay.c @@ -25,7 +25,7 @@  #include "gstrtpL16pay.h"  /* elementfactory information */ -static GstElementDetails gst_rtpL16pay_details = +static const GstElementDetails gst_rtpL16pay_details =  GST_ELEMENT_DETAILS ("RTP RAW audio payloader",      "Codec/Payloader/Network",      "Payload-encodes Raw Audio into a RTP packet", diff --git a/gst/rtp/gstrtpamrdepay.c b/gst/rtp/gstrtpamrdepay.c index c6272bbe..c9df8170 100644 --- a/gst/rtp/gstrtpamrdepay.c +++ b/gst/rtp/gstrtpamrdepay.c @@ -29,7 +29,7 @@   */  /* elementfactory information */ -static GstElementDetails gst_rtp_amrdepay_details = +static const GstElementDetails gst_rtp_amrdepay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts AMR audio from RTP packets (RFC 3267)", diff --git a/gst/rtp/gstrtpamrpay.c b/gst/rtp/gstrtpamrpay.c index cf9cda6b..d85164e9 100644 --- a/gst/rtp/gstrtpamrpay.c +++ b/gst/rtp/gstrtpamrpay.c @@ -33,7 +33,7 @@ GST_DEBUG_CATEGORY (rtpamrpay_debug);   */  /* elementfactory information */ -static GstElementDetails gst_rtp_amrpay_details = +static const GstElementDetails gst_rtp_amrpay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payload-encode AMR audio into RTP packets (RFC 3267)", diff --git a/gst/rtp/gstrtpdepay.c b/gst/rtp/gstrtpdepay.c index ee8d680c..d5623e8f 100644 --- a/gst/rtp/gstrtpdepay.c +++ b/gst/rtp/gstrtpdepay.c @@ -24,7 +24,7 @@ GST_DEBUG_CATEGORY (rtpdepay_debug);  #define GST_CAT_DEFAULT (rtpdepay_debug)  /* elementfactory information */ -static GstElementDetails rtpdepay_details = +static const GstElementDetails rtpdepay_details =  GST_ELEMENT_DETAILS ("RTP payloader",      "Codec/Depayr/Network",      "Accepts raw RTP and RTCP packets and sends them forward", diff --git a/gst/rtp/gstrtpgsmpay.c b/gst/rtp/gstrtpgsmpay.c index 2c0fb963..acbd5d25 100644 --- a/gst/rtp/gstrtpgsmpay.c +++ b/gst/rtp/gstrtpgsmpay.c @@ -29,7 +29,7 @@  #include "gstrtpgsmpay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_gsm_pay_details = +static const GstElementDetails gst_rtp_gsm_pay_details =  GST_ELEMENT_DETAILS ("RTP GSM audio payloader",      "Codec/Payloader/Network",      "Payload-encodes GSM audio into a RTP packet", diff --git a/gst/rtp/gstrtph263pay.c b/gst/rtp/gstrtph263pay.c index 8615c473..a9190675 100644 --- a/gst/rtp/gstrtph263pay.c +++ b/gst/rtp/gstrtph263pay.c @@ -139,7 +139,7 @@ typedef struct _GstH263PictureLayer  /* elementfactory information */ -static GstElementDetails gst_rtp_h263pay_details = +static const GstElementDetails gst_rtp_h263pay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payload-encodes H263 video in RTP packets (RFC 2190)", diff --git a/gst/rtp/gstrtph263pdepay.c b/gst/rtp/gstrtph263pdepay.c index a3871978..5cffdc3d 100644 --- a/gst/rtp/gstrtph263pdepay.c +++ b/gst/rtp/gstrtph263pdepay.c @@ -22,7 +22,7 @@  #include "gstrtph263pdepay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_h263pdepay_details = +static const GstElementDetails gst_rtp_h263pdepay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts H263+ video from RTP packets (RFC 2429)", diff --git a/gst/rtp/gstrtph263ppay.c b/gst/rtp/gstrtph263ppay.c index 0a2d96b2..6e279829 100644 --- a/gst/rtp/gstrtph263ppay.c +++ b/gst/rtp/gstrtph263ppay.c @@ -23,7 +23,7 @@  #include "gstrtph263ppay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_h263ppay_details = +static const GstElementDetails gst_rtp_h263ppay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payload-encodes H263+ video in RTP packets (RFC 2429)", diff --git a/gst/rtp/gstrtpilbcdepay.c b/gst/rtp/gstrtpilbcdepay.c index 1dd5bdef..d08c5b39 100644 --- a/gst/rtp/gstrtpilbcdepay.c +++ b/gst/rtp/gstrtpilbcdepay.c @@ -26,7 +26,7 @@  #include "gstrtpilbcdepay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_ilbc_depay_details = +static const GstElementDetails gst_rtp_ilbc_depay_details =  GST_ELEMENT_DETAILS ("RTP iLBC packet depayloader",      "Codec/Depayr/Network",      "Extracts iLBC audio from RTP packets", diff --git a/gst/rtp/gstrtpmp4gpay.c b/gst/rtp/gstrtpmp4gpay.c index 8ff88271..a666c016 100644 --- a/gst/rtp/gstrtpmp4gpay.c +++ b/gst/rtp/gstrtpmp4gpay.c @@ -26,7 +26,7 @@ GST_DEBUG_CATEGORY (rtpmp4gpay_debug);  #define GST_CAT_DEFAULT (rtpmp4gpay_debug)  /* elementfactory information */ -static GstElementDetails gst_rtp_mp4gpay_details = +static const GstElementDetails gst_rtp_mp4gpay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payload MPEG4 elementary streams as RTP packets (RFC 3640)", diff --git a/gst/rtp/gstrtpmp4vdepay.c b/gst/rtp/gstrtpmp4vdepay.c index 5106916a..16597db1 100644 --- a/gst/rtp/gstrtpmp4vdepay.c +++ b/gst/rtp/gstrtpmp4vdepay.c @@ -22,7 +22,7 @@  #include "gstrtpmp4vdepay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_mp4vdepay_details = +static const GstElementDetails gst_rtp_mp4vdepay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts MPEG4 video from RTP packets (RFC 3016)", diff --git a/gst/rtp/gstrtpmp4vpay.c b/gst/rtp/gstrtpmp4vpay.c index 98c0455b..ad13350d 100644 --- a/gst/rtp/gstrtpmp4vpay.c +++ b/gst/rtp/gstrtpmp4vpay.c @@ -26,7 +26,7 @@ GST_DEBUG_CATEGORY (rtpmp4vpay_debug);  #define GST_CAT_DEFAULT (rtpmp4vpay_debug)  /* elementfactory information */ -static GstElementDetails gst_rtp_mp4vpay_details = +static const GstElementDetails gst_rtp_mp4vpay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payode MPEG4 video as RTP packets (RFC 3016)", diff --git a/gst/rtp/gstrtpmpadepay.c b/gst/rtp/gstrtpmpadepay.c index 9b814c08..5b8b43f2 100644 --- a/gst/rtp/gstrtpmpadepay.c +++ b/gst/rtp/gstrtpmpadepay.c @@ -22,7 +22,7 @@  #include "gstrtpmpadepay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_mpadepay_details = +static const GstElementDetails gst_rtp_mpadepay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts MPEG audio from RTP packets (RFC 2038)", diff --git a/gst/rtp/gstrtpmpapay.c b/gst/rtp/gstrtpmpapay.c index b15d55ba..49877fac 100644 --- a/gst/rtp/gstrtpmpapay.c +++ b/gst/rtp/gstrtpmpapay.c @@ -23,7 +23,7 @@  #include "gstrtpmpapay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_mpapay_details = +static const GstElementDetails gst_rtp_mpapay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payode MPEG audio as RTP packets (RFC 2038)", diff --git a/gst/rtp/gstrtppcmadepay.c b/gst/rtp/gstrtppcmadepay.c index e67f814b..188c7008 100644 --- a/gst/rtp/gstrtppcmadepay.c +++ b/gst/rtp/gstrtppcmadepay.c @@ -23,7 +23,7 @@  #include "gstrtppcmadepay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_pcmadepay_details = +static const GstElementDetails gst_rtp_pcmadepay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts PCMA audio from RTP packets", diff --git a/gst/rtp/gstrtppcmapay.c b/gst/rtp/gstrtppcmapay.c index 439efaa9..b20d0764 100644 --- a/gst/rtp/gstrtppcmapay.c +++ b/gst/rtp/gstrtppcmapay.c @@ -25,7 +25,7 @@  #include "gstrtppcmapay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_pcma_pay_details = +static const GstElementDetails gst_rtp_pcma_pay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payload-encodes PCMA audio into a RTP packet", diff --git a/gst/rtp/gstrtppcmudepay.c b/gst/rtp/gstrtppcmudepay.c index 0b6a208b..dcdb992e 100644 --- a/gst/rtp/gstrtppcmudepay.c +++ b/gst/rtp/gstrtppcmudepay.c @@ -23,7 +23,7 @@  #include "gstrtppcmudepay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_pcmudepay_details = +static const GstElementDetails gst_rtp_pcmudepay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts PCMU audio from RTP packets", diff --git a/gst/rtp/gstrtppcmupay.c b/gst/rtp/gstrtppcmupay.c index ffb220b5..6389207a 100644 --- a/gst/rtp/gstrtppcmupay.c +++ b/gst/rtp/gstrtppcmupay.c @@ -25,7 +25,7 @@  #include "gstrtppcmupay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_pcmu_pay_details = +static const GstElementDetails gst_rtp_pcmu_pay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payload-encodes PCMU audio into a RTP packet", diff --git a/gst/rtp/gstrtpspeexdepay.c b/gst/rtp/gstrtpspeexdepay.c index 84d08c25..c5828a0e 100644 --- a/gst/rtp/gstrtpspeexdepay.c +++ b/gst/rtp/gstrtpspeexdepay.c @@ -21,7 +21,7 @@  #include "gstrtpspeexdepay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_speexdepay_details = +static const GstElementDetails gst_rtp_speexdepay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Depayr/Network",      "Extracts Speex audio from RTP packets", diff --git a/gst/rtp/gstrtpspeexpay.c b/gst/rtp/gstrtpspeexpay.c index c1f37277..30c4b8fd 100644 --- a/gst/rtp/gstrtpspeexpay.c +++ b/gst/rtp/gstrtpspeexpay.c @@ -23,7 +23,7 @@  #include "gstrtpspeexpay.h"  /* elementfactory information */ -static GstElementDetails gst_rtp_speex_pay_details = +static const GstElementDetails gst_rtp_speex_pay_details =  GST_ELEMENT_DETAILS ("RTP packet parser",      "Codec/Payloader/Network",      "Payload-encodes Speex audio into a RTP packet", diff --git a/gst/rtsp/gstrtpdec.c b/gst/rtsp/gstrtpdec.c index 073b38de..c22d4cca 100644 --- a/gst/rtsp/gstrtpdec.c +++ b/gst/rtsp/gstrtpdec.c @@ -24,7 +24,8 @@ GST_DEBUG_CATEGORY (rtpdec_debug);  #define GST_CAT_DEFAULT (rtpdec_debug)  /* elementfactory information */ -static GstElementDetails rtpdec_details = GST_ELEMENT_DETAILS ("RTP Decoder", +static const GstElementDetails rtpdec_details = +GST_ELEMENT_DETAILS ("RTP Decoder",      "Codec/Parser/Network",      "Accepts raw RTP and RTCP packets and sends them forward",      "Wim Taymans <wim@fluendo.com>"); diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index b208bec6..a05849b9 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -31,7 +31,7 @@ GST_DEBUG_CATEGORY (rtspsrc_debug);  #define GST_CAT_DEFAULT (rtspsrc_debug)  /* elementfactory information */ -static GstElementDetails gst_rtspsrc_details = +static const GstElementDetails gst_rtspsrc_details =  GST_ELEMENT_DETAILS ("RTSP packet receiver",      "Source/Network",      "Receive data over the network via RTSP (RFC 2326)", diff --git a/gst/smpte/gstsmpte.c b/gst/smpte/gstsmpte.c index 695861a8..67d5d660 100644 --- a/gst/smpte/gstsmpte.c +++ b/gst/smpte/gstsmpte.c @@ -26,7 +26,7 @@  #include "paint.h"  /* elementfactory information */ -static GstElementDetails smpte_details = +static const GstElementDetails smpte_details =  GST_ELEMENT_DETAILS ("SMPTE transitions",      "Filter/Editor/Video",      "Apply the standard SMPTE transitions on video images", diff --git a/gst/udp/gstdynudpsink.c b/gst/udp/gstdynudpsink.c index a332902f..661f55a2 100644 --- a/gst/udp/gstdynudpsink.c +++ b/gst/udp/gstdynudpsink.c @@ -34,7 +34,7 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",      GST_STATIC_CAPS_ANY);  /* elementfactory information */ -static GstElementDetails gst_dynudpsink_details = +static const GstElementDetails gst_dynudpsink_details =  GST_ELEMENT_DETAILS ("UDP packet sender",      "Sink/Network",      "Send data over the network via UDP", diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c index 1a675c56..0a626614 100644 --- a/gst/udp/gstmultiudpsink.c +++ b/gst/udp/gstmultiudpsink.c @@ -45,7 +45,7 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",      GST_STATIC_CAPS_ANY);  /* elementfactory information */ -static GstElementDetails gst_multiudpsink_details = +static const GstElementDetails gst_multiudpsink_details =  GST_ELEMENT_DETAILS ("UDP packet sender",      "Sink/Network",      "Send data over the network via UDP", diff --git a/gst/udp/gstudpsink.c b/gst/udp/gstudpsink.c index 2f8d00c2..382e9195 100644 --- a/gst/udp/gstudpsink.c +++ b/gst/udp/gstudpsink.c @@ -26,7 +26,7 @@  #define UDP_DEFAULT_PORT        4951  /* elementfactory information */ -static GstElementDetails gst_udpsink_details = +static const GstElementDetails gst_udpsink_details =  GST_ELEMENT_DETAILS ("UDP packet sender",      "Sink/Network",      "Send data over the network via UDP", diff --git a/gst/udp/gstudpsrc.c b/gst/udp/gstudpsrc.c index 2aa17582..395f1785 100644 --- a/gst/udp/gstudpsrc.c +++ b/gst/udp/gstudpsrc.c @@ -113,7 +113,7 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",      GST_PAD_ALWAYS,      GST_STATIC_CAPS_ANY); -static GstElementDetails gst_udpsrc_details = +static const GstElementDetails gst_udpsrc_details =  GST_ELEMENT_DETAILS ("UDP packet receiver",      "Source/Network",      "Receive data over the network via UDP", diff --git a/gst/videobox/gstvideobox.c b/gst/videobox/gstvideobox.c index dc644748..efe11769 100644 --- a/gst/videobox/gstvideobox.c +++ b/gst/videobox/gstvideobox.c @@ -78,7 +78,7 @@ struct _GstVideoBoxClass  };  /* elementfactory information */ -static GstElementDetails gst_video_box_details = +static const GstElementDetails gst_video_box_details =  GST_ELEMENT_DETAILS ("Video box filter",      "Filter/Effect/Video",      "Resizes a video by adding borders or cropping", diff --git a/gst/videofilter/gstgamma.c b/gst/videofilter/gstgamma.c index 62a2181e..7590f6df 100644 --- a/gst/videofilter/gstgamma.c +++ b/gst/videofilter/gstgamma.c @@ -137,7 +137,7 @@ static GstVideofilterFormat gst_gamma_formats[] = {  static void  gst_gamma_base_init (gpointer g_class)  { -  static GstElementDetails gamma_details = +  static const GstElementDetails gamma_details =        GST_ELEMENT_DETAILS ("Video gamma correction",        "Filter/Effect/Video",        "Adjusts gamma on a video stream", diff --git a/gst/videofilter/gstvideobalance.c b/gst/videofilter/gstvideobalance.c index b7972bf3..2464ee05 100644 --- a/gst/videofilter/gstvideobalance.c +++ b/gst/videofilter/gstvideobalance.c @@ -64,7 +64,7 @@  #define rint(x) (floor((x)+0.5))  #endif -static GstElementDetails video_balance_details = +static const GstElementDetails video_balance_details =  GST_ELEMENT_DETAILS ("Video balance",      "Filter/Effect/Video",      "Adjusts brightness, contrast, hue, saturation on a video stream", diff --git a/gst/videofilter/gstvideoflip.c b/gst/videofilter/gstvideoflip.c index 5bcb95e1..c915fab9 100644 --- a/gst/videofilter/gstvideoflip.c +++ b/gst/videofilter/gstvideoflip.c @@ -63,7 +63,7 @@ enum  GST_DEBUG_CATEGORY (video_flip_debug);  #define GST_CAT_DEFAULT video_flip_debug -static GstElementDetails video_flip_details = +static const GstElementDetails video_flip_details =  GST_ELEMENT_DETAILS ("Video flipper",      "Filter/Effect/Video",      "Flips and rotates video", diff --git a/gst/videofilter/gstvideotemplate.c b/gst/videofilter/gstvideotemplate.c index 95414333..df8aa7b4 100644 --- a/gst/videofilter/gstvideotemplate.c +++ b/gst/videofilter/gstvideotemplate.c @@ -118,7 +118,7 @@ static GstVideofilterFormat gst_videotemplate_formats[] = {  static void  gst_videotemplate_base_init (gpointer g_class)  { -  static GstElementDetails videotemplate_details = +  static const GstElementDetails videotemplate_details =        GST_ELEMENT_DETAILS ("Video filter template",        "Filter/Effect/Video",        "Template for a video filter", diff --git a/gst/videomixer/videomixer.c b/gst/videomixer/videomixer.c index 9b2a3414..4b5b7634 100644 --- a/gst/videomixer/videomixer.c +++ b/gst/videomixer/videomixer.c @@ -398,7 +398,7 @@ gst_videomixer_pad_init (GstVideoMixerPad * mixerpad)  /* elementfactory information */ -static GstElementDetails gst_videomixer_details = +static const GstElementDetails gst_videomixer_details =  GST_ELEMENT_DETAILS ("Video mixer",      "Filter/Editor/Video",      "Mix multiple video streams", diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c index 27b2964e..87fdd5a4 100644 --- a/gst/wavparse/gstwavparse.c +++ b/gst/wavparse/gstwavparse.c @@ -1,6 +1,7 @@  /* -*- Mode: C; tab-width: 2; indent-tabs-mode: t; c-basic-offset: 2 -*- */  /* GStreamer   * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> + * Copyright (C) <2006> Nokia Corporation.   *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Library General Public @@ -51,18 +52,24 @@  #include "gst/riff/riff-media.h"  #include <gst/gst-i18n-plugin.h> +#ifndef G_MAXUINT32 +#define G_MAXUINT32 0xffffffff +#endif +  GST_DEBUG_CATEGORY_STATIC (wavparse_debug);  #define GST_CAT_DEFAULT (wavparse_debug)  static void gst_wavparse_base_init (gpointer g_class);  static void gst_wavparse_class_init (GstWavParseClass * klass);  static void gst_wavparse_init (GstWavParse * wavparse); +static void gst_wavparse_dispose (GObject * object);  static gboolean gst_wavparse_sink_activate (GstPad * sinkpad);  static gboolean gst_wavparse_sink_activate_pull (GstPad * sinkpad,      gboolean active);  static gboolean gst_wavparse_send_event (GstElement * element,      GstEvent * event); +static GstFlowReturn gst_wavparse_chain (GstPad * pad, GstBuffer * buf);  static GstStateChangeReturn gst_wavparse_change_state (GstElement * element,      GstStateChange transition); @@ -156,7 +163,7 @@ gst_wavparse_base_init (gpointer g_class)  {    GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);    GstPadTemplate *templ; -  static GstElementDetails gst_wavparse_details = +  static const GstElementDetails gst_wavparse_details =        GST_ELEMENT_DETAILS ("WAV audio demuxer",        "Codec/Demuxer/Audio",        "Parse a .wav file into raw audio", @@ -185,6 +192,7 @@ gst_wavparse_class_init (GstWavParseClass * klass)    parent_class = g_type_class_peek_parent (klass);    object_class->get_property = gst_wavparse_get_property; +  object_class->dispose = gst_wavparse_dispose;    gstelement_class->change_state = gst_wavparse_change_state;    gstelement_class->send_event = gst_wavparse_send_event; @@ -192,6 +200,22 @@ gst_wavparse_class_init (GstWavParseClass * klass)    GST_DEBUG_CATEGORY_INIT (wavparse_debug, "wavparse", 0, "WAV parser");  } + +static void +gst_wavparse_dispose (GObject * object) +{ +  GST_DEBUG ("WAV: Dispose\n"); +  GstWavParse *wav = GST_WAVPARSE (object); + +  if (wav->adapter) { +    g_object_unref (wav->adapter); +    wav->adapter = NULL; +  } + +  G_OBJECT_CLASS (parent_class)->dispose (object); +} + +  static void  gst_wavparse_reset (GstWavParse * wavparse)  { @@ -209,6 +233,11 @@ gst_wavparse_reset (GstWavParse * wavparse)    wavparse->dataleft = 0;    wavparse->datasize = 0;    wavparse->datastart = 0; +  wavparse->got_fmt = FALSE; + +  if (wavparse->seek_event) +    gst_event_unref (wavparse->seek_event); +  wavparse->seek_event = NULL;    /* we keep the segment info in time */    gst_segment_init (&wavparse->segment, GST_FORMAT_TIME); @@ -226,6 +255,8 @@ gst_wavparse_init (GstWavParse * wavparse)        GST_DEBUG_FUNCPTR (gst_wavparse_sink_activate));    gst_pad_set_activatepull_function (wavparse->sinkpad,        GST_DEBUG_FUNCPTR (gst_wavparse_sink_activate_pull)); +  gst_pad_set_chain_function (wavparse->sinkpad, +      GST_DEBUG_FUNCPTR (gst_wavparse_chain));    gst_element_add_pad (GST_ELEMENT (wavparse), wavparse->sinkpad);  } @@ -740,7 +771,6 @@ gst_wavparse_perform_seek (GstWavParse * wav, GstEvent * event)    gboolean update;    GstSegment seeksegment; -    if (event) {      GST_DEBUG_OBJECT (wav, "doing seek with event"); @@ -770,10 +800,12 @@ gst_wavparse_perform_seek (GstWavParse * wav, GstEvent * event)    flush = flags & GST_SEEK_FLAG_FLUSH; -  if (flush) +  if (flush) { +    GST_DEBUG_OBJECT (wav, "sending flush start");      gst_pad_push_event (wav->srcpad, gst_event_new_flush_start ()); -  else +  } else {      gst_pad_pause_task (wav->sinkpad); +  }    GST_PAD_STREAM_LOCK (wav->sinkpad); @@ -815,6 +847,7 @@ gst_wavparse_perform_seek (GstWavParse * wav, GstEvent * event)    /* prepare for streaming again */    if (flush) { +    GST_DEBUG_OBJECT (wav, "sending flush stop");      gst_pad_push_event (wav->srcpad, gst_event_new_flush_stop ());    } else if (wav->segment_running) {      /* we are running the current segment and doing a non-flushing seek, @@ -868,6 +901,61 @@ no_format:    }  } + +/* + * gst_wavparse_peek_chunk_info: + * @wav Wavparse object + * @tag holder for tag + * @size holder for tag size + *                          + * Peek next chunk info (tag and size)                          + * + * Returns: %TRUE when one chunk info has been got from the adapter + */ +static gboolean +gst_wavparse_peek_chunk_info (GstWavParse * wav, guint32 * tag, guint32 * size) +{ +  const guint8 *data = NULL; + +  if (gst_adapter_available (wav->adapter) < 8) { +    return FALSE; +  } + +  GST_DEBUG ("Next chunk size is %d bytes", *size); +  data = gst_adapter_peek (wav->adapter, 8); +  *tag = GST_READ_UINT32_LE (data); +  *size = GST_READ_UINT32_LE (data + 4); + +  return TRUE; +} + + +/* + * gst_wavparse_peek_chunk: + * @wav Wavparse object + * @tag holder for tag + * @size holder for tag size + * + * Peek enough data for one full chunk + * + * Returns: %TRUE when one chunk has been got + */ +static gboolean +gst_wavparse_peek_chunk (GstWavParse * wav, guint32 * tag, guint32 * size) +{ +  guint32 peek_size = 0; + +  gst_wavparse_peek_chunk_info (wav, tag, size); +  GST_DEBUG ("Need to peek chunk of %d bytes", *size); +  peek_size = (*size + 1) & ~1; + +  if (gst_adapter_available (wav->adapter) >= (8 + peek_size)) { +    return TRUE; +  } else { +    return FALSE; +  } +} +  static gboolean  gst_wavparse_get_upstream_size (GstWavParse * wav, gint64 * len)  { @@ -887,97 +975,128 @@ static GstFlowReturn  gst_wavparse_stream_headers (GstWavParse * wav)  {    GstFlowReturn res; -  GstBuffer *buf, *extra; +  GstBuffer *buf;    gst_riff_strf_auds *header = NULL; -  guint32 tag; +  guint32 tag, size;    gboolean gotdata = FALSE;    GstCaps *caps;    gint64 duration;    gchar *codec_name = NULL;    GstEvent **event_p; -  /* The header start with a 'fmt ' tag */ -  if ((res = gst_riff_read_chunk (GST_ELEMENT (wav), wav->sinkpad, -              &wav->offset, &tag, &buf)) != GST_FLOW_OK) -    return res; +  if (!wav->got_fmt) { +    GstBuffer *extra; -  else if (tag != GST_RIFF_TAG_fmt) -    goto invalid_wav; +    /* The header start with a 'fmt ' tag */ -  if (!(gst_riff_parse_strf_auds (GST_ELEMENT (wav), buf, &header, &extra))) -    goto parse_header_error; +    if (wav->streaming) { +      if (!gst_wavparse_peek_chunk (wav, &tag, &size)) +        return GST_FLOW_OK; -  /* Note: gst_riff_create_audio_caps might nedd to fix values in -   * the header header depending on the format, so call it first */ -  caps = -      gst_riff_create_audio_caps (header->format, NULL, header, extra, -      NULL, &codec_name); +      buf = gst_buffer_new (); +      gst_buffer_ref (buf); +      gst_adapter_flush (wav->adapter, 8); +      wav->offset += 8; +      GST_BUFFER_DATA (buf) = (guint8 *) gst_adapter_peek (wav->adapter, size); +      GST_BUFFER_SIZE (buf) = size; -  if (extra) -    gst_buffer_unref (extra); +    } else { +      if ((res = gst_riff_read_chunk (GST_ELEMENT (wav), wav->sinkpad, +                  &wav->offset, &tag, &buf)) != GST_FLOW_OK) +        return res; +    } -  wav->format = header->format; -  wav->rate = header->rate; -  wav->channels = header->channels; +    if (tag != GST_RIFF_TAG_fmt) +      goto invalid_wav; -  if (wav->channels == 0) -    goto no_channels; +    if (!(gst_riff_parse_strf_auds (GST_ELEMENT (wav), buf, &header, &extra))) +      goto parse_header_error; -  wav->blockalign = header->blockalign; -  wav->width = (header->blockalign * 8) / header->channels; -  wav->depth = header->size; -  wav->bps = header->av_bps; +    if (extra) +      gst_buffer_unref (extra); -  if (wav->bps <= 0) -    goto no_bitrate; +    if (wav->streaming) { +      gst_adapter_flush (wav->adapter, size); +      wav->offset += size; +      GST_BUFFER_DATA (buf) = NULL; +      gst_buffer_unref (buf); +    } -  wav->bytes_per_sample = wav->channels * wav->width / 8; -  if (wav->bytes_per_sample <= 0) -    goto no_bytes_per_sample; +    /* Note: gst_riff_create_audio_caps might nedd to fix values in +     * the header header depending on the format, so call it first */ +    caps = +        gst_riff_create_audio_caps (header->format, NULL, header, NULL, +        NULL, &codec_name); -  g_free (header); +    wav->format = header->format; +    wav->rate = header->rate; +    wav->channels = header->channels; -  if (!caps) -    goto unknown_format; +    if (wav->channels == 0) +      goto no_channels; -  GST_DEBUG_OBJECT (wav, "blockalign = %u", (guint) wav->blockalign); -  GST_DEBUG_OBJECT (wav, "width      = %u", (guint) wav->width); -  GST_DEBUG_OBJECT (wav, "depth      = %u", (guint) wav->depth); -  GST_DEBUG_OBJECT (wav, "bps        = %u", (guint) wav->bps); +    wav->blockalign = header->blockalign; +    wav->width = (header->blockalign * 8) / header->channels; +    wav->depth = header->size; +    wav->bps = header->av_bps; -  /* create pad later so we can sniff the first few bytes -   * of the real data and correct our caps if necessary */ -  gst_caps_replace (&wav->caps, caps); -  gst_caps_replace (&caps, NULL); +    if (wav->bps <= 0) +      goto no_bitrate; -  if (codec_name) { -    wav->tags = gst_tag_list_new (); +    wav->bytes_per_sample = wav->channels * wav->width / 8; +    if (wav->bytes_per_sample <= 0) +      goto no_bytes_per_sample; -    gst_tag_list_add (wav->tags, GST_TAG_MERGE_REPLACE, -        GST_TAG_AUDIO_CODEC, codec_name, NULL); +    g_free (header); -    g_free (codec_name); -    codec_name = NULL; -  } +    if (!caps) +      goto unknown_format; + +    GST_DEBUG_OBJECT (wav, "blockalign = %u", (guint) wav->blockalign); +    GST_DEBUG_OBJECT (wav, "width      = %u", (guint) wav->width); +    GST_DEBUG_OBJECT (wav, "depth      = %u", (guint) wav->depth); +    GST_DEBUG_OBJECT (wav, "bps        = %u", (guint) wav->bps); + +    /* create pad later so we can sniff the first few bytes +     * of the real data and correct our caps if necessary */ +    gst_caps_replace (&wav->caps, caps); +    gst_caps_replace (&caps, NULL); -  GST_DEBUG_OBJECT (wav, "frequency %d, channels %d", wav->rate, wav->channels); +    wav->got_fmt = TRUE; + +    if (codec_name) { +      wav->tags = gst_tag_list_new (); + +      gst_tag_list_add (wav->tags, GST_TAG_MERGE_REPLACE, +          GST_TAG_AUDIO_CODEC, codec_name, NULL); + +      g_free (codec_name); +      codec_name = NULL; +    } + +    GST_DEBUG_OBJECT (wav, "frequency %d, channels %d", wav->rate, +        wav->channels); +  }    /* loop headers until we get data */    while (!gotdata) { -    guint size; -    guint32 tag; -    if ((res = -            gst_pad_pull_range (wav->sinkpad, wav->offset, 8, -                &buf)) != GST_FLOW_OK) -      goto header_read_error; +    if (wav->streaming) { +      if (!gst_wavparse_peek_chunk_info (wav, &tag, &size)) +        return GST_FLOW_OK; +    } else { +      if ((res = +              gst_pad_pull_range (wav->sinkpad, wav->offset, 8, +                  &buf)) != GST_FLOW_OK) +        goto header_read_error; +      tag = GST_READ_UINT32_LE (GST_BUFFER_DATA (buf)); +      size = GST_READ_UINT32_LE (GST_BUFFER_DATA (buf) + 4); +    }      /*         wav is a st00pid format, we don't know for sure where data starts.         So we have to go bit by bit until we find the 'data' header       */ -    tag = GST_READ_UINT32_LE (GST_BUFFER_DATA (buf)); -    size = GST_READ_UINT32_LE (GST_BUFFER_DATA (buf) + 4);      switch (tag) {          /* TODO : Implement the various cases */ @@ -986,6 +1105,11 @@ gst_wavparse_stream_headers (GstWavParse * wav)          GST_DEBUG_OBJECT (wav, "Got 'data' TAG, size : %d", size);          gotdata = TRUE; +        if (wav->streaming) { +          gst_adapter_flush (wav->adapter, 8); +        } else { +          gst_buffer_unref (buf); +        }          wav->offset += 8;          wav->datastart = wav->offset;          /* file might be truncated */ @@ -998,12 +1122,19 @@ gst_wavparse_stream_headers (GstWavParse * wav)          break;        }        default: +        if (wav->streaming) { +          if (!gst_wavparse_peek_chunk (wav, &tag, &size)) +            return GST_FLOW_OK; +        }          GST_DEBUG_OBJECT (wav, "Ignoring tag %" GST_FOURCC_FORMAT,              GST_FOURCC_ARGS (tag));          wav->offset += 8 + ((size + 1) & ~1); -        break; +        if (wav->streaming) { +          gst_adapter_flush (wav->adapter, 8 + ((size + 1) & ~1)); +        } else { +          gst_buffer_unref (buf); +        }      } -    gst_buffer_unref (buf);    }    GST_DEBUG_OBJECT (wav, "Finished parsing headers"); @@ -1021,6 +1152,7 @@ gst_wavparse_stream_headers (GstWavParse * wav)    event_p = &wav->seek_event;    gst_event_replace (event_p, NULL); +  wav->state = GST_WAVPARSE_DATA;    return GST_FLOW_OK;    /* ERROR */ @@ -1080,6 +1212,32 @@ header_read_error:    }  } + +/*                        + * Read WAV file tag when streaming + */ +static GstFlowReturn +gst_wavparse_parse_stream_init (GstWavParse * wav) +{ +  if (gst_adapter_available (wav->adapter) >= 12) { +    GstBuffer *tmp = gst_buffer_new (); + +    /* _take flushes the data */ +    GST_BUFFER_DATA (tmp) = gst_adapter_take (wav->adapter, 12); +    GST_BUFFER_SIZE (tmp) = 12; + +    GST_DEBUG ("Parsing wav header"); +    if (!gst_wavparse_parse_file_header (GST_ELEMENT (wav), tmp)) { +      return GST_FLOW_ERROR; +    } + +    wav->offset += 12; +    /* Go to next state */ +    wav->state = GST_WAVPARSE_HEADER; +  } +  return GST_FLOW_OK; +} +  /* handle an event sent directly to the element.   *   * This event can be sent either in the READY state or the @@ -1100,6 +1258,8 @@ gst_wavparse_send_event (GstElement * element, GstEvent * event)    gboolean res = FALSE;    GstEvent **event_p; +  GST_DEBUG_OBJECT (wav, "received event %s", GST_EVENT_TYPE_NAME (event)); +    switch (GST_EVENT_TYPE (event)) {      case GST_EVENT_SEEK:        if (wav->state == GST_WAVPARSE_DATA) { @@ -1149,6 +1309,7 @@ gst_wavparse_add_src_pad (GstWavParse * wav, GstBuffer * buf)    gst_element_add_pad (GST_ELEMENT (wav), wav->srcpad);    gst_element_no_more_pads (GST_ELEMENT (wav)); +  GST_DEBUG_OBJECT (wav, "Send newsegment event on newpad");    gst_pad_push_event (wav->srcpad, wav->newsegment);    wav->newsegment = NULL; @@ -1169,6 +1330,7 @@ gst_wavparse_stream_data (GstWavParse * wav, gboolean first)    GstClockTime timestamp, next_timestamp;    guint64 pos, nextpos; +iterate_adapter:    GST_LOG_OBJECT (wav, "offset: %" G_GINT64_FORMAT " , end: %" G_GINT64_FORMAT,        wav->offset, wav->end_offset); @@ -1187,9 +1349,18 @@ gst_wavparse_stream_data (GstWavParse * wav, gboolean first)    GST_LOG_OBJECT (wav, "Fetching %" G_GINT64_FORMAT " bytes of data "        "from the sinkpad", desired); -  if ((res = gst_pad_pull_range (wav->sinkpad, wav->offset, -              desired, &buf)) != GST_FLOW_OK) -    goto pull_error; +  if (wav->streaming) { +    if (gst_adapter_available (wav->adapter) < desired) +      return GST_FLOW_OK; + +    buf = gst_buffer_new (); +    GST_BUFFER_DATA (buf) = gst_adapter_take (wav->adapter, desired); +    GST_BUFFER_SIZE (buf) = desired; +  } else { +    if ((res = gst_pad_pull_range (wav->sinkpad, wav->offset, +                desired, &buf)) != GST_FLOW_OK) +      goto pull_error; +  }    obtained = GST_BUFFER_SIZE (buf); @@ -1225,8 +1396,13 @@ gst_wavparse_stream_data (GstWavParse * wav, gboolean first)        ", size:%u", GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buf)),        GST_TIME_ARGS (GST_BUFFER_DURATION (buf)), GST_BUFFER_SIZE (buf)); -  if ((res = gst_pad_push (wav->srcpad, buf)) != GST_FLOW_OK) -    goto push_error; +  if (gst_pad_is_linked (wav->srcpad)) { +    if ((res = gst_pad_push (wav->srcpad, buf)) != GST_FLOW_OK) +      goto push_error; +  } else { +    GST_DEBUG ("Srcpad not linked!"); +    gst_buffer_unref (buf); +  }    if (obtained < wav->dataleft) {      wav->dataleft -= obtained; @@ -1234,6 +1410,14 @@ gst_wavparse_stream_data (GstWavParse * wav, gboolean first)    } else {      wav->dataleft = 0;    } +  /* Iterate until need more data, so adapter size won't grow */ +  if (wav->streaming) { +    GST_LOG_OBJECT (wav, +        "offset: %" G_GINT64_FORMAT " , end: %" G_GINT64_FORMAT, wav->offset, +        wav->end_offset); +    goto iterate_adapter; +  } +    return res;    /* ERROR */ @@ -1315,6 +1499,52 @@ pause:    }  } +static GstFlowReturn +gst_wavparse_chain (GstPad * pad, GstBuffer * buf) +{ +  GstFlowReturn ret; +  GstWavParse *wav = GST_WAVPARSE (GST_PAD_PARENT (pad)); + +  gst_adapter_push (wav->adapter, buf); + +  switch (wav->state) { +    case GST_WAVPARSE_START: +      if ((ret = gst_wavparse_parse_stream_init (wav)) != GST_FLOW_OK) +        goto pause; +      /* fall-through */ + +    case GST_WAVPARSE_HEADER: +      if ((ret = gst_wavparse_stream_headers (wav)) != GST_FLOW_OK) +        goto pause; + +      wav->state = GST_WAVPARSE_DATA; +      if ((ret = gst_wavparse_stream_data (wav, TRUE)) != GST_FLOW_OK) +        goto pause; +      break; +    case GST_WAVPARSE_DATA: +      if ((ret = gst_wavparse_stream_data (wav, FALSE)) != GST_FLOW_OK) +        goto pause; +      break; +    default: +      g_assert_not_reached (); +  } + +  return ret; + +pause: +  GST_LOG_OBJECT (wav, "pausing task %d", ret); +  gst_pad_pause_task (wav->sinkpad); +  if (GST_FLOW_IS_FATAL (ret)) { +    /* for fatal errors we post an error message */ +    GST_ELEMENT_ERROR (wav, STREAM, FAILED, +        (_("Internal data stream error.")), +        ("streaming stopped, reason %s", gst_flow_get_name (ret))); +    if (wav->srcpad != NULL) +      gst_pad_push_event (wav->srcpad, gst_event_new_eos ()); +  } +  return ret; +} +  #if 0  /* convert and query stuff */  static const GstFormat * @@ -1526,7 +1756,8 @@ gst_wavparse_srcpad_event (GstPad * pad, GstEvent * event)    GstWavParse *wavparse = GST_WAVPARSE (GST_PAD_PARENT (pad));    gboolean res = TRUE; -  GST_DEBUG_OBJECT (wavparse, "event %d", GST_EVENT_TYPE (event)); +  GST_DEBUG_OBJECT (wavparse, "event %d, %s", GST_EVENT_TYPE (event), +      GST_EVENT_TYPE_NAME (event));    /* can only handle events when we are in the data state */    if (wavparse->state != GST_WAVPARSE_DATA) @@ -1551,20 +1782,34 @@ gst_wavparse_srcpad_event (GstPad * pad, GstEvent * event)  static gboolean  gst_wavparse_sink_activate (GstPad * sinkpad)  { -  if (gst_pad_check_pull_range (sinkpad)) +  GstWavParse *wav = GST_WAVPARSE (gst_pad_get_parent (sinkpad)); + +  if (gst_pad_check_pull_range (sinkpad)) { +    GST_DEBUG ("going to pull mode"); +    wav->streaming = FALSE; +    wav->adapter = NULL; +    gst_object_unref (wav);      return gst_pad_activate_pull (sinkpad, TRUE); +  } else { +    GST_DEBUG ("going to push (streaming) mode"); +    wav->streaming = TRUE; +    wav->adapter = gst_adapter_new (); +    gst_object_unref (wav); +    return gst_pad_activate_push (sinkpad, TRUE); +  } +} -  /* FIXME, we can only operate in pull mode for now */ -  GST_DEBUG_OBJECT (sinkpad, "pull_range not supported on sinkpad"); -  return FALSE; -};  static gboolean  gst_wavparse_sink_activate_pull (GstPad * sinkpad, gboolean active)  {    GstWavParse *wav = GST_WAVPARSE (gst_pad_get_parent (sinkpad)); +  GST_DEBUG_OBJECT (wav, "activating pull"); +    if (active) { +    /* if we have a scheduler we can start the task */ +    wav->segment_running = TRUE;      gst_pad_start_task (sinkpad, (GstTaskFunction) gst_wavparse_loop, sinkpad);    } else {      gst_pad_stop_task (sinkpad); @@ -1580,6 +1825,8 @@ gst_wavparse_change_state (GstElement * element, GstStateChange transition)    GstStateChangeReturn ret;    GstWavParse *wav = GST_WAVPARSE (element); +  GST_DEBUG_OBJECT (wav, "chaning state"); +    switch (transition) {      case GST_STATE_CHANGE_NULL_TO_READY:        break; @@ -1603,8 +1850,11 @@ gst_wavparse_change_state (GstElement * element, GstStateChange transition)        gst_wavparse_destroy_sourcepad (wav);        gst_event_replace (event_p, NULL);        gst_wavparse_reset (wav); -    } +      if (wav->adapter) { +        gst_adapter_clear (wav->adapter); +      }        break; +    }      case GST_STATE_CHANGE_READY_TO_NULL:        break;      default: diff --git a/gst/wavparse/gstwavparse.h b/gst/wavparse/gstwavparse.h index 2d140619..9dd32e5b 100644 --- a/gst/wavparse/gstwavparse.h +++ b/gst/wavparse/gstwavparse.h @@ -1,5 +1,6 @@  /* GStreamer   * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> + * Copyright (C) <2006> Nokia Corporation.   *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Library General Public @@ -25,6 +26,7 @@  #include <gst/gst.h>  #include "gst/riff/riff-ids.h"  #include "gst/riff/riff-read.h" +#include <gst/base/gstadapter.h>  G_BEGIN_DECLS @@ -93,6 +95,11 @@ struct _GstWavParse {    /* pending seek */    GstEvent *seek_event; +  /* For streaming */ +  GstAdapter *adapter; +  gboolean got_fmt; +  gboolean streaming; +    /* configured segment, start/stop expressed in time */    GstSegment segment;    gboolean segment_running; diff --git a/sys/oss/gstossmixerelement.c b/sys/oss/gstossmixerelement.c index 01e7a3d9..65c12a2d 100644 --- a/sys/oss/gstossmixerelement.c +++ b/sys/oss/gstossmixerelement.c @@ -33,7 +33,7 @@ enum  }; -static GstElementDetails gst_oss_mixer_element_details = +static const GstElementDetails gst_oss_mixer_element_details =  GST_ELEMENT_DETAILS ("OSS Mixer",      "Generic/Audio",      "Control sound input and output levels with OSS", diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index 47994119..f2621071 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -50,7 +50,7 @@ GST_DEBUG_CATEGORY_EXTERN (oss_debug);  #define GST_CAT_DEFAULT oss_debug  /* elementfactory information */ -static GstElementDetails gst_oss_sink_details = +static const GstElementDetails gst_oss_sink_details =  GST_ELEMENT_DETAILS ("Audio Sink (OSS)",      "Sink/Audio",      "Output to a sound card via OSS", diff --git a/sys/oss/gstosssrc.c b/sys/oss/gstosssrc.c index 7ff4c935..f740f91c 100644 --- a/sys/oss/gstosssrc.c +++ b/sys/oss/gstosssrc.c @@ -50,7 +50,7 @@  GST_DEBUG_CATEGORY_EXTERN (oss_debug);  #define GST_CAT_DEFAULT oss_debug -static GstElementDetails gst_oss_src_details = +static const GstElementDetails gst_oss_src_details =  GST_ELEMENT_DETAILS ("Audio Source (OSS)",      "Source/Audio",      "Capture from a sound card via OSS", diff --git a/sys/osxaudio/gstosxaudioelement.c b/sys/osxaudio/gstosxaudioelement.c index db142cae..6e1d7917 100644 --- a/sys/osxaudio/gstosxaudioelement.c +++ b/sys/osxaudio/gstosxaudioelement.c @@ -40,7 +40,7 @@ enum  };  /* elementfactory information */ -static GstElementDetails gst_osxaudioelement_details = +static const GstElementDetails gst_osxaudioelement_details =  GST_ELEMENT_DETAILS ("Audio Mixer (OSX)",      "Generic/Audio",      "Mac OS X audio mixer element", diff --git a/sys/osxaudio/gstosxaudiosink.c b/sys/osxaudio/gstosxaudiosink.c index 75998b6d..7f4a6fca 100644 --- a/sys/osxaudio/gstosxaudiosink.c +++ b/sys/osxaudio/gstosxaudiosink.c @@ -31,7 +31,7 @@  #include "gstosxaudiosink.h"  /* elementfactory information */ -static GstElementDetails gst_osxaudiosink_details = +static const GstElementDetails gst_osxaudiosink_details =  GST_ELEMENT_DETAILS ("Audio Sink (Mac OS X)",      "Sink/Audio",      "Output to a Mac OS X CoreAudio Sound Device", diff --git a/sys/osxaudio/gstosxaudiosrc.c b/sys/osxaudio/gstosxaudiosrc.c index c6e25cbd..e12e18af 100644 --- a/sys/osxaudio/gstosxaudiosrc.c +++ b/sys/osxaudio/gstosxaudiosrc.c @@ -34,7 +34,7 @@  #include <gstosxaudioelement.h>  /* elementfactory information */ -static GstElementDetails gst_osxaudiosrc_details = +static const GstElementDetails gst_osxaudiosrc_details =  GST_ELEMENT_DETAILS ("Audio Source (Mac OS X)",      "Source/Audio",      "Read from the sound card", diff --git a/sys/sunaudio/gstsunaudiomixer.c b/sys/sunaudio/gstsunaudiomixer.c index 0023585f..fb0ce954 100644 --- a/sys/sunaudio/gstsunaudiomixer.c +++ b/sys/sunaudio/gstsunaudiomixer.c @@ -35,7 +35,7 @@  #include "gstsunaudiomixer.h" -static GstElementDetails gst_sunaudiomixer_details = +static const GstElementDetails gst_sunaudiomixer_details =  GST_ELEMENT_DETAILS ("Sun Audio Mixer",      "Generic/Audio",      "Control sound input and output levels with Sun Audio", diff --git a/sys/sunaudio/gstsunaudiosink.c b/sys/sunaudio/gstsunaudiosink.c index 9d50c8c2..be6de940 100644 --- a/sys/sunaudio/gstsunaudiosink.c +++ b/sys/sunaudio/gstsunaudiosink.c @@ -48,7 +48,8 @@  #include "gstsunaudiosink.h"  /* elementfactory information */ -static GstElementDetails plugin_details = GST_ELEMENT_DETAILS ("Sun Audio Sink", +static const GstElementDetails plugin_details = +GST_ELEMENT_DETAILS ("Sun Audio Sink",      "Sink/Audio",      "Audio sink for Sun Audio devices",      "David A. Schleef <ds@schleef.org>, " | 
