gst-indent
authorThomas Vander Stichele <thomas@apestaart.org>
Sun, 14 Mar 2004 22:34:33 +0000 (22:34 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Sun, 14 Mar 2004 22:34:33 +0000 (22:34 +0000)
Original commit message from CVS:
gst-indent

228 files changed:
ChangeLog
examples/capsfilter/capsfilter1.c
examples/dynparams/filter.c
examples/gstplay/player.c
examples/indexing/indexmpeg.c
examples/seeking/cdparanoia.c
examples/seeking/cdplayer.c
examples/seeking/seek.c
examples/seeking/spider_seek.c
examples/seeking/vorbisfile.c
examples/stats/mp2ogg.c
examples/switch/switcher.c
ext/aalib/gstaasink.c
ext/aalib/gstaasink.h
ext/dv/gstdvdec.h
ext/esd/esdmon.c
ext/esd/esdmon.h
ext/esd/esdsink.c
ext/esd/esdsink.h
ext/esd/gstesd.c
ext/flac/flac_compat.h
ext/flac/gstflac.c
ext/flac/gstflacdec.c
ext/flac/gstflacdec.h
ext/flac/gstflacenc.c
ext/flac/gstflacenc.h
ext/flac/gstflactag.c
ext/gdk_pixbuf/gst_loader.c
ext/gdk_pixbuf/gstgdkanimation.c
ext/gdk_pixbuf/gstgdkanimation.h
ext/gdk_pixbuf/gstgdkpixbuf.c
ext/gdk_pixbuf/gstgdkpixbuf.h
ext/jpeg/gstjpeg.c
ext/jpeg/gstjpegdec.c
ext/jpeg/gstjpegdec.h
ext/jpeg/gstjpegenc.c
ext/jpeg/gstjpegenc.h
ext/ladspa/gstladspa.c
ext/ladspa/gstladspa.h
ext/ladspa/load.c
ext/ladspa/search.c
ext/ladspa/utils.h
ext/libcaca/gstcacasink.c
ext/libcaca/gstcacasink.h
ext/libpng/gstpng.c
ext/libpng/gstpngenc.c
ext/libpng/gstpngenc.h
ext/mikmod/drv_gst.c
ext/mikmod/gstmikmod.c
ext/mikmod/gstmikmod.h
ext/mikmod/mikmod_reader.c
ext/mikmod/mikmod_types.c
ext/mikmod/mikmod_types.h
ext/pango/gsttextoverlay.c
ext/pango/gsttextoverlay.h
ext/pango/gsttimeoverlay.c
ext/pango/gsttimeoverlay.h
ext/raw1394/gst1394.c
ext/raw1394/gstdv1394src.c
ext/raw1394/gstdv1394src.h
ext/shout2/gstshout2.c
ext/shout2/gstshout2.h
ext/speex/gstspeex.c
ext/speex/gstspeexdec.c
ext/speex/gstspeexdec.h
ext/speex/gstspeexenc.c
ext/speex/gstspeexenc.h
gst/audiofx/audiowsincband.c
gst/audiofx/audiowsinclimit.c
gst/auparse/gstauparse.c
gst/auparse/gstauparse.h
gst/avi/avi-ids.h
gst/avi/gstavi.c
gst/avi/gstavidecoder.c
gst/avi/gstavidemux.c
gst/avi/gstavidemux.h
gst/avi/gstavimux.c
gst/avi/gstavimux.h
gst/cutter/gstcutter.c
gst/cutter/gstcutter.h
gst/debug/efence.c
gst/debug/efence.h
gst/debug/gstnavigationtest.c
gst/debug/gstnavigationtest.h
gst/effectv/gstaging.c
gst/effectv/gstdice.c
gst/effectv/gstedge.c
gst/effectv/gsteffectv.c
gst/effectv/gstquark.c
gst/effectv/gstrev.c
gst/effectv/gstshagadelic.c
gst/effectv/gstvertigo.c
gst/effectv/gstwarp.c
gst/flx/flx_color.c
gst/flx/flx_color.h
gst/flx/flx_fmt.h
gst/flx/gstflxdec.c
gst/flx/gstflxdec.h
gst/goom/filters.c
gst/goom/filters.h
gst/goom/goom_core.c
gst/goom/goom_core.h
gst/goom/goom_tools.h
gst/goom/graphic.c
gst/goom/graphic.h
gst/goom/gstgoom.c
gst/goom/lines.c
gst/goom/lines.h
gst/law/alaw-decode.c
gst/law/alaw-decode.h
gst/law/alaw-encode.c
gst/law/alaw-encode.h
gst/law/alaw.c
gst/law/mulaw-conversion.c
gst/law/mulaw-conversion.h
gst/law/mulaw-decode.c
gst/law/mulaw-decode.h
gst/law/mulaw-encode.c
gst/law/mulaw-encode.h
gst/law/mulaw.c
gst/level/demo.c
gst/level/gstlevel.c
gst/level/gstlevel.h
gst/level/plot.c
gst/matroska/ebml-ids.h
gst/matroska/ebml-read.c
gst/matroska/ebml-read.h
gst/matroska/ebml-write.c
gst/matroska/ebml-write.h
gst/matroska/matroska-demux.c
gst/matroska/matroska-demux.h
gst/matroska/matroska-ids.h
gst/matroska/matroska-mux.c
gst/matroska/matroska-mux.h
gst/matroska/matroska.c
gst/median/gstmedian.c
gst/median/gstmedian.h
gst/monoscope/convolve.c
gst/monoscope/convolve.h
gst/monoscope/gstmonoscope.c
gst/monoscope/monoscope.c
gst/monoscope/monoscope.h
gst/qtdemux/qtdemux.c
gst/qtdemux/qtdemux.h
gst/rtp/gstrtp-common.h
gst/rtp/gstrtp.c
gst/rtp/gstrtpL16depay.c
gst/rtp/gstrtpL16depay.h
gst/rtp/gstrtpL16enc.c
gst/rtp/gstrtpL16enc.h
gst/rtp/gstrtpL16parse.c
gst/rtp/gstrtpL16parse.h
gst/rtp/gstrtpL16pay.c
gst/rtp/gstrtpL16pay.h
gst/rtp/gstrtpgsmdepay.c
gst/rtp/gstrtpgsmdepay.h
gst/rtp/gstrtpgsmenc.c
gst/rtp/gstrtpgsmenc.h
gst/rtp/gstrtpgsmparse.c
gst/rtp/gstrtpgsmparse.h
gst/rtp/gstrtpgsmpay.c
gst/rtp/gstrtpgsmpay.h
gst/rtp/rtp-packet.c
gst/rtp/rtp-packet.h
gst/smoothwave/demo-osssrc.c
gst/smoothwave/gstsmoothwave.c
gst/smoothwave/gstsmoothwave.h
gst/smpte/barboxwipes.c
gst/smpte/gstmask.c
gst/smpte/gstmask.h
gst/smpte/gstsmpte.c
gst/smpte/gstsmpte.h
gst/smpte/paint.c
gst/smpte/paint.h
gst/spectrum/gstspectrum.c
gst/spectrum/gstspectrum.h
gst/udp/gstudp.c
gst/udp/gstudp.h
gst/udp/gstudpsink.c
gst/udp/gstudpsink.h
gst/udp/gstudpsrc.c
gst/udp/gstudpsrc.h
gst/videocrop/gstvideocrop.c
gst/videofilter/gstgamma.c
gst/videofilter/gstvideobalance.c
gst/videofilter/gstvideobalance.h
gst/videofilter/gstvideofilter.c
gst/videofilter/gstvideofilter.h
gst/videofilter/gstvideoflip.c
gst/videofilter/gstvideoflip.h
gst/videofilter/gstvideotemplate.c
gst/videoflip/gstvideoflip.c
gst/videoflip/gstvideoflip.h
gst/videoflip/videoflip.c
gst/videoflip/videoflip.h
gst/wavenc/gstwavenc.c
gst/wavenc/gstwavenc.h
gst/wavenc/riff.h
gst/wavparse/gstwavparse.c
gst/wavparse/gstwavparse.h
gst/wavparse/riff.h
sys/oss/gstossaudio.c
sys/oss/gstosselement.c
sys/oss/gstosselement.h
sys/oss/gstossmixer.c
sys/oss/gstossmixer.h
sys/oss/gstosssink.c
sys/oss/gstosssink.h
sys/oss/gstosssrc.c
sys/oss/gstosssrc.h
sys/v4l2/gstv4l2.c
sys/v4l2/gstv4l2colorbalance.c
sys/v4l2/gstv4l2colorbalance.h
sys/v4l2/gstv4l2element.c
sys/v4l2/gstv4l2element.h
sys/v4l2/gstv4l2src.c
sys/v4l2/gstv4l2src.h
sys/v4l2/gstv4l2tuner.c
sys/v4l2/gstv4l2tuner.h
sys/v4l2/gstv4l2xoverlay.c
sys/v4l2/gstv4l2xoverlay.h
sys/v4l2/v4l2-overlay_calls.c
sys/v4l2/v4l2_calls.c
sys/v4l2/v4l2_calls.h
sys/v4l2/v4l2src_calls.c
sys/v4l2/v4l2src_calls.h
tests/examples/spectrum/demo-osssrc.c
tests/old/examples/switch/switcher.c

index f760574..ca8989c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * *.c, *.h: run gst-indent
+
 2004-03-14  Benjamin Otte  <otte@gnome.org>
 
        * gst/modplug/gstmodplug.cc:
index 4d71109..46e127a 100644 (file)
@@ -6,7 +6,7 @@
  * connection would use the I420 format (assuming Xv is enabled) */
 
 static void
-new_pad_func (GstElement *element, GstPad *newpad, gpointer data)
+new_pad_func (GstElement * element, GstPad * newpad, gpointer data)
 {
   GstElement *pipeline = (GstElement *) data;
   GstElement *queue = gst_bin_get_by_name (GST_BIN (pipeline), "queue");
@@ -19,7 +19,7 @@ new_pad_func (GstElement *element, GstPad *newpad, gpointer data)
 }
 
 gint
-main (gint argc, gchar *argv[])
+main (gint argc, gchar * argv[])
 {
   GstElement *pipeline;
   GstElement *filesrc;
@@ -44,7 +44,8 @@ main (gint argc, gchar *argv[])
   g_object_set (G_OBJECT (filesrc), "location", argv[1], NULL);
   demux = gst_element_factory_make ("mpegdemux", "demux");
   g_return_val_if_fail (demux, -1);
-  g_signal_connect (G_OBJECT (demux), "new_pad", G_CALLBACK (new_pad_func), pipeline);
+  g_signal_connect (G_OBJECT (demux), "new_pad", G_CALLBACK (new_pad_func),
+      pipeline);
 
   thread = gst_thread_new ("thread");
   queue = gst_element_factory_make ("queue", "queue");
@@ -58,7 +59,7 @@ main (gint argc, gchar *argv[])
 
   gst_bin_add (GST_BIN (pipeline), filesrc);
   gst_bin_add (GST_BIN (pipeline), demux);
-  
+
   gst_bin_add (GST_BIN (thread), queue);
   gst_bin_add (GST_BIN (thread), mpeg2dec);
   gst_bin_add (GST_BIN (thread), colorspace);
@@ -70,11 +71,9 @@ main (gint argc, gchar *argv[])
   gst_element_link (mpeg2dec, "src", colorspace, "sink");
   /* force RGB data passing between colorspace and xvideosink */
   res = gst_element_link_filtered (colorspace, "src", xvideosink, "sink",
-                       GST_CAPS_NEW (
-                         "filtercaps",
-                         "video/raw",
-                           "format",  GST_PROPS_FOURCC (GST_STR_FOURCC ("RGB "))
-                       ));
+      GST_CAPS_NEW ("filtercaps",
+         "video/raw", "format", GST_PROPS_FOURCC (GST_STR_FOURCC ("RGB "))
+      ));
   if (!res) {
     g_print ("could not connect colorspace and xvideosink\n");
     return -1;
@@ -83,7 +82,7 @@ main (gint argc, gchar *argv[])
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
 
   while (gst_bin_iterate (GST_BIN (pipeline)));
-  
+
   gst_element_set_state (pipeline, GST_STATE_NULL);
 
   return 0;
index ed0dd5a..982a4c7 100644 (file)
@@ -18,13 +18,13 @@ struct _filter_ui
   GtkWidget *window;           /* top-level interface window */
 
   GtkWidget *buttons;          /* all of the control buttons */
-  GtkWidget *parse, *play, *stop; /* control buttons */
-  
+  GtkWidget *parse, *play, *stop;      /* control buttons */
+
   GtkWidget *feedback;         /* here's where we'll tell you stuff */
   GtkTextBuffer *fb_buffer;    /* feedback buffer */
   GtkWidget *selection;                /* the place to input element stuff */
-  GtkWidget *input, *filter, *output; /* the selection widgets */
-  
+  GtkWidget *input, *filter, *output;  /* the selection widgets */
+
   GtkWidget *control;          /* the dynamically generated control UI */
 };
 
@@ -33,13 +33,13 @@ typedef struct _filter_ui _filter_ui_t;
 /* back-end data */
 struct _filter_data
 {
-  _filter_ui_t *ui;                    /* the UI data */
+  _filter_ui_t *ui;            /* the UI data */
   gchar *input_pipe, *output_pipe, *filter_element;
   gchar *pipe_string;
   GList *filter_choices;
 
   gboolean playing;
-  GstElement *input, *output;          /* these are in and out bins */
+  GstElement *input, *output;  /* these are in and out bins */
   GstElement *pipeline;
   GstElement *filter;
 };
@@ -47,17 +47,18 @@ struct _filter_data
 typedef struct _filter_data _filter_data_t;
 
 /* internal prototypes when they can't be avoided */
-void   cb_remove_and_destroy   (GtkWidget *widget, gpointer user_data);
-//void cb_dynparm_value_changed (GtkWidget *widget, gpointer user_data);
-void   cb_dynparm_value_changed (GtkRange *range, GstDParam *dparam);
+void cb_remove_and_destroy (GtkWidget * widget, gpointer user_data);
+
+//void  cb_dynparm_value_changed (GtkWidget *widget, gpointer user_data);
+void cb_dynparm_value_changed (GtkRange * range, GstDParam * dparam);
 
 /* GStreamer helper functions go here */
-  
+
 /* go through a bin, finding the one pad that is unconnected in the given
  * direction, and return a ghost pad */
 GstPad *
-gst_bin_find_unconnected_pad (GstBin *bin, GstPadDirection direction, 
-                              gchar *name)
+gst_bin_find_unconnected_pad (GstBin * bin, GstPadDirection direction,
+    gchar * name)
 {
   GstPad *pad = NULL;
   GList *elements = NULL;
@@ -67,39 +68,36 @@ gst_bin_find_unconnected_pad (GstBin *bin, GstPadDirection direction,
   g_print ("DEBUG: find_unconnected start\n");
   elements = (GList *) gst_bin_get_list (bin);
   /* traverse all elements looking for unconnected pads */
-  while (elements && pad == NULL)
-  {
+  while (elements && pad == NULL) {
     element = GST_ELEMENT (elements->data);
     g_print ("DEBUG: looking in element %s\n", gst_element_get_name (element));
     pads = gst_element_get_pad_list (element);
-    while (pads)
-    {
+    while (pads) {
       /* check if the direction matches */
-      if (GST_PAD_DIRECTION (GST_PAD (pads->data)) == direction)
-      {
-        if (GST_PAD_PEER (GST_PAD (pads->data)) == NULL)
-       {
+      if (GST_PAD_DIRECTION (GST_PAD (pads->data)) == direction) {
+       if (GST_PAD_PEER (GST_PAD (pads->data)) == NULL) {
          /* found it ! */
          g_print ("DEBUG: found an unconnected pad !\n");
          pad = GST_PAD (pads->data);
        }
       }
-      if (pad) break; /* found one already */
+      if (pad)
+       break;                  /* found one already */
       pads = g_list_next (pads);
     }
     elements = g_list_next (elements);
   }
 
   g_print ("DEBUG: find_unconnected stop\n");
-  if (pad == NULL) /* we didn't find it at all */
+  if (pad == NULL)             /* we didn't find it at all */
     return NULL;
-  
+
   pad = gst_ghost_pad_new (name, pad);
   return pad;
 }
 
 void
-ui_feedback_add_text (_filter_ui_t *ui, const gchar *text)
+ui_feedback_add_text (_filter_ui_t * ui, const gchar * text)
 {
   GtkTextIter iter;
 
@@ -108,7 +106,7 @@ ui_feedback_add_text (_filter_ui_t *ui, const gchar *text)
 }
 
 void
-ui_feedback_add (_filter_ui_t *ui, const gchar *format, ...)
+ui_feedback_add (_filter_ui_t * ui, const gchar * format, ...)
 {
   va_list args;
   gchar *buffer = NULL;
@@ -121,7 +119,7 @@ ui_feedback_add (_filter_ui_t *ui, const gchar *format, ...)
 }
 
 void
-ui_feedback_clear (_filter_ui_t *ui)
+ui_feedback_clear (_filter_ui_t * ui)
 {
   gtk_text_buffer_set_text (ui->fb_buffer, "", 0);
 }
@@ -129,7 +127,7 @@ ui_feedback_clear (_filter_ui_t *ui)
 /* create the control widget using the element's dynparams 
  * control is a vbox which we need to empty first */
 void
-ui_control_create (GstElement *element, GtkWidget *control, _filter_ui_t *ui)
+ui_control_create (GstElement * element, GtkWidget * control, _filter_ui_t * ui)
 {
   GtkWidget *hbox = NULL;
   GtkWidget *widget = NULL;
@@ -137,70 +135,63 @@ ui_control_create (GstElement *element, GtkWidget *control, _filter_ui_t *ui)
   GstDParam *dparam = NULL;
   GParamSpec **specs = NULL;
   int i = 0;
-  
+
   g_assert (GTK_IS_VBOX (control));
 
   /* empty control vbox */
   g_print ("DEBUG: emptying control widget\n");
-  gtk_container_foreach (GTK_CONTAINER (control), cb_remove_and_destroy, 
-                         (gpointer) control);
+  gtk_container_foreach (GTK_CONTAINER (control), cb_remove_and_destroy,
+      (gpointer) control);
 
   g_print ("DEBUG: adding label to control widget\n");
   widget = gtk_label_new ("Dynamic Parameters");
   gtk_container_add (GTK_CONTAINER (control), widget);
   gtk_widget_show (widget);
-  
-  if ((dpman = gst_dpman_get_manager (element)))
-  {
+
+  if ((dpman = gst_dpman_get_manager (element))) {
     ui_feedback_add (ui, "Found Dynamic Parameters on filter element.\n");
     specs = gst_dpman_list_dparam_specs (dpman);
-    for (i = 0; specs[i] != NULL; ++i)
-    {
+    for (i = 0; specs[i] != NULL; ++i) {
       hbox = gtk_hbox_new (FALSE, 0);
       widget = gtk_label_new (g_param_spec_get_name (specs[i]));
       gtk_container_add (GTK_CONTAINER (hbox), widget);
       gtk_widget_show (widget);
-      switch (G_PARAM_SPEC_VALUE_TYPE (specs[i])) 
-      {
-        case G_TYPE_INT64:
+      switch (G_PARAM_SPEC_VALUE_TYPE (specs[i])) {
+       case G_TYPE_INT64:
          widget = gtk_hscale_new_with_range (
-            (gdouble) (((GParamSpecInt64*)specs[i])->minimum),
-            (gdouble) (((GParamSpecInt64*)specs[i])->maximum),
-            1.0);
+             (gdouble) (((GParamSpecInt64 *) specs[i])->minimum),
+             (gdouble) (((GParamSpecInt64 *) specs[i])->maximum), 1.0);
          gtk_range_set_value (GTK_RANGE (widget),
-             (gdouble) ((GParamSpecInt64*)specs[i])->default_value);
-          break;
+             (gdouble) ((GParamSpecInt64 *) specs[i])->default_value);
+         break;
 
        case G_TYPE_INT:
          widget = gtk_hscale_new_with_range (
-            (gdouble) (((GParamSpecInt*)specs[i])->minimum),
-            (gdouble) (((GParamSpecInt*)specs[i])->maximum),
-            1.0);
+             (gdouble) (((GParamSpecInt *) specs[i])->minimum),
+             (gdouble) (((GParamSpecInt *) specs[i])->maximum), 1.0);
          gtk_range_set_value (GTK_RANGE (widget),
-             (gdouble) ((GParamSpecInt*)specs[i])->default_value);
-          break;
-        case G_TYPE_FLOAT:
+             (gdouble) ((GParamSpecInt *) specs[i])->default_value);
+         break;
+       case G_TYPE_FLOAT:
          widget = gtk_hscale_new_with_range (
-            (gdouble) (((GParamSpecFloat*)specs[i])->minimum),
-            (gdouble) (((GParamSpecFloat*)specs[i])->maximum),
-            0.00001);
+             (gdouble) (((GParamSpecFloat *) specs[i])->minimum),
+             (gdouble) (((GParamSpecFloat *) specs[i])->maximum), 0.00001);
          gtk_range_set_value (GTK_RANGE (widget),
-             (gdouble) ((GParamSpecFloat*)specs[i])->default_value);
+             (gdouble) ((GParamSpecFloat *) specs[i])->default_value);
          break;
       }
       /* create the dparam object */
       dparam = gst_dpsmooth_new (G_PARAM_SPEC_VALUE_TYPE (specs[i]));
       g_object_set (G_OBJECT (dparam), "update_period", 2000000LL, NULL);
-      g_assert (gst_dpman_attach_dparam (dpman, 
-                                        (gchar *) g_param_spec_get_name (specs[i]), 
-                                        dparam));
-      gst_dpman_set_mode(dpman, "asynchronous");
+      g_assert (gst_dpman_attach_dparam (dpman,
+             (gchar *) g_param_spec_get_name (specs[i]), dparam));
+      gst_dpman_set_mode (dpman, "asynchronous");
       g_signal_connect (widget, "value-changed",
-                       G_CALLBACK (cb_dynparm_value_changed), dparam);
+         G_CALLBACK (cb_dynparm_value_changed), dparam);
       cb_dynparm_value_changed (GTK_RANGE (widget), dparam);
-                       
+
       gtk_container_add (GTK_CONTAINER (hbox), widget);
-      gtk_widget_show (widget);      
+      gtk_widget_show (widget);
     }
     gtk_container_add (GTK_CONTAINER (control), hbox);
     gtk_widget_show (hbox);
@@ -209,7 +200,7 @@ ui_control_create (GstElement *element, GtkWidget *control, _filter_ui_t *ui)
 
 /* all the pretty callbacks gather here please */
 void
-cb_remove_and_destroy (GtkWidget *widget, gpointer user_data)
+cb_remove_and_destroy (GtkWidget * widget, gpointer user_data)
 {
   GtkContainer *container = GTK_CONTAINER (user_data);
 
@@ -220,55 +211,51 @@ cb_remove_and_destroy (GtkWidget *widget, gpointer user_data)
 
 /* when the scale associated with a dparam changes, respond */
 void
-cb_dynparm_value_changed (GtkRange *range, GstDParam *dparam)
+cb_dynparm_value_changed (GtkRange * range, GstDParam * dparam)
 {
   /*
-  GstDParam *dparam = GST_DPARAM (user_data);
-  GtkHScale *adj = GTK_HSCALE (widget);
-  */
+     GstDParam *dparam = GST_DPARAM (user_data);
+     GtkHScale *adj = GTK_HSCALE (widget);
+   */
   gdouble value = 0.0;
+
   g_assert (GST_IS_DPARAM (dparam));
   g_assert (GTK_IS_RANGE (range));
 
   value = gtk_range_get_value (range);
 
-  g_print ("DEBUG: setting value to %f\n", value); 
+  g_print ("DEBUG: setting value to %f\n", value);
 
-  switch (G_PARAM_SPEC_VALUE_TYPE (GST_DPARAM_PARAM_SPEC (dparam))) 
-  {
+  switch (G_PARAM_SPEC_VALUE_TYPE (GST_DPARAM_PARAM_SPEC (dparam))) {
     case G_TYPE_INT64:
-      g_object_set (G_OBJECT (dparam), "value_int64",
-         (gint64) value, NULL);
+      g_object_set (G_OBJECT (dparam), "value_int64", (gint64) value, NULL);
       break;
 
     case G_TYPE_INT:
-      g_object_set (G_OBJECT (dparam), "value_int",
-         (gint) value, NULL);
+      g_object_set (G_OBJECT (dparam), "value_int", (gint) value, NULL);
       break;
 
     case G_TYPE_FLOAT:
-      g_object_set (G_OBJECT (dparam), "value_float",
-         (gfloat) value, NULL);
+      g_object_set (G_OBJECT (dparam), "value_float", (gfloat) value, NULL);
       break;
   }
 }
 
-         
+
 void
-cb_entry_activate (GtkEntry *entry, gpointer user_data)
+cb_entry_activate (GtkEntry * entry, gpointer user_data)
 {
   g_print ("DEBUG: oi ! you activated an entry !\n");
   g_print ("DEBUG: pipeline: %s\n", gtk_entry_get_text (entry));
 }
 
 void
-cb_play_clicked (GtkButton *button, gpointer *user_data)
+cb_play_clicked (GtkButton * button, gpointer * user_data)
 {
   _filter_data_t *fd = (_filter_data_t *) user_data;
 
   g_return_if_fail (GST_IS_PIPELINE (fd->pipeline));
-  if (GST_STATE (fd->pipeline) == GST_STATE_PLAYING)
-  {
+  if (GST_STATE (fd->pipeline) == GST_STATE_PLAYING) {
     ui_feedback_add (fd->ui, "Pipeline is already playing !\n");
     return;
   }
@@ -276,12 +263,11 @@ cb_play_clicked (GtkButton *button, gpointer *user_data)
 }
 
 void
-cb_stop_clicked (GtkButton *button, gpointer *user_data)
+cb_stop_clicked (GtkButton * button, gpointer * user_data)
 {
   _filter_data_t *fd = (_filter_data_t *) user_data;
 
-  if (GST_STATE (fd->pipeline) != GST_STATE_PLAYING)
-  {
+  if (GST_STATE (fd->pipeline) != GST_STATE_PLAYING) {
     ui_feedback_add (fd->ui, "Pipeline is not playing !\n");
     return;
   }
@@ -289,67 +275,72 @@ cb_stop_clicked (GtkButton *button, gpointer *user_data)
 }
 
 void
-cb_parse_clicked (GtkButton *button, gpointer *user_data)
+cb_parse_clicked (GtkButton * button, gpointer * user_data)
 {
   _filter_data_t *fd = (_filter_data_t *) user_data;
   GtkCombo *filter = GTK_COMBO (fd->ui->filter);
   GError *error = NULL;
   GstPad *src_pad, *sink_pad;
-  
+
   g_print ("DEBUG: you pressed parse.\n");
   ui_feedback_clear (fd->ui);
   ui_feedback_add (fd->ui, "Parsing pipeline ...\n");
-  if (fd->input_pipe) g_free (fd->input_pipe);
-  if (fd->output_pipe) g_free (fd->output_pipe);
-  if (fd->filter_element) g_free (fd->filter_element);
+  if (fd->input_pipe)
+    g_free (fd->input_pipe);
+  if (fd->output_pipe)
+    g_free (fd->output_pipe);
+  if (fd->filter_element)
+    g_free (fd->filter_element);
   fd->input_pipe = g_strdup_printf ("bin.( %s )",
-                     gtk_entry_get_text (GTK_ENTRY (fd->ui->input)));
+      gtk_entry_get_text (GTK_ENTRY (fd->ui->input)));
   fd->output_pipe = g_strdup_printf ("bin.( %s )",
-                     gtk_entry_get_text (GTK_ENTRY (fd->ui->output)));
+      gtk_entry_get_text (GTK_ENTRY (fd->ui->output)));
   /* gtkcombo.h says I can access the entry field directly */
-  fd->filter_element = g_strdup (gtk_entry_get_text (GTK_ENTRY (filter->entry)));
-  g_print ("Input pipeline :\t%s (%d)\n", fd->input_pipe, (int)strlen (fd->input_pipe));
-  g_print ("Filter element :\t%s (%d)\n", fd->filter_element, (int)strlen (fd->filter_element));
-  g_print ("Output pipeline :\t%s (%d)\n", fd->output_pipe, (int)strlen (fd->output_pipe));
+  fd->filter_element =
+      g_strdup (gtk_entry_get_text (GTK_ENTRY (filter->entry)));
+  g_print ("Input pipeline :\t%s (%d)\n", fd->input_pipe,
+      (int) strlen (fd->input_pipe));
+  g_print ("Filter element :\t%s (%d)\n", fd->filter_element,
+      (int) strlen (fd->filter_element));
+  g_print ("Output pipeline :\t%s (%d)\n", fd->output_pipe,
+      (int) strlen (fd->output_pipe));
 
   /* try to create in and out bins */
-  if (strlen (fd->input_pipe) == 0)
-  {
+  if (strlen (fd->input_pipe) == 0) {
     ui_feedback_add (fd->ui, "Error : try setting an input pipe.\n");
     return;
   }
-  if (fd->input) gst_object_unref (GST_OBJECT (fd->input));
+  if (fd->input)
+    gst_object_unref (GST_OBJECT (fd->input));
   fd->input = GST_ELEMENT (gst_parse_launch (fd->input_pipe, &error));
-  if (error)
-  {
-    ui_feedback_add (fd->ui, "Error : parsing input pipeline : %s\n", 
-                    error->message);
+  if (error) {
+    ui_feedback_add (fd->ui, "Error : parsing input pipeline : %s\n",
+       error->message);
     g_error_free (error);
     return;
   }
-  
-  if (strlen (fd->output_pipe) == 0)
-  {
+
+  if (strlen (fd->output_pipe) == 0) {
     ui_feedback_add (fd->ui, "Error : try setting an output pipe.\n");
     return;
   }
-  if (fd->output) gst_object_unref (GST_OBJECT (fd->output));
+  if (fd->output)
+    gst_object_unref (GST_OBJECT (fd->output));
   fd->output = GST_ELEMENT (gst_parse_launch (fd->output_pipe, &error));
-  if (error)
-  {
-    ui_feedback_add (fd->ui, "Error : parsing output pipeline : %s\n", 
-                    error->message);
+  if (error) {
+    ui_feedback_add (fd->ui, "Error : parsing output pipeline : %s\n",
+       error->message);
     g_error_free (error);
     return;
   }
 
   /* try to create filter */
-  if (fd->filter) gst_object_unref (GST_OBJECT (fd->filter));
+  if (fd->filter)
+    gst_object_unref (GST_OBJECT (fd->filter));
   fd->filter = gst_element_factory_make (fd->filter_element, "filter");
-  if (fd->filter == NULL)
-  {
+  if (fd->filter == NULL) {
     ui_feedback_add (fd->ui, "Error : could not create element %s\n",
-                    fd->filter_element);
+       fd->filter_element);
     return;
   }
 
@@ -360,35 +351,33 @@ cb_parse_clicked (GtkButton *button, gpointer *user_data)
   fd->pipeline = gst_thread_new ("toplevel");
 
   /* add the players to it */
-  gst_bin_add_many (GST_BIN (fd->pipeline), 
-                    fd->input, fd->filter, 
-                   fd->output, NULL);
+  gst_bin_add_many (GST_BIN (fd->pipeline),
+      fd->input, fd->filter, fd->output, NULL);
 
   /* connect filter to input and output bin */
-  src_pad = gst_bin_find_unconnected_pad (GST_BIN (fd->input), GST_PAD_SRC, 
-                                          "source");
-  if (src_pad == NULL)
-  {
-    ui_feedback_add (fd->ui, 
-                    "Error : could not find an unconnected source pad !\n");
+  src_pad = gst_bin_find_unconnected_pad (GST_BIN (fd->input), GST_PAD_SRC,
+      "source");
+  if (src_pad == NULL) {
+    ui_feedback_add (fd->ui,
+       "Error : could not find an unconnected source pad !\n");
     return;
   }
-  sink_pad = gst_bin_find_unconnected_pad (GST_BIN (fd->output), GST_PAD_SINK, 
-                                          "sink");
-  if (sink_pad == NULL)
-  {
-    ui_feedback_add (fd->ui, 
-                    "Error : could not find an unconnected sink pad !\n");
+  sink_pad = gst_bin_find_unconnected_pad (GST_BIN (fd->output), GST_PAD_SINK,
+      "sink");
+  if (sink_pad == NULL) {
+    ui_feedback_add (fd->ui,
+       "Error : could not find an unconnected sink pad !\n");
     return;
   }
   gst_element_add_pad (fd->input, src_pad);
   gst_element_add_pad (fd->output, sink_pad);
 
   gst_element_link_many (fd->input, fd->filter, fd->output, NULL);
-  
-  if (fd->pipe_string) g_free (fd->pipe_string);
+
+  if (fd->pipe_string)
+    g_free (fd->pipe_string);
   fd->pipe_string = g_strdup_printf ("%s ! %s ! %s", fd->input_pipe,
-                                     fd->filter_element, fd->output_pipe);
+      fd->filter_element, fd->output_pipe);
   g_print ("Pipeline : %s\n", fd->pipe_string);
   ui_feedback_add (fd->ui, "Complete parsed pipeline: %s\n", fd->pipe_string);
 
@@ -404,12 +393,12 @@ get_filter_choices (void)
   choices = g_list_append (choices, "volume");
   choices = g_list_append (choices, "ladspa_lpf");
   choices = g_list_append (choices, "ladspa_hpf");
-  
+
   return choices;
 }
 
 void
-init_data (_filter_data_t *fd)
+init_data (_filter_data_t * fd)
 {
   fd->input_pipe = NULL;
   fd->output_pipe = NULL;
@@ -426,11 +415,11 @@ init_data (_filter_data_t *fd)
 }
 
 void
-create_ui (_filter_ui_t *fui, _filter_data_t *fd)
+create_ui (_filter_ui_t * fui, _filter_data_t * fd)
 {
   GtkWidget *widget;           /* temporary widget */
   GtkWidget *vbox;             /* temporary vbox */
-    
+
   g_print ("DEBUG: creating top-level window\n");
   fui->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   widget = gtk_vbox_new (FALSE, 0);
@@ -452,22 +441,22 @@ create_ui (_filter_ui_t *fui, _filter_data_t *fd)
   fui->parse = gtk_button_new_with_label ("Parse");
   gtk_container_add (GTK_CONTAINER (fui->buttons), fui->parse);
   g_signal_connect (G_OBJECT (fui->parse), "clicked",
-                    G_CALLBACK (cb_parse_clicked), fd);
+      G_CALLBACK (cb_parse_clicked), fd);
   fui->play = gtk_button_new_with_label ("Play");
   gtk_container_add (GTK_CONTAINER (fui->buttons), fui->play);
   g_signal_connect (G_OBJECT (fui->play), "clicked",
-                    G_CALLBACK (cb_play_clicked), fd);
+      G_CALLBACK (cb_play_clicked), fd);
   fui->stop = gtk_button_new_with_label ("Stop");
   gtk_container_add (GTK_CONTAINER (fui->buttons), fui->stop);
   g_signal_connect (G_OBJECT (fui->stop), "clicked",
-                    G_CALLBACK (cb_stop_clicked), fd);
+      G_CALLBACK (cb_stop_clicked), fd);
 
   /* feedback widget */
   fui->fb_buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (fui->feedback));
-  gtk_text_buffer_set_text (fui->fb_buffer, 
-      "Hello, and welcome to the GStreamer filter demo app !\n"\
+  gtk_text_buffer_set_text (fui->fb_buffer,
+      "Hello, and welcome to the GStreamer filter demo app !\n"
       "I'll be your feedback window for today.\n", -1);
-  
+
   /* selection widget */
   vbox = gtk_vbox_new (FALSE, 0);
   widget = gtk_label_new ("Input Pipe");
@@ -476,8 +465,8 @@ create_ui (_filter_ui_t *fui, _filter_data_t *fd)
   gtk_entry_set_text (GTK_ENTRY (fui->input), "sinesrc");
   gtk_container_add (GTK_CONTAINER (vbox), fui->input);
   gtk_container_add (GTK_CONTAINER (fui->selection), vbox);
-  g_signal_connect (G_OBJECT (fui->input), "activate", 
-                    G_CALLBACK (cb_entry_activate), NULL);
+  g_signal_connect (G_OBJECT (fui->input), "activate",
+      G_CALLBACK (cb_entry_activate), NULL);
 
   vbox = gtk_vbox_new (FALSE, 0);
   widget = gtk_label_new ("Filter");
@@ -491,18 +480,18 @@ create_ui (_filter_ui_t *fui, _filter_data_t *fd)
   widget = gtk_label_new ("Output Pipe");
   gtk_container_add (GTK_CONTAINER (vbox), widget);
   fui->output = gtk_entry_new ();
-  gtk_entry_set_text (GTK_ENTRY (fui->output), "osssink fragment=1572872"); /* fixme: gconf default ? */
+  gtk_entry_set_text (GTK_ENTRY (fui->output), "osssink fragment=1572872");    /* fixme: gconf default ? */
   gtk_container_add (GTK_CONTAINER (vbox), fui->output);
   gtk_container_add (GTK_CONTAINER (fui->selection), vbox);
-  g_signal_connect (G_OBJECT (fui->output), "activate", 
-                    G_CALLBACK (cb_entry_activate), NULL);
+  g_signal_connect (G_OBJECT (fui->output), "activate",
+      G_CALLBACK (cb_entry_activate), NULL);
 
   /* control widget is dynamically generated */
   /*
-  g_print ("DEBUG: labeling control area.\n");
-  widget = gtk_label_new ("This is the big control area.");
-  gtk_container_add (GTK_CONTAINER (fui->control), widget);
-  */
+     g_print ("DEBUG: labeling control area.\n");
+     widget = gtk_label_new ("This is the big control area.");
+     gtk_container_add (GTK_CONTAINER (fui->control), widget);
+   */
 }
 
 
@@ -511,8 +500,8 @@ main (int argc, char *argv[])
 {
   _filter_data_t filter_data;
   _filter_ui_t filter_ui;
-  
-  
+
+
   gtk_init (&argc, &argv);
   gst_init (&argc, &argv);
   gst_control_init (&argc, &argv);
@@ -524,7 +513,6 @@ main (int argc, char *argv[])
   gtk_widget_show_all (filter_ui.window);
 
   gtk_main ();
-  
+
   return 0;
 }
-
index 32001a9..3272778 100644 (file)
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #include <gst/play/play.h>
 
 static GMainLoop *loop = NULL;
 static gint64 length = 0;
 
 static void
-print_tag (const GstTagList *list, const gchar *tag, gpointer unused)
+print_tag (const GstTagList * list, const gchar * tag, gpointer unused)
 {
   gint i, count;
 
@@ -31,14 +31,14 @@ print_tag (const GstTagList *list, const gchar *tag, gpointer unused)
 
   for (i = 0; i < count; i++) {
     gchar *str;
-    
+
     if (gst_tag_get_type (tag) == G_TYPE_STRING) {
       g_assert (gst_tag_list_get_string_index (list, tag, i, &str));
     } else {
-      str = g_strdup_value_contents (
-             gst_tag_list_get_value_index (list, tag, i));
+      str =
+         g_strdup_value_contents (gst_tag_list_get_value_index (list, tag, i));
     }
-  
+
     if (i == 0) {
       g_print ("%15s: %s\n", gst_tag_get_nick (tag), str);
     } else {
@@ -50,46 +50,46 @@ print_tag (const GstTagList *list, const gchar *tag, gpointer unused)
 }
 
 static void
-got_found_tag (GstPlay *play,GstElement *source, GstTagList *tag_list)
+got_found_tag (GstPlay * play, GstElement * source, GstTagList * tag_list)
 {
   gst_tag_list_foreach (tag_list, print_tag, NULL);
 }
 
 static void
-got_time_tick (GstPlay *play, gint64 time_nanos)
+got_time_tick (GstPlay * play, gint64 time_nanos)
 {
   g_print ("time tick %f\n", time_nanos / (float) GST_SECOND);
 }
 
 static void
-got_stream_length (GstPlay *play, gint64 length_nanos)
+got_stream_length (GstPlay * play, gint64 length_nanos)
 {
   g_print ("got length %llu\n", length_nanos);
   length = length_nanos;
 }
 
 static void
-got_video_size (GstPlay *play, gint width, gint height)
+got_video_size (GstPlay * play, gint width, gint height)
 {
   g_print ("got video size %d, %d\n", width, height);
 }
 
 static void
-got_eos (GstPlay *play)
+got_eos (GstPlay * play)
 {
   g_print ("End Of Stream\n");
   g_main_loop_quit (loop);
 }
 
 static gboolean
-seek_timer (GstPlay *play)
+seek_timer (GstPlay * play)
 {
   gst_play_seek_to_time (play, length / 2);
   return FALSE;
 }
 
 static gboolean
-idle_iterate (GstPlay *play)
+idle_iterate (GstPlay * play)
 {
   gst_bin_iterate (GST_BIN (play));
   return (GST_STATE (GST_ELEMENT (play)) == GST_STATE_PLAYING);
@@ -114,8 +114,7 @@ main (int argc, char *argv[])
 
   /* Creating the GstPlay object */
   play = gst_play_new (&error);
-  if (error)
-  {
+  if (error) {
     g_print ("Error: could not create play object:\n%s\n", error->message);
     g_error_free (error);
     return 1;
@@ -140,17 +139,16 @@ main (int argc, char *argv[])
   /* gst_xml_write_file (GST_ELEMENT (play), stdout); */
 
   g_signal_connect (G_OBJECT (play), "time_tick",
-                    G_CALLBACK (got_time_tick), NULL);
+      G_CALLBACK (got_time_tick), NULL);
   g_signal_connect (G_OBJECT (play), "stream_length",
-                    G_CALLBACK (got_stream_length), NULL);
+      G_CALLBACK (got_stream_length), NULL);
   g_signal_connect (G_OBJECT (play), "have_video_size",
-                    G_CALLBACK (got_video_size), NULL);
+      G_CALLBACK (got_video_size), NULL);
   g_signal_connect (G_OBJECT (play), "found_tag",
-                    G_CALLBACK (got_found_tag), NULL);
+      G_CALLBACK (got_found_tag), NULL);
   g_signal_connect (G_OBJECT (play), "error",
-                    G_CALLBACK (gst_element_default_error), NULL);
-  g_signal_connect (G_OBJECT (play), "eos",
-                    G_CALLBACK (got_eos), NULL);
+      G_CALLBACK (gst_element_default_error), NULL);
+  g_signal_connect (G_OBJECT (play), "eos", G_CALLBACK (got_eos), NULL);
 
   /* Change state to PLAYING */
   gst_element_set_state (GST_ELEMENT (play), GST_STATE_PLAYING);
@@ -163,9 +161,9 @@ main (int argc, char *argv[])
   g_print ("setting pipeline to ready\n");
 
   gst_element_set_state (GST_ELEMENT (play), GST_STATE_READY);
-  
+
   /* unref 
-  gst_object_unref (GST_OBJECT (play)); */
+     gst_object_unref (GST_OBJECT (play)); */
 
   exit (0);
 }
index 29b8928..48a7ca2 100644 (file)
@@ -24,26 +24,26 @@ static gboolean verbose = FALSE;
 static gboolean quiet = FALSE;
 
 static void
-entry_added (GstIndex *index, GstIndexEntry *entry)
+entry_added (GstIndex * index, GstIndexEntry * entry)
 {
   switch (entry->type) {
     case GST_INDEX_ENTRY_ID:
-      g_print ("id %d describes writer %s\n", entry->id, 
-                     GST_INDEX_ID_DESCRIPTION (entry));
+      g_print ("id %d describes writer %s\n", entry->id,
+         GST_INDEX_ID_DESCRIPTION (entry));
       break;
     case GST_INDEX_ENTRY_FORMAT:
-      g_print ("%d: registered format %d for %s\n", entry->id, 
-                     GST_INDEX_FORMAT_FORMAT (entry),
-                     GST_INDEX_FORMAT_KEY (entry));
+      g_print ("%d: registered format %d for %s\n", entry->id,
+         GST_INDEX_FORMAT_FORMAT (entry), GST_INDEX_FORMAT_KEY (entry));
       break;
     case GST_INDEX_ENTRY_ASSOCIATION:
     {
       gint i;
 
-      g_print ("%p, %d: %08x ", entry, entry->id, GST_INDEX_ASSOC_FLAGS (entry));
+      g_print ("%p, %d: %08x ", entry, entry->id,
+         GST_INDEX_ASSOC_FLAGS (entry));
       for (i = 0; i < GST_INDEX_NASSOCS (entry); i++) {
-       g_print ("%d %lld ", GST_INDEX_ASSOC_FORMAT (entry, i), 
-                            GST_INDEX_ASSOC_VALUE (entry, i));
+       g_print ("%d %lld ", GST_INDEX_ASSOC_FORMAT (entry, i),
+           GST_INDEX_ASSOC_VALUE (entry, i));
       }
       g_print ("\n");
       break;
@@ -55,15 +55,15 @@ entry_added (GstIndex *index, GstIndexEntry *entry)
 
 typedef struct
 {
-  const gchar   *padname;
-  GstPad        *target;
-  GstElement    *bin;
-  GstElement    *pipeline;
-  GstIndex      *index;
+  const gchar *padname;
+  GstPad *target;
+  GstElement *bin;
+  GstElement *pipeline;
+  GstIndex *index;
 } dyn_link;
 
 static void
-dynamic_link (GstPadTemplate *templ, GstPad *newpad, gpointer data)
+dynamic_link (GstPadTemplate * templ, GstPad * newpad, gpointer data)
 {
   dyn_link *link = (dyn_link *) data;
 
@@ -77,27 +77,25 @@ dynamic_link (GstPadTemplate *templ, GstPad *newpad, gpointer data)
 }
 
 static void
-setup_dynamic_linking (GstElement *pipeline, 
-                         GstElement *element, 
-                         const gchar *padname, 
-                         GstPad *target, 
-                         GstElement *bin,
-                         GstIndex *index)
+setup_dynamic_linking (GstElement * pipeline,
+    GstElement * element,
+    const gchar * padname, GstPad * target, GstElement * bin, GstIndex * index)
 {
   dyn_link *link;
 
   link = g_new0 (dyn_link, 1);
-  link->padname      = g_strdup (padname);
-  link->target       = target;
-  link->bin          = bin;
-  link->pipeline     = pipeline;
-  link->index        = index;
-
-  g_signal_connect (G_OBJECT (element), "new_pad", G_CALLBACK (dynamic_link), link);
+  link->padname = g_strdup (padname);
+  link->target = target;
+  link->bin = bin;
+  link->pipeline = pipeline;
+  link->index = index;
+
+  g_signal_connect (G_OBJECT (element), "new_pad", G_CALLBACK (dynamic_link),
+      link);
 }
 
-static GstElement*
-make_mpeg_systems_pipeline (const gchar *path, GstIndex *index)
+static GstElement *
+make_mpeg_systems_pipeline (const gchar * path, GstIndex * index)
 {
   GstElement *pipeline;
   GstElement *src, *demux;
@@ -117,12 +115,12 @@ make_mpeg_systems_pipeline (const gchar *path, GstIndex *index)
   }
 
   gst_element_link_pads (src, "src", demux, "sink");
-  
+
   return pipeline;
 }
 
-static GstElement*
-make_mpeg_decoder_pipeline (const gchar *path, GstIndex *index)
+static GstElement *
+make_mpeg_decoder_pipeline (const gchar * path, GstIndex * index)
 {
   GstElement *pipeline;
   GstElement *src, *demux;
@@ -145,29 +143,27 @@ make_mpeg_decoder_pipeline (const gchar *path, GstIndex *index)
   video_decoder = gst_element_factory_make ("mpeg2dec", "video_decoder");
 
   gst_bin_add (GST_BIN (video_bin), video_decoder);
-  
-  setup_dynamic_linking (pipeline, demux, "video_00", 
-                        gst_element_get_pad (video_decoder, "sink"),
-                        video_bin, index);
+
+  setup_dynamic_linking (pipeline, demux, "video_00",
+      gst_element_get_pad (video_decoder, "sink"), video_bin, index);
 
   audio_bin = gst_bin_new ("audio_bin");
   audio_decoder = gst_element_factory_make ("mad", "audio_decoder");
 
-  setup_dynamic_linking (pipeline, demux, "audio_00", 
-                        gst_element_get_pad (audio_decoder, "sink"),
-                        audio_bin, index);
+  setup_dynamic_linking (pipeline, demux, "audio_00",
+      gst_element_get_pad (audio_decoder, "sink"), audio_bin, index);
 
   gst_bin_add (GST_BIN (audio_bin), audio_decoder);
 
   if (index) {
     gst_element_set_index (pipeline, index);
   }
-  
+
   return pipeline;
 }
 
 static void
-print_progress (GstPad *pad)
+print_progress (GstPad * pad)
 {
   gint i = 0;
   gchar status[53];
@@ -181,14 +177,14 @@ print_progress (GstPad *pad)
   format = GST_FORMAT_PERCENT;
   res = gst_pad_query (pad, GST_QUERY_POSITION, &format, &value);
   if (res) {
-    percent = value / (2 * GST_FORMAT_PERCENT_SCALE); 
+    percent = value / (2 * GST_FORMAT_PERCENT_SCALE);
   }
-  
+
   for (i = 0; i < percent; i++) {
-    status[i+1] = '=';
+    status[i + 1] = '=';
   }
   for (i = percent; i < 50; i++) {
-    status[i+1] = ' ';
+    status[i + 1] = ' ';
   }
   status[51] = '|';
   status[52] = 0;
@@ -196,8 +192,8 @@ print_progress (GstPad *pad)
   g_print ("%s\r", status);
 }
 
-gint 
-main (gint argc, gchar *argv[])
+gint
+main (gint argc, gchar * argv[])
 {
   GstElement *pipeline;
   GstElement *src;
@@ -208,27 +204,28 @@ main (gint argc, gchar *argv[])
   gboolean res;
   GstElement *sink;
   struct poptOption options[] = {
-    { "verbose",  'v',  POPT_ARG_NONE|POPT_ARGFLAG_STRIP,   &verbose,   0,
-      "Print index entries", NULL},
-    { "quiet",  'q',  POPT_ARG_NONE|POPT_ARGFLAG_STRIP,   &quiet,   0,
-      "don't print progress bar", NULL},
-      POPT_TABLEEND
-    };
+    {"verbose", 'v', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &verbose, 0,
+       "Print index entries", NULL},
+    {"quiet", 'q', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &quiet, 0,
+       "don't print progress bar", NULL},
+    POPT_TABLEEND
+  };
 
   if (!gst_init_check_with_popt_table (&argc, &argv, options) || argc < 3) {
-    g_print ("usage: %s [-v] <type> <filename>  \n" 
-            "  type can be: 0 mpeg_systems\n"
-            "               1 mpeg_decoder\n"
-            "  -v : report added index entries\n"
-            "  -q : don't print progress\n" , argv[0]);
+    g_print ("usage: %s [-v] <type> <filename>  \n"
+       "  type can be: 0 mpeg_systems\n"
+       "               1 mpeg_decoder\n"
+       "  -v : report added index entries\n"
+       "  -q : don't print progress\n", argv[0]);
     return -1;
   }
 
   /* create index that elements can fill */
   index = gst_index_factory_make ("memindex");
   if (index) {
-    if (verbose) 
-      g_signal_connect (G_OBJECT (index), "entry_added", G_CALLBACK (entry_added), NULL);
+    if (verbose)
+      g_signal_connect (G_OBJECT (index), "entry_added",
+         G_CALLBACK (entry_added), NULL);
 
     g_object_set (G_OBJECT (index), "resolver", 1, NULL);
   }
@@ -247,10 +244,10 @@ main (gint argc, gchar *argv[])
   }
 
   /* setup some default info/error handlers */
-  g_signal_connect (G_OBJECT (pipeline), "deep_notify", 
-                   G_CALLBACK (gst_element_default_deep_notify), NULL);
-  g_signal_connect (G_OBJECT (pipeline), "error", 
-                   G_CALLBACK (gst_element_default_error), NULL);
+  g_signal_connect (G_OBJECT (pipeline), "deep_notify",
+      G_CALLBACK (gst_element_default_deep_notify), NULL);
+  g_signal_connect (G_OBJECT (pipeline), "error",
+      G_CALLBACK (gst_element_default_error), NULL);
 
   /* get a pad to perform progress reporting on */
   src = gst_bin_get_by_name (GST_BIN (pipeline), "src");
@@ -259,7 +256,7 @@ main (gint argc, gchar *argv[])
   /* prepare for iteration */
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
 
-  g_print ("indexing %s...\n", argv [2]);
+  g_print ("indexing %s...\n", argv[2]);
   /* run through the complete stream to let it generate an index */
   while (gst_bin_iterate (GST_BIN (pipeline))) {
     if (!quiet && (count % 1000 == 0)) {
@@ -285,24 +282,23 @@ main (gint argc, gchar *argv[])
     gint total_tm;
 
     gst_index_get_writer_id (index, GST_OBJECT (src), &id);
-    
+
     entry = gst_index_get_assoc_entry (index, id, GST_INDEX_LOOKUP_BEFORE, 0,
-                                      GST_FORMAT_TIME, G_MAXINT64);
+       GST_FORMAT_TIME, G_MAXINT64);
     g_assert (entry);
     gst_index_entry_assoc_map (entry, GST_FORMAT_TIME, &result);
     total_tm = result * 60 / GST_SECOND;
     g_print ("total time = %.2fs\n", total_tm / 60.0);
   }
-  
+
   pad = gst_element_get_pad (src, "src");
   sink = gst_element_factory_make ("fakesink", "sink");
   gst_element_link_pads (src, "src", sink, "sink");
   gst_bin_add (GST_BIN (pipeline), sink);
 
-  g_print ("seeking %s...\n", argv [2]);
+  g_print ("seeking %s...\n", argv[2]);
   event = gst_event_new_seek (GST_FORMAT_TIME |
-                              GST_SEEK_METHOD_SET |
-                              GST_SEEK_FLAG_FLUSH, 5 * GST_SECOND);
+      GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, 5 * GST_SECOND);
 
   res = gst_pad_send_event (pad, event);
   if (!res) {
@@ -322,4 +318,3 @@ main (gint argc, gchar *argv[])
 
   return 1;
 }
-
index 646c121..e750f34 100644 (file)
@@ -3,7 +3,7 @@
 #include <string.h>
 
 static void
-get_position_info (GstElement *cdparanoia)
+get_position_info (GstElement * cdparanoia)
 {
   GstFormat track_format;
   const GstFormat *formats;
@@ -24,14 +24,13 @@ get_position_info (GstElement *cdparanoia)
     definition = gst_format_get_details (*formats);
 
     format = *formats;
-    res = gst_pad_query (pad, GST_QUERY_POSITION,
-                        &format, &position);
+    res = gst_pad_query (pad, GST_QUERY_POSITION, &format, &position);
 
     if (format == GST_FORMAT_TIME) {
       position /= GST_SECOND;
-      g_print ("%s: %lld:%02lld", definition->nick, position/60, position%60);
-    }
-    else {
+      g_print ("%s: %lld:%02lld", definition->nick, position / 60,
+         position % 60);
+    else {
       g_print ("%s: %lld", definition->nick, position);
     }
 
@@ -44,7 +43,7 @@ get_position_info (GstElement *cdparanoia)
 }
 
 static void
-get_track_info (GstElement *cdparanoia)
+get_track_info (GstElement * cdparanoia)
 {
   GstFormat track_format;
   gint64 total_tracks = 0, total_time = 0;
@@ -52,7 +51,7 @@ get_track_info (GstElement *cdparanoia)
   const GstFormat *formats;
   gint i;
   gint64 time_count = 0;
-  
+
   track_format = gst_format_get_by_nick ("track");
   g_assert (track_format != 0);
 
@@ -66,26 +65,24 @@ get_track_info (GstElement *cdparanoia)
     gint64 total;
     GstFormat format;
     gboolean res;
-    
+
     definition = gst_format_get_details (*formats);
 
     format = *formats;
-    res = gst_pad_query (pad, GST_QUERY_TOTAL,
-                        &format, &total);
+    res = gst_pad_query (pad, GST_QUERY_TOTAL, &format, &total);
     if (res) {
       if (format == GST_FORMAT_TIME) {
        total /= GST_SECOND;
-        g_print ("%s total: %lld:%02lld\n", definition->nick, total/60, total%60);
-      }
-      else
-        g_print ("%s total: %lld\n", definition->nick, total);
+       g_print ("%s total: %lld:%02lld\n", definition->nick, total / 60,
+           total % 60);
+      else
+       g_print ("%s total: %lld\n", definition->nick, total);
 
       if (format == track_format)
        total_tracks = total;
       else if (format == GST_FORMAT_TIME)
        total_time = total;
-    }
-    else
+    } else
       g_print ("failed to get %s total\n", definition->nick);
 
     formats++;
@@ -102,11 +99,9 @@ get_track_info (GstElement *cdparanoia)
       GstFormat format;
 
       format = GST_FORMAT_TIME;
-      res = gst_pad_convert (pad, track_format, i,
-                            &format, &time);
+      res = gst_pad_convert (pad, track_format, i, &format, &time);
       time /= GST_SECOND;
-    }
-    else {
+    } else {
       time = total_time;
       res = TRUE;
     }
@@ -117,14 +112,12 @@ get_track_info (GstElement *cdparanoia)
       if (i > 0) {
        gint64 length = time - time_count;
 
-        g_print ("track %d: %lld:%02lld -> %lld:%02lld, length: %lld:%02lld\n",
-                i-1,
-                time_count / 60, time_count % 60,
-                time / 60, time % 60,
-                length / 60, length % 60);
+       g_print ("track %d: %lld:%02lld -> %lld:%02lld, length: %lld:%02lld\n",
+           i - 1,
+           time_count / 60, time_count % 60,
+           time / 60, time % 60, length / 60, length % 60);
       }
-    }
-    else {
+    } else {
       g_print ("could not get time for track %d\n", i);
     }
 
@@ -161,7 +154,7 @@ main (int argc, char **argv)
   gst_element_link_pads (cdparanoia, "src", osssink, "sink");
 
   g_signal_connect (G_OBJECT (pipeline), "deep_notify",
-                 G_CALLBACK (gst_element_default_deep_notify), NULL);
+      G_CALLBACK (gst_element_default_deep_notify), NULL);
 
   gst_element_set_state (pipeline, GST_STATE_PAUSED);
 
@@ -177,9 +170,7 @@ main (int argc, char **argv)
   g_print ("playing from track 3\n");
   /* seek to track3 */
   event = gst_event_new_seek (track_format |
-                             GST_SEEK_METHOD_SET |
-                             GST_SEEK_FLAG_FLUSH,
-                             3);
+      GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, 3);
 
   res = gst_pad_send_event (pad, event);
   if (!res)
@@ -198,9 +189,8 @@ main (int argc, char **argv)
   g_print ("\nplaying from second 25 to second 29\n");
   /* seek to some seconds */
   event = gst_event_new_segment_seek (GST_FORMAT_TIME |
-                                     GST_SEEK_METHOD_SET |
-                                     GST_SEEK_FLAG_FLUSH,
-                                     25 * GST_SECOND, 29 * GST_SECOND);
+      GST_SEEK_METHOD_SET |
+      GST_SEEK_FLAG_FLUSH, 25 * GST_SECOND, 29 * GST_SECOND);
   res = gst_pad_send_event (pad, event);
   if (!res)
     g_warning ("seek failed");
index 6ce5547..1e823cc 100644 (file)
@@ -15,11 +15,11 @@ static guint update_id;
 
 #define UPDATE_INTERVAL 500
 
-static GstElement*
-make_cdaudio_pipeline (void) 
+static GstElement *
+make_cdaudio_pipeline (void)
 {
   GstElement *cdaudio;
-  
+
   cdaudio = gst_element_factory_make ("cdaudio", "cdaudio");
   g_assert (cdaudio != NULL);
 
@@ -28,9 +28,8 @@ make_cdaudio_pipeline (void)
   return cdaudio;
 }
 
-static gchar*
-format_value (GtkScale *scale,
-             gdouble   value)
+static gchar *
+format_value (GtkScale * scale, gdouble value)
 {
   gint64 real;
   gint64 seconds;
@@ -41,9 +40,7 @@ format_value (GtkScale *scale,
   subseconds = (gint64) real / (GST_SECOND / 100);
 
   return g_strdup_printf ("%02lld:%02lld:%02lld",
-                          seconds/60, 
-                         seconds%60, 
-                         subseconds%100);
+      seconds / 60, seconds % 60, subseconds % 100);
 }
 
 typedef struct
@@ -52,13 +49,12 @@ typedef struct
   const GstFormat format;
 } seek_format;
 
-static seek_format seek_formats[] = 
-{
-  { "tim",  GST_FORMAT_TIME    },
-  { "byt",  GST_FORMAT_BYTES   },
-  { "buf",  GST_FORMAT_BUFFERS },
-  { "def",  GST_FORMAT_DEFAULT },
-  { NULL, 0 }, 
+static seek_format seek_formats[] = {
+  {"tim", GST_FORMAT_TIME},
+  {"byt", GST_FORMAT_BYTES},
+  {"buf", GST_FORMAT_BUFFERS},
+  {"def", GST_FORMAT_DEFAULT},
+  {NULL, 0},
 };
 
 
@@ -80,10 +76,9 @@ query_durations ()
       format = seek_formats[i].format;
       res = gst_element_query (element, GST_QUERY_TOTAL, &format, &value);
       if (res) {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
       i++;
     }
@@ -110,10 +105,9 @@ query_positions ()
       format = seek_formats[i].format;
       res = gst_element_query (element, GST_QUERY_POSITION, &format, &value);
       if (res) {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
       i++;
     }
@@ -123,7 +117,7 @@ query_positions ()
 }
 
 static gboolean
-update_scale (gpointer data) 
+update_scale (gpointer data)
 {
   GstClock *clock;
   guint64 position = 0;
@@ -134,6 +128,7 @@ update_scale (gpointer data)
 
   if (seekable_elements) {
     GstElement *element = GST_ELEMENT (seekable_elements->data);
+
     gst_element_query (element, GST_QUERY_TOTAL, &format, &duration);
   }
   if (clock)
@@ -141,7 +136,8 @@ update_scale (gpointer data)
 
   if (stats) {
     if (clock)
-      g_print ("clock:                  %13llu  (%s)\n", position, gst_object_get_name (GST_OBJECT (clock)));
+      g_print ("clock:                  %13llu  (%s)\n", position,
+         gst_object_get_name (GST_OBJECT (clock)));
     query_durations ();
     query_positions ();
   }
@@ -167,7 +163,7 @@ iterate (gpointer data)
 }
 
 static gboolean
-start_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+start_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
 {
   gst_element_set_state (pipeline, GST_STATE_PAUSED);
   gtk_timeout_remove (update_id);
@@ -176,7 +172,7 @@ start_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 }
 
 static gboolean
-stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+stop_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
 {
   gint64 real = gtk_range_get_value (GTK_RANGE (widget)) * duration / 100;
   gboolean res;
@@ -188,8 +184,7 @@ stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 
     g_print ("seek to %lld on element %s\n", real, GST_ELEMENT_NAME (seekable));
     s_event = gst_event_new_seek (GST_FORMAT_TIME |
-                                 GST_SEEK_METHOD_SET |
-                                 GST_SEEK_FLAG_FLUSH, real);
+       GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, real);
 
     res = gst_element_send_event (seekable, s_event);
 
@@ -199,7 +194,8 @@ stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
   if (!GST_FLAG_IS_SET (pipeline, GST_BIN_SELF_SCHEDULABLE))
     gtk_idle_add ((GtkFunction) iterate, pipeline);
-  update_id = gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
+  update_id =
+      gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
 
   return FALSE;
 }
@@ -211,7 +207,8 @@ play_cb (GtkButton * button, gpointer data)
     gst_element_set_state (pipeline, GST_STATE_PLAYING);
     if (!GST_FLAG_IS_SET (pipeline, GST_BIN_SELF_SCHEDULABLE))
       gtk_idle_add ((GtkFunction) iterate, pipeline);
-    update_id = gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
+    update_id =
+       gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
   }
 }
 
@@ -236,22 +233,23 @@ stop_cb (GtkButton * button, gpointer data)
 int
 main (int argc, char **argv)
 {
-  GtkWidget *window, *hbox, *vbox, 
-            *play_button, *pause_button, *stop_button, 
-           *hscale;
+  GtkWidget *window, *hbox, *vbox,
+      *play_button, *pause_button, *stop_button, *hscale;
   struct poptOption options[] = {
-    {"stats",  's',  POPT_ARG_NONE|POPT_ARGFLAG_STRIP,   &stats,   0,
-         "Show element stats", NULL},
-     POPT_TABLEEND
-    };
+    {"stats", 's', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &stats, 0,
+       "Show element stats", NULL},
+    POPT_TABLEEND
+  };
 
   gst_init_with_popt_table (&argc, &argv, options);
   gtk_init (&argc, &argv);
 
   pipeline = make_cdaudio_pipeline ();
 
-  g_signal_connect (pipeline, "deep_notify", G_CALLBACK (gst_element_default_deep_notify), NULL);
-  g_signal_connect (pipeline, "error", G_CALLBACK (gst_element_default_error), NULL);
+  g_signal_connect (pipeline, "deep_notify",
+      G_CALLBACK (gst_element_default_deep_notify), NULL);
+  g_signal_connect (pipeline, "error", G_CALLBACK (gst_element_default_error),
+      NULL);
 
   /* initialize gui elements ... */
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -261,17 +259,18 @@ main (int argc, char **argv)
   pause_button = gtk_button_new_with_label ("pause");
   stop_button = gtk_button_new_with_label ("stop");
 
-  adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, 100.0, 0.1, 1.0, 1.0));
+  adjustment =
+      GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, 100.0, 0.1, 1.0, 1.0));
   hscale = gtk_hscale_new (adjustment);
   gtk_scale_set_digits (GTK_SCALE (hscale), 2);
   gtk_range_set_update_policy (GTK_RANGE (hscale), GTK_UPDATE_CONTINUOUS);
 
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "button_press_event", G_CALLBACK (start_seek), pipeline);
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "button_release_event", G_CALLBACK (stop_seek), pipeline);
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "format_value", G_CALLBACK (format_value), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "button_press_event", G_CALLBACK (start_seek), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "button_release_event", G_CALLBACK (stop_seek), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "format_value", G_CALLBACK (format_value), pipeline);
 
   /* do the packing stuff ... */
   gtk_window_set_default_size (GTK_WINDOW (window), 96, 96);
@@ -283,9 +282,12 @@ main (int argc, char **argv)
   gtk_box_pack_start (GTK_BOX (vbox), hscale, TRUE, TRUE, 2);
 
   /* connect things ... */
-  g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), pipeline);
-  g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb), pipeline);
-  g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), pipeline);
+  g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb),
+      pipeline);
+  g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb),
+      pipeline);
+  g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb),
+      pipeline);
   g_signal_connect (G_OBJECT (window), "delete_event", gtk_main_quit, NULL);
 
   /* show the gui. */
index 2ad1ca7..34a6958 100644 (file)
@@ -25,26 +25,25 @@ static guint update_id;
 
 typedef struct
 {
-  const gchar  *padname;
-  GstPad       *target;
-  GstElement   *bin;
+  const gchar *padname;
+  GstPad *target;
+  GstElement *bin;
 } dyn_link;
 
 static GstElement *
-gst_element_factory_make_or_warn (gchar *type, gchar *name)
+gst_element_factory_make_or_warn (gchar * type, gchar * name)
 {
   GstElement *element = gst_element_factory_make (type, name);
 
   if (!element) {
-    g_warning ("Failed to create element %s of type %s",
-              name, type);
+    g_warning ("Failed to create element %s of type %s", name, type);
   }
 
   return element;
 }
 
 static void
-dynamic_link (GstPadTemplate *templ, GstPad *newpad, gpointer data)
+dynamic_link (GstPadTemplate * templ, GstPad * newpad, gpointer data)
 {
   dyn_link *connect = (dyn_link *) data;
 
@@ -60,25 +59,27 @@ dynamic_link (GstPadTemplate *templ, GstPad *newpad, gpointer data)
 }
 
 static void
-setup_dynamic_link (GstElement *element, const gchar *padname, GstPad *target, GstElement *bin)
+setup_dynamic_link (GstElement * element, const gchar * padname,
+    GstPad * target, GstElement * bin)
 {
   dyn_link *connect;
 
   connect = g_new0 (dyn_link, 1);
-  connect->padname     = g_strdup (padname);
-  connect->target      = target;
-  connect->bin                 = bin;
+  connect->padname = g_strdup (padname);
+  connect->target = target;
+  connect->bin = bin;
 
-  g_signal_connect (G_OBJECT (element), "new_pad", G_CALLBACK (dynamic_link), connect);
+  g_signal_connect (G_OBJECT (element), "new_pad", G_CALLBACK (dynamic_link),
+      connect);
 }
 
-static GstElement*
-make_mod_pipeline (const gchar *location) 
+static GstElement *
+make_mod_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -103,13 +104,13 @@ make_mod_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_dv_pipeline (const gchar *location) 
+static GstElement *
+make_dv_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink, *videosink;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -140,13 +141,13 @@ make_dv_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_wav_pipeline (const gchar *location) 
+static GstElement *
+make_wav_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -171,13 +172,13 @@ make_wav_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_flac_pipeline (const gchar *location) 
+static GstElement *
+make_flac_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -202,13 +203,13 @@ make_flac_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_sid_pipeline (const gchar *location) 
+static GstElement *
+make_sid_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -233,13 +234,13 @@ make_sid_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_parse_pipeline (const gchar *location) 
+static GstElement *
+make_parse_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *parser, *fakesink;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -265,13 +266,13 @@ make_parse_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_vorbis_pipeline (const gchar *location) 
+static GstElement *
+make_vorbis_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -296,13 +297,13 @@ make_vorbis_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_mp3_pipeline (const gchar *location) 
+static GstElement *
+make_mp3_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *osssink, *queue, *audio_thread;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -335,14 +336,15 @@ make_mp3_pipeline (const gchar *location)
   return pipeline;
 }
 
-static GstElement*
-make_avi_pipeline (const gchar *location) 
+static GstElement *
+make_avi_pipeline (const gchar * location)
 {
   GstElement *pipeline, *audio_bin, *video_bin;
   GstElement *src, *demux, *a_decoder, *v_decoder, *audiosink, *videosink;
-  GstElement *a_queue = NULL, *audio_thread = NULL, *v_queue = NULL, *video_thread = NULL;
+  GstElement *a_queue = NULL, *audio_thread = NULL, *v_queue =
+      NULL, *video_thread = NULL;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -369,12 +371,14 @@ make_avi_pipeline (const gchar *location)
   gst_bin_add (GST_BIN (audio_thread), audiosink);
   gst_element_set_state (audio_bin, GST_STATE_PAUSED);
 
-  setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder, "sink"), audio_bin);
+  setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder,
+         "sink"), audio_bin);
 
   seekable = gst_element_get_pad (a_queue, "src");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
 
   video_bin = gst_bin_new ("v_decoder_bin");
   //v_decoder = gst_element_factory_make_or_warn ("identity", "v_dec");
@@ -395,25 +399,27 @@ make_avi_pipeline (const gchar *location)
 
   gst_element_set_state (video_bin, GST_STATE_PAUSED);
 
-  setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder, "sink"), video_bin);
+  setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder,
+         "sink"), video_bin);
 
   seekable = gst_element_get_pad (v_queue, "src");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
 
   return pipeline;
 }
 
-static GstElement*
-make_mpeg_pipeline (const gchar *location) 
+static GstElement *
+make_mpeg_pipeline (const gchar * location)
 {
   GstElement *pipeline, *audio_bin, *video_bin;
   GstElement *src, *demux, *a_decoder, *v_decoder, *v_filter;
   GstElement *audiosink, *videosink;
   GstElement *a_queue, *audio_thread, *v_queue, *video_thread;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -441,12 +447,14 @@ make_mpeg_pipeline (const gchar *location)
   gst_bin_add (GST_BIN (audio_thread), a_queue);
   gst_bin_add (GST_BIN (audio_thread), audiosink);
 
-  setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder, "sink"), audio_bin);
+  setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder,
+         "sink"), audio_bin);
 
   seekable = gst_element_get_pad (a_queue, "src");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
 
   video_bin = gst_bin_new ("v_decoder_bin");
   v_decoder = gst_element_factory_make_or_warn ("mpeg2dec", "v_dec");
@@ -456,30 +464,32 @@ make_mpeg_pipeline (const gchar *location)
   v_filter = gst_element_factory_make_or_warn ("colorspace", "v_filter");
   videosink = gst_element_factory_make_or_warn ("xvideosink", "v_sink");
   gst_element_link_many (v_decoder, v_queue, v_filter, NULL);
-  
+
   gst_element_link (v_filter, videosink);
   gst_bin_add_many (GST_BIN (video_bin), v_decoder, video_thread, NULL);
   gst_bin_add_many (GST_BIN (video_thread), v_queue, v_filter, videosink, NULL);
 
-  setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder, "sink"), video_bin);
+  setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder,
+         "sink"), video_bin);
 
   seekable = gst_element_get_pad (v_queue, "src");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
 
   return pipeline;
 }
 
-static GstElement*
-make_mpegnt_pipeline (const gchar *location) 
+static GstElement *
+make_mpegnt_pipeline (const gchar * location)
 {
   GstElement *pipeline, *audio_bin, *video_bin;
   GstElement *src, *demux, *a_decoder, *v_decoder, *v_filter;
   GstElement *audiosink, *videosink;
   GstElement *a_queue, *audio_thread;
   GstPad *seekable;
-  
+
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
@@ -508,40 +518,43 @@ make_mpegnt_pipeline (const gchar *location)
   gst_bin_add (GST_BIN (audio_thread), a_queue);
   gst_bin_add (GST_BIN (audio_thread), audiosink);
 
-  setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder, "sink"), audio_bin);
+  setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder,
+         "sink"), audio_bin);
 
   seekable = gst_element_get_pad (a_queue, "src");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
 
   video_bin = gst_bin_new ("v_decoder_bin");
   v_decoder = gst_element_factory_make_or_warn ("mpeg2dec", "v_dec");
   v_filter = gst_element_factory_make_or_warn ("colorspace", "v_filter");
   videosink = gst_element_factory_make_or_warn ("xvideosink", "v_sink");
   gst_element_link_many (v_decoder, v_filter, videosink, NULL);
-  
+
   gst_bin_add_many (GST_BIN (video_bin), v_decoder, v_filter, videosink, NULL);
 
-  setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder, "sink"), video_bin);
+  setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder,
+         "sink"), video_bin);
 
   seekable = gst_element_get_pad (v_decoder, "src");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
 
   return pipeline;
 }
 
-static GstElement*
-make_playerbin_pipeline (const gchar *location) 
+static GstElement *
+make_playerbin_pipeline (const gchar * location)
 {
   return NULL;
 }
 
-static gchar*
-format_value (GtkScale *scale,
-             gdouble   value)
+static gchar *
+format_value (GtkScale * scale, gdouble value)
 {
   gint64 real;
   gint64 seconds;
@@ -552,9 +565,7 @@ format_value (GtkScale *scale,
   subseconds = (gint64) real / (GST_SECOND / 100);
 
   return g_strdup_printf ("%02lld:%02lld:%02lld",
-                          seconds/60, 
-                         seconds%60, 
-                         subseconds%100);
+      seconds / 60, seconds % 60, subseconds % 100);
 }
 
 typedef struct
@@ -563,13 +574,12 @@ typedef struct
   const GstFormat format;
 } seek_format;
 
-static seek_format seek_formats[] = 
-{
-  { "tim",  GST_FORMAT_TIME    },
-  { "byt",  GST_FORMAT_BYTES   },
-  { "buf",  GST_FORMAT_BUFFERS },
-  { "def",  GST_FORMAT_DEFAULT },
-  { NULL, 0 }, 
+static seek_format seek_formats[] = {
+  {"tim", GST_FORMAT_TIME},
+  {"byt", GST_FORMAT_BYTES},
+  {"buf", GST_FORMAT_BUFFERS},
+  {"def", GST_FORMAT_DEFAULT},
+  {NULL, 0},
 };
 
 G_GNUC_UNUSED static void
@@ -588,13 +598,10 @@ query_rates (void)
 
       format = seek_formats[i].format;
 
-      if (gst_pad_convert (pad, GST_FORMAT_TIME, GST_SECOND, 
-                          &format, &value)) 
-      {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+      if (gst_pad_convert (pad, GST_FORMAT_TIME, GST_SECOND, &format, &value)) {
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
 
       i++;
@@ -623,15 +630,14 @@ query_durations ()
       format = seek_formats[i].format;
       res = gst_pad_query (pad, GST_QUERY_TOTAL, &format, &value);
       if (res) {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
       i++;
     }
     g_print (" %s:%s\n", GST_DEBUG_PAD_NAME (pad));
-  
+
     walk = g_list_next (walk);
   }
 }
@@ -654,10 +660,9 @@ query_positions ()
       format = seek_formats[i].format;
       res = gst_pad_query (pad, GST_QUERY_POSITION, &format, &value);
       if (res) {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
       i++;
     }
@@ -668,7 +673,7 @@ query_positions ()
 }
 
 static gboolean
-update_scale (gpointer data) 
+update_scale (gpointer data)
 {
   GstClock *clock;
   guint64 position;
@@ -679,12 +684,14 @@ update_scale (gpointer data)
 
   if (seekable_pads) {
     GstPad *pad = GST_PAD (seekable_pads->data);
+
     gst_pad_query (pad, GST_QUERY_TOTAL, &format, &duration);
   }
   position = gst_clock_get_time (clock);
 
   if (stats) {
-    g_print ("clock:                  %13llu  (%s)\n", position, gst_object_get_name (GST_OBJECT (clock)));
+    g_print ("clock:                  %13llu  (%s)\n", position,
+       gst_object_get_name (GST_OBJECT (clock)));
     query_durations ();
     query_positions ();
     query_rates ();
@@ -711,7 +718,7 @@ iterate (gpointer data)
 }
 
 static gboolean
-start_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+start_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
 {
   gst_element_set_state (pipeline, GST_STATE_PAUSED);
   gtk_timeout_remove (update_id);
@@ -720,21 +727,23 @@ start_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 }
 
 static gboolean
-stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+stop_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
 {
   gint64 real = gtk_range_get_value (GTK_RANGE (widget)) * duration / 100;
   gboolean res;
   GstEvent *s_event;
+
 #ifdef PAD_SEEK
   GList *walk = seekable_pads;
 
   while (walk) {
     GstPad *seekable = GST_PAD (walk->data);
 
-    g_print ("seek to %lld on pad %s:%s\n", real, GST_DEBUG_PAD_NAME (seekable));
-    s_event = gst_event_new_seek (GST_FORMAT_TIME |
-                                 GST_SEEK_METHOD_SET |
-                                 GST_SEEK_FLAG_FLUSH, real);
+    g_print ("seek to %lld on pad %s:%s\n", real,
+       GST_DEBUG_PAD_NAME (seekable));
+    s_event =
+       gst_event_new_seek (GST_FORMAT_TIME | GST_SEEK_METHOD_SET |
+       GST_SEEK_FLAG_FLUSH, real);
 
     res = gst_pad_send_event (seekable, s_event);
 
@@ -746,10 +755,11 @@ stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
   while (walk) {
     GstElement *seekable = GST_ELEMENT (walk->data);
 
-    g_print ("seek to %lld on element %s\n", real, gst_element_get_name (seekable));
-    s_event = gst_event_new_seek (GST_FORMAT_TIME |
-                                 GST_SEEK_METHOD_SET |
-                                 GST_SEEK_FLAG_FLUSH, real);
+    g_print ("seek to %lld on element %s\n", real,
+       gst_element_get_name (seekable));
+    s_event =
+       gst_event_new_seek (GST_FORMAT_TIME | GST_SEEK_METHOD_SET |
+       GST_SEEK_FLAG_FLUSH, real);
 
     res = gst_element_send_event (seekable, s_event);
 
@@ -759,7 +769,8 @@ stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
   gtk_idle_add ((GtkFunction) iterate, pipeline);
-  update_id = gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
+  update_id =
+      gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
 
   return FALSE;
 }
@@ -770,7 +781,8 @@ play_cb (GtkButton * button, gpointer data)
   if (gst_element_get_state (pipeline) != GST_STATE_PLAYING) {
     gst_element_set_state (pipeline, GST_STATE_PLAYING);
     gtk_idle_add ((GtkFunction) iterate, pipeline);
-    update_id = gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
+    update_id =
+       gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
   }
 }
 
@@ -795,23 +807,23 @@ stop_cb (GtkButton * button, gpointer data)
 typedef struct
 {
   gchar *name;
-  GstElement* (*func) (const gchar *location);
+  GstElement *(*func) (const gchar * location);
 } Pipeline;
 
 static Pipeline pipelines[] = {
-  { "mp3",             make_mp3_pipeline       },
-  { "avi",             make_avi_pipeline       },
-  { "mpeg1",           make_mpeg_pipeline      },
-  { "mpegparse",       make_parse_pipeline     },
-  { "vorbis",                  make_vorbis_pipeline    }, 
-  { "sid",             make_sid_pipeline       },
-  { "flac",            make_flac_pipeline      },
-  { "wav",             make_wav_pipeline       },
-  { "mod",             make_mod_pipeline       },
-  { "dv",              make_dv_pipeline        },
-  { "mpeg1nothreads",          make_mpegnt_pipeline    },
-  { "playerbin",       make_playerbin_pipeline },
-  { NULL, NULL},
+  {"mp3", make_mp3_pipeline},
+  {"avi", make_avi_pipeline},
+  {"mpeg1", make_mpeg_pipeline},
+  {"mpegparse", make_parse_pipeline},
+  {"vorbis", make_vorbis_pipeline},
+  {"sid", make_sid_pipeline},
+  {"flac", make_flac_pipeline},
+  {"wav", make_wav_pipeline},
+  {"mod", make_mod_pipeline},
+  {"dv", make_dv_pipeline},
+  {"mpeg1nothreads", make_mpegnt_pipeline},
+  {"playerbin", make_playerbin_pipeline},
+  {NULL, NULL},
 };
 
 #define NUM_TYPES      ((sizeof (pipelines) / sizeof (Pipeline)) - 1)
@@ -832,16 +844,15 @@ print_usage (int argc, char **argv)
 int
 main (int argc, char **argv)
 {
-  GtkWidget *window, *hbox, *vbox, 
-            *play_button, *pause_button, *stop_button, 
-           *hscale;
+  GtkWidget *window, *hbox, *vbox,
+      *play_button, *pause_button, *stop_button, *hscale;
   struct poptOption options[] = {
-    { "stats",  's',  POPT_ARG_NONE|POPT_ARGFLAG_STRIP,   &stats,   0,
-           "Show pad stats", NULL },
+    {"stats", 's', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &stats, 0,
+       "Show pad stats", NULL},
     POPT_TABLEEND
   };
   gint type;
-               
+
   gst_init_with_popt_table (&argc, &argv, options);
   gtk_init (&argc, &argv);
 
@@ -868,17 +879,18 @@ main (int argc, char **argv)
   pause_button = gtk_button_new_with_label ("pause");
   stop_button = gtk_button_new_with_label ("stop");
 
-  adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, 100.0, 0.1, 1.0, 1.0));
+  adjustment =
+      GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, 100.0, 0.1, 1.0, 1.0));
   hscale = gtk_hscale_new (adjustment);
   gtk_scale_set_digits (GTK_SCALE (hscale), 2);
   gtk_range_set_update_policy (GTK_RANGE (hscale), GTK_UPDATE_CONTINUOUS);
 
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "button_press_event", G_CALLBACK (start_seek), pipeline);
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "button_release_event", G_CALLBACK (stop_seek), pipeline);
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "format_value", G_CALLBACK (format_value), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "button_press_event", G_CALLBACK (start_seek), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "button_release_event", G_CALLBACK (stop_seek), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "format_value", G_CALLBACK (format_value), pipeline);
 
   /* do the packing stuff ... */
   gtk_window_set_default_size (GTK_WINDOW (window), 96, 96);
@@ -890,16 +902,21 @@ main (int argc, char **argv)
   gtk_box_pack_start (GTK_BOX (vbox), hscale, TRUE, TRUE, 2);
 
   /* connect things ... */
-  g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), pipeline);
-  g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb), pipeline);
-  g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), pipeline);
+  g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb),
+      pipeline);
+  g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb),
+      pipeline);
+  g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb),
+      pipeline);
   g_signal_connect (G_OBJECT (window), "delete_event", gtk_main_quit, NULL);
 
   /* show the gui. */
   gtk_widget_show_all (window);
 
-  g_signal_connect (pipeline, "deep_notify", G_CALLBACK (gst_element_default_deep_notify), NULL);
-  g_signal_connect (pipeline, "error", G_CALLBACK (gst_element_default_error), NULL);
+  g_signal_connect (pipeline, "deep_notify",
+      G_CALLBACK (gst_element_default_deep_notify), NULL);
+  g_signal_connect (pipeline, "error", G_CALLBACK (gst_element_default_error),
+      NULL);
 
   gtk_main ();
 
index a21aac1..d2c2c6b 100644 (file)
@@ -19,19 +19,19 @@ static guint update_id;
 
 #define UPDATE_INTERVAL 500
 
-static GstElement*
-make_spider_pipeline (const gchar *location, gboolean thread) 
+static GstElement *
+make_spider_pipeline (const gchar * location, gboolean thread)
 {
   GstElement *pipeline;
-  GstElement *src, *decoder, *audiosink, *videosink, *a_thread, *v_thread, *a_queue, *v_queue;
-  
+  GstElement *src, *decoder, *audiosink, *videosink, *a_thread, *v_thread,
+      *a_queue, *v_queue;
+
   if (thread) {
     pipeline = gst_thread_new ("app");
-  }
-  else {
+  } else {
     pipeline = gst_pipeline_new ("app");
   }
-  
+
 
   src = gst_element_factory_make (SOURCE, "src");
   decoder = gst_element_factory_make ("spider", "decoder");
@@ -64,15 +64,16 @@ make_spider_pipeline (const gchar *location, gboolean thread)
 
   seekable_elements = g_list_prepend (seekable_elements, videosink);
   seekable_elements = g_list_prepend (seekable_elements, audiosink);
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (audiosink, "sink"));
-  rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (videosink, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (audiosink, "sink"));
+  rate_pads =
+      g_list_prepend (rate_pads, gst_element_get_pad (videosink, "sink"));
 
   return pipeline;
 }
 
-static gchar*
-format_value (GtkScale *scale,
-             gdouble   value)
+static gchar *
+format_value (GtkScale * scale, gdouble value)
 {
   gint64 real;
   gint64 seconds;
@@ -83,9 +84,7 @@ format_value (GtkScale *scale,
   subseconds = (gint64) real / (GST_SECOND / 100);
 
   return g_strdup_printf ("%02lld:%02lld:%02lld",
-                          seconds/60, 
-                         seconds%60, 
-                         subseconds%100);
+      seconds / 60, seconds % 60, subseconds % 100);
 }
 
 typedef struct
@@ -94,13 +93,12 @@ typedef struct
   const GstFormat format;
 } seek_format;
 
-static seek_format seek_formats[] = 
-{
-  { "tim",  GST_FORMAT_TIME    },
-  { "byt",  GST_FORMAT_BYTES   },
-  { "buf",  GST_FORMAT_BUFFERS },
-  { "def",  GST_FORMAT_DEFAULT },
-  { NULL, 0 }, 
+static seek_format seek_formats[] = {
+  {"tim", GST_FORMAT_TIME},
+  {"byt", GST_FORMAT_BYTES},
+  {"buf", GST_FORMAT_BUFFERS},
+  {"def", GST_FORMAT_DEFAULT},
+  {NULL, 0},
 };
 
 G_GNUC_UNUSED static void
@@ -119,13 +117,10 @@ query_rates (void)
 
       format = seek_formats[i].format;
 
-      if (gst_pad_convert (pad, GST_FORMAT_TIME, GST_SECOND, 
-                          &format, &value)) 
-      {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+      if (gst_pad_convert (pad, GST_FORMAT_TIME, GST_SECOND, &format, &value)) {
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
 
       i++;
@@ -154,10 +149,9 @@ query_durations ()
       format = seek_formats[i].format;
       res = gst_element_query (element, GST_QUERY_TOTAL, &format, &value);
       if (res) {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
       i++;
     }
@@ -184,10 +178,9 @@ query_positions ()
       format = seek_formats[i].format;
       res = gst_element_query (element, GST_QUERY_POSITION, &format, &value);
       if (res) {
-        g_print ("%s %13lld | ", seek_formats[i].name, value);
-      }
-      else {
-        g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
+       g_print ("%s %13lld | ", seek_formats[i].name, value);
+      } else {
+       g_print ("%s %13.13s | ", seek_formats[i].name, "*NA*");
       }
       i++;
     }
@@ -197,7 +190,7 @@ query_positions ()
 }
 
 static gboolean
-update_scale (gpointer data) 
+update_scale (gpointer data)
 {
   GstClock *clock;
   guint64 position;
@@ -208,12 +201,14 @@ update_scale (gpointer data)
 
   if (seekable_elements) {
     GstElement *element = GST_ELEMENT (seekable_elements->data);
+
     gst_element_query (element, GST_QUERY_TOTAL, &format, &duration);
   }
   position = gst_clock_get_time (clock);
 
   if (stats) {
-    g_print ("clock:                  %13llu  (%s)\n", position, gst_object_get_name (GST_OBJECT (clock)));
+    g_print ("clock:                  %13llu  (%s)\n", position,
+       gst_object_get_name (GST_OBJECT (clock)));
     query_durations ();
     query_positions ();
     query_rates ();
@@ -239,7 +234,7 @@ iterate (gpointer data)
 }
 
 static gboolean
-start_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+start_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
 {
   gst_element_set_state (pipeline, GST_STATE_PAUSED);
   gtk_timeout_remove (update_id);
@@ -248,7 +243,7 @@ start_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 }
 
 static gboolean
-stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+stop_seek (GtkWidget * widget, GdkEventButton * event, gpointer user_data)
 {
   gint64 real = gtk_range_get_value (GTK_RANGE (widget)) * duration / 100;
   gboolean res;
@@ -260,8 +255,7 @@ stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
 
     g_print ("seek to %lld on element %s\n", real, GST_ELEMENT_NAME (seekable));
     s_event = gst_event_new_seek (GST_FORMAT_TIME |
-                                 GST_SEEK_METHOD_SET |
-                                 GST_SEEK_FLAG_FLUSH, real);
+       GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, real);
 
     res = gst_element_send_event (seekable, s_event);
 
@@ -271,7 +265,8 @@ stop_seek (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
   if (!GST_FLAG_IS_SET (pipeline, GST_BIN_SELF_SCHEDULABLE))
     gtk_idle_add ((GtkFunction) iterate, pipeline);
-  update_id = gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
+  update_id =
+      gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
 
   return FALSE;
 }
@@ -283,7 +278,8 @@ play_cb (GtkButton * button, gpointer data)
     gst_element_set_state (pipeline, GST_STATE_PLAYING);
     if (!GST_FLAG_IS_SET (pipeline, GST_BIN_SELF_SCHEDULABLE))
       gtk_idle_add ((GtkFunction) iterate, pipeline);
-    update_id = gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
+    update_id =
+       gtk_timeout_add (UPDATE_INTERVAL, (GtkFunction) update_scale, pipeline);
   }
 }
 
@@ -308,17 +304,16 @@ stop_cb (GtkButton * button, gpointer data)
 int
 main (int argc, char **argv)
 {
-  GtkWidget *window, *hbox, *vbox, 
-            *play_button, *pause_button, *stop_button, 
-           *hscale;
+  GtkWidget *window, *hbox, *vbox,
+      *play_button, *pause_button, *stop_button, *hscale;
   gboolean threaded = FALSE;
   struct poptOption options[] = {
-    {"threaded",  't',  POPT_ARG_NONE|POPT_ARGFLAG_STRIP,   &threaded,   0,
-         "Run the pipeline in a toplevel thread", NULL},
-    {"stats",  's',  POPT_ARG_NONE|POPT_ARGFLAG_STRIP,   &stats,   0,
-         "Show element stats", NULL},
-     POPT_TABLEEND
-    };
+    {"threaded", 't', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &threaded, 0,
+       "Run the pipeline in a toplevel thread", NULL},
+    {"stats", 's', POPT_ARG_NONE | POPT_ARGFLAG_STRIP, &stats, 0,
+       "Show element stats", NULL},
+    POPT_TABLEEND
+  };
 
   gst_init_with_popt_table (&argc, &argv, options);
   gtk_init (&argc, &argv);
@@ -338,17 +333,18 @@ main (int argc, char **argv)
   pause_button = gtk_button_new_with_label ("pause");
   stop_button = gtk_button_new_with_label ("stop");
 
-  adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, 100.0, 0.1, 1.0, 1.0));
+  adjustment =
+      GTK_ADJUSTMENT (gtk_adjustment_new (0.0, 0.00, 100.0, 0.1, 1.0, 1.0));
   hscale = gtk_hscale_new (adjustment);
   gtk_scale_set_digits (GTK_SCALE (hscale), 2);
   gtk_range_set_update_policy (GTK_RANGE (hscale), GTK_UPDATE_CONTINUOUS);
 
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "button_press_event", G_CALLBACK (start_seek), pipeline);
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "button_release_event", G_CALLBACK (stop_seek), pipeline);
-  gtk_signal_connect(GTK_OBJECT(hscale),
-                             "format_value", G_CALLBACK (format_value), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "button_press_event", G_CALLBACK (start_seek), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "button_release_event", G_CALLBACK (stop_seek), pipeline);
+  gtk_signal_connect (GTK_OBJECT (hscale),
+      "format_value", G_CALLBACK (format_value), pipeline);
 
   /* do the packing stuff ... */
   gtk_window_set_default_size (GTK_WINDOW (window), 96, 96);
@@ -360,9 +356,12 @@ main (int argc, char **argv)
   gtk_box_pack_start (GTK_BOX (vbox), hscale, TRUE, TRUE, 2);
 
   /* connect things ... */
-  g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb), pipeline);
-  g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb), pipeline);
-  g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb), pipeline);
+  g_signal_connect (G_OBJECT (play_button), "clicked", G_CALLBACK (play_cb),
+      pipeline);
+  g_signal_connect (G_OBJECT (pause_button), "clicked", G_CALLBACK (pause_cb),
+      pipeline);
+  g_signal_connect (G_OBJECT (stop_button), "clicked", G_CALLBACK (stop_cb),
+      pipeline);
   g_signal_connect (G_OBJECT (window), "delete_event", gtk_main_quit, NULL);
 
   /* show the gui. */
index acaa60c..ec6844a 100644 (file)
@@ -4,34 +4,37 @@
 
 static gboolean ready = FALSE;
 
-struct probe_context {
+struct probe_context
+{
   GstElement *pipeline;
   GstElement *element;
-  GstPad     *pad;
-  GstFormat   ls_format;
+  GstPad *pad;
+  GstFormat ls_format;
 
-  gint        total_ls;
+  gint total_ls;
 
-  GstCaps   *metadata;
-  GstCaps   *streaminfo;
-  GstCaps   *caps;
+  GstCaps *metadata;
+  GstCaps *streaminfo;
+  GstCaps *caps;
 };
 
 static void
-print_caps (GstCaps *caps)
+print_caps (GstCaps * caps)
 {
   char *s;
+
   s = gst_caps_to_string (caps);
-  g_print("  %s\n", s);
+  g_print ("  %s\n", s);
   g_free (s);
 }
 
 static void
-print_format (GstCaps *caps)
+print_format (GstCaps * caps)
 {
   char *s;
+
   s = gst_caps_to_string (caps);
-  g_print("  format: %s\n", s);
+  g_print ("  format: %s\n", s);
   g_free (s);
 }
 
@@ -61,35 +64,31 @@ print_lbs_info (struct probe_context *context, gint stream)
     definition = gst_format_get_details (format);
 
     /* get start and end position of this stream */
-    res = gst_pad_convert  (context->pad,
-                           context->ls_format, stream,
-                           &format, &value_start);
+    res = gst_pad_convert (context->pad,
+       context->ls_format, stream, &format, &value_start);
     res &= gst_pad_convert (context->pad,
-                           context->ls_format, stream + 1,
-                           &format, &value_end);
+       context->ls_format, stream + 1, &format, &value_end);
 
     if (res) {
       /* substract to get the length */
       value_end -= value_start;
 
       if (format == GST_FORMAT_TIME) {
-       value_end /= (GST_SECOND/100);
-        g_print ("    %s: %lld:%02lld.%02lld\n", definition->nick,
-                       value_end/6000, (value_end/100)%60, (value_end%100));
+       value_end /= (GST_SECOND / 100);
+       g_print ("    %s: %lld:%02lld.%02lld\n", definition->nick,
+           value_end / 6000, (value_end / 100) % 60, (value_end % 100));
+      } else {
+       g_print ("    %s: %lld\n", definition->nick, value_end);
       }
-      else {
-        g_print ("    %s: %lld\n", definition->nick, value_end);
-      }
-    }
-    else
+    } else
       g_print ("    could not get logical stream %s\n", definition->nick);
 
   }
 }
 
 static void
-deep_notify (GObject *object, GstObject *origin,
-            GParamSpec *pspec, gpointer data)
+deep_notify (GObject * object, GstObject * origin,
+    GParamSpec * pspec, gpointer data)
 {
   struct probe_context *context = (struct probe_context *) data;
   GValue value = { 0, };
@@ -99,8 +98,7 @@ deep_notify (GObject *object, GstObject *origin,
     g_value_init (&value, pspec->value_type);
     g_object_get_property (G_OBJECT (origin), pspec->name, &value);
     context->metadata = g_value_peek_pointer (&value);
-  }
-  else if (!strcmp (pspec->name, "streaminfo")) {
+  } else if (!strcmp (pspec->name, "streaminfo")) {
 
     g_value_init (&value, pspec->value_type);
     g_object_get_property (G_OBJECT (origin), pspec->name, &value);
@@ -127,9 +125,7 @@ collect_logical_stream_properties (struct probe_context *context, gint stream)
 
   /* seek to stream */
   event = gst_event_new_seek (context->ls_format |
-                             GST_SEEK_METHOD_SET |
-                             GST_SEEK_FLAG_FLUSH,
-                             stream);
+      GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, stream);
   res = gst_pad_send_event (context->pad, event);
   if (!res) {
     g_warning ("seek to logical track failed");
@@ -141,7 +137,8 @@ collect_logical_stream_properties (struct probe_context *context, gint stream)
   ready = FALSE;
   while (gst_bin_iterate (GST_BIN (context->pipeline)) && !ready) {
     count++;
-    if (count > 10) break;
+    if (count > 10)
+      break;
   }
 
   print_caps (context->metadata);
@@ -177,21 +174,19 @@ collect_stream_properties (struct probe_context *context)
     format = *formats;
     formats++;
 
-    res = gst_pad_query (context->pad, GST_QUERY_TOTAL,
-                        &format, &value);
+    res = gst_pad_query (context->pad, GST_QUERY_TOTAL, &format, &value);
 
     definition = gst_format_get_details (format);
 
     if (res) {
       if (format == GST_FORMAT_TIME) {
-       value /= (GST_SECOND/100);
-        g_print ("  total %s: %lld:%02lld.%02lld\n", definition->nick,
-                       value/6000, (value/100)%60, (value%100));
-      }
-      else {
-        if (format == context->ls_format)
-          context->total_ls = value;
-        g_print ("  total %s: %lld\n", definition->nick, value);
+       value /= (GST_SECOND / 100);
+       g_print ("  total %s: %lld:%02lld.%02lld\n", definition->nick,
+           value / 6000, (value / 100) % 60, (value % 100));
+      } else {
+       if (format == context->ls_format)
+         context->total_ls = value;
+       g_print ("  total %s: %lld\n", definition->nick, value);
       }
     }
   }
@@ -248,7 +243,7 @@ main (int argc, char **argv)
   context->ls_format = logical_stream_format;
 
   g_signal_connect (G_OBJECT (pipeline), "deep_notify",
-                 G_CALLBACK (deep_notify), context);
+      G_CALLBACK (deep_notify), context);
 
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
 
index e5d3fbd..55d79e9 100644 (file)
@@ -24,8 +24,8 @@
  * compression status of mpeg audio to ogg vorbis transcoding.
  */
 
-gint 
-main (gint argc, gchar *argv[]) 
+gint
+main (gint argc, gchar * argv[])
 {
   GstElement *pipeline;
   GError *error = NULL;
@@ -34,21 +34,22 @@ main (gint argc, gchar *argv[])
   GstPad *dec_sink, *enc_src;
 
   gst_init (&argc, &argv);
-  
+
   if (argc < 3) {
     g_print ("usage: %s <inputfile> <outputfile>\n", argv[0]);
     return -1;
   }
 
   description = g_strdup_printf ("filesrc location=\"%s\" ! mad name=decoder ! "
-                 "vorbisenc name=encoder ! filesink location=\"%s\"", argv[1], argv[2]);
+      "vorbisenc name=encoder ! filesink location=\"%s\"", argv[1], argv[2]);
 
   pipeline = GST_ELEMENT (gst_parse_launch (description, &error));
   if (!pipeline) {
     if (error)
-       g_print ("ERROR: pipeline could not be constructed: %s\n", error->message);
+      g_print ("ERROR: pipeline could not be constructed: %s\n",
+         error->message);
     else
-       g_print ("ERROR: pipeline could not be constructed\n");
+      g_print ("ERROR: pipeline could not be constructed\n");
     return -1;
   }
 
@@ -57,7 +58,7 @@ main (gint argc, gchar *argv[])
 
   dec_sink = gst_element_get_pad (decoder, "sink");
   enc_src = gst_element_get_pad (encoder, "src");
-  
+
   if (gst_element_set_state (pipeline, GST_STATE_PLAYING) != GST_STATE_SUCCESS) {
     g_print ("pipeline doesn't want to play\n");
     return -1;
@@ -71,33 +72,29 @@ main (gint argc, gchar *argv[])
 
     format = GST_FORMAT_TIME;
     /* get the position */
-    gst_pad_query (enc_src, GST_QUERY_POSITION, 
-                  &format, &position);
+    gst_pad_query (enc_src, GST_QUERY_POSITION, &format, &position);
 
     /* get the total duration */
-    gst_pad_query (enc_src, GST_QUERY_TOTAL, 
-                  &format, &duration);
+    gst_pad_query (enc_src, GST_QUERY_TOTAL, &format, &duration);
 
     format = GST_FORMAT_BYTES;
     /* see how many bytes are genereated per 8 seconds (== bitrate) */
     gst_pad_convert (enc_src, GST_FORMAT_TIME, 8 * GST_SECOND,
-                             &format, &bitrate_enc);
+       &format, &bitrate_enc);
 
     gst_pad_convert (dec_sink, GST_FORMAT_TIME, 8 * GST_SECOND,
-                             &format, &bitrate_dec);
+       &format, &bitrate_dec);
 
     g_print ("[%2dm %.2ds] of [%2dm %.2ds], "
-            "src avg bitrate: %lld, dest avg birate: %lld, ratio [%02.2f]    \r",
-                   (gint)(position / (GST_SECOND * 60)), 
-                   (gint)(position / (GST_SECOND)) % 60, 
-                   (gint)(duration / (GST_SECOND * 60)), 
-                   (gint)(duration / (GST_SECOND)) % 60, 
-                   bitrate_dec,
-                   bitrate_enc,
-                   (gfloat)bitrate_dec/bitrate_enc);
+       "src avg bitrate: %lld, dest avg birate: %lld, ratio [%02.2f]    \r",
+       (gint) (position / (GST_SECOND * 60)),
+       (gint) (position / (GST_SECOND)) % 60,
+       (gint) (duration / (GST_SECOND * 60)),
+       (gint) (duration / (GST_SECOND)) % 60,
+       bitrate_dec, bitrate_enc, (gfloat) bitrate_dec / bitrate_enc);
   }
 
   g_print ("\n");
-  
+
   return 0;
 }
index d0bc4a6..6296f6a 100644 (file)
@@ -16,7 +16,7 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -28,38 +28,36 @@ static GMainLoop *loop = NULL;
 
 
 static void
-got_eos (GstElement *pipeline)
+got_eos (GstElement * pipeline)
 {
   g_main_loop_quit (loop);
 }
 
 static gboolean
-idle_iterate (GstElement *pipeline)
+idle_iterate (GstElement * pipeline)
 {
   gst_bin_iterate (GST_BIN (pipeline));
   return (GST_STATE (GST_ELEMENT (pipeline)) == GST_STATE_PLAYING);
 }
 
 static gboolean
-switch_timer (GstElement *video_switch)
+switch_timer (GstElement * video_switch)
 {
   gint nb_sources, active_source;
-  
+
   g_object_get (G_OBJECT (video_switch), "nb_sources", &nb_sources, NULL);
-  g_object_get (G_OBJECT (video_switch), "active_source",
-                &active_source, NULL);
-  
-  active_source ++;
-  
+  g_object_get (G_OBJECT (video_switch), "active_source", &active_source, NULL);
+
+  active_source++;
+
   if (active_source > nb_sources - 1)
     active_source = 0;
-  
-  g_object_set (G_OBJECT (video_switch), "active_source",
-                active_source, NULL);
-  
+
+  g_object_set (G_OBJECT (video_switch), "active_source", active_source, NULL);
+
   g_message ("current number of sources : %d, active source %d",
-             nb_sources, active_source);
-  
+      nb_sources, active_source);
+
   return (GST_STATE (GST_ELEMENT (video_switch)) == GST_STATE_PLAYING);
 }
 
@@ -72,7 +70,7 @@ main (int argc, char *argv[])
   gst_init (&argc, &argv);
 
   loop = g_main_loop_new (NULL, FALSE);
-  
+
   pipeline = gst_pipeline_new ("pipeline");
   src1 = gst_element_factory_make ("videotestsrc", "src1");
   g_object_set (G_OBJECT (src1), "pattern", 0, NULL);
@@ -80,26 +78,25 @@ main (int argc, char *argv[])
   g_object_set (G_OBJECT (src2), "pattern", 1, NULL);
   video_switch = gst_element_factory_make ("switch", "video_switch");
   video_sink = gst_element_factory_make ("ximagesink", "video_sink");
-  
+
   gst_bin_add_many (GST_BIN (pipeline), src1, src2, video_switch,
-                    video_sink, NULL);
-  
+      video_sink, NULL);
+
   gst_element_link (src1, video_switch);
   gst_element_link (src2, video_switch);
   gst_element_link (video_switch, video_sink);
-  
-  g_signal_connect (G_OBJECT (pipeline), "eos",
-                    G_CALLBACK (got_eos), NULL);
+
+  g_signal_connect (G_OBJECT (pipeline), "eos", G_CALLBACK (got_eos), NULL);
 
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
-  
+
   g_idle_add ((GSourceFunc) idle_iterate, pipeline);
   g_timeout_add (2000, (GSourceFunc) switch_timer, video_switch);
-  
+
   g_main_loop_run (loop);
 
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_READY);
-  
+
   /* unref */
   gst_object_unref (GST_OBJECT (pipeline));
 
index 6dfdb50..e34bcf0 100644 (file)
@@ -36,14 +36,16 @@ static GstElementDetails gst_aasink_details = {
 };
 
 /* aasink signals and args */
-enum {
+enum
+{
   SIGNAL_FRAME_DISPLAYED,
   SIGNAL_HAVE_SIZE,
   LAST_SIGNAL
 };
 
 
-enum {
+enum
+{
   ARG_0,
   ARG_WIDTH,
   ARG_HEIGHT,
@@ -58,27 +60,25 @@ enum {
   ARG_FRAME_TIME,
 };
 
-static GstStaticPadTemplate sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
-);
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
+    );
 
-static void    gst_aasink_base_init    (gpointer g_class);
-static void    gst_aasink_class_init   (GstAASinkClass *klass);
-static void    gst_aasink_init         (GstAASink *aasink);
+static void gst_aasink_base_init (gpointer g_class);
+static void gst_aasink_class_init (GstAASinkClass * klass);
+static void gst_aasink_init (GstAASink * aasink);
 
-static void    gst_aasink_set_clock    (GstElement *element, GstClock *clock);
-static void    gst_aasink_chain        (GstPad *pad, GstData *_data);
+static void gst_aasink_set_clock (GstElement * element, GstClock * clock);
+static void gst_aasink_chain (GstPad * pad, GstData * _data);
 
-static void    gst_aasink_set_property (GObject *object, guint prop_id, 
-                                        const GValue *value, GParamSpec *pspec);
-static void    gst_aasink_get_property (GObject *object, guint prop_id, 
-                                        GValue *value, GParamSpec *pspec);
+static void gst_aasink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_aasink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static GstElementStateReturn gst_aasink_change_state (GstElement *element);
+static GstElementStateReturn gst_aasink_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 static guint gst_aasink_signals[LAST_SIGNAL] = { 0 };
@@ -90,17 +90,18 @@ gst_aasink_get_type (void)
 
   if (!aasink_type) {
     static const GTypeInfo aasink_info = {
-      sizeof(GstAASinkClass),
+      sizeof (GstAASinkClass),
       gst_aasink_base_init,
       NULL,
       (GClassInitFunc) gst_aasink_class_init,
       NULL,
       NULL,
-      sizeof(GstAASink),
+      sizeof (GstAASink),
       0,
-      (GInstanceInitFunc)gst_aasink_init,
+      (GInstanceInitFunc) gst_aasink_init,
     };
-    aasink_type = g_type_register_static(GST_TYPE_ELEMENT, "GstAASink", &aasink_info, 0);
+    aasink_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstAASink", &aasink_info, 0);
   }
   return aasink_type;
 }
@@ -110,19 +111,20 @@ static GType
 gst_aasink_drivers_get_type (void)
 {
   static GType driver_type = 0;
+
   if (!driver_type) {
     GEnumValue *drivers;
     const struct aa_driver *driver;
     gint n_drivers;
     gint i;
 
-    for (n_drivers = 0; aa_drivers[n_drivers]; n_drivers++){
+    for (n_drivers = 0; aa_drivers[n_drivers]; n_drivers++) {
       /* count number of drivers */
     }
-    
-    drivers = g_new0(GEnumValue, n_drivers + 1);
 
-    for (i = 0; i < n_drivers; i++){
+    drivers = g_new0 (GEnumValue, n_drivers + 1);
+
+    for (i = 0; i < n_drivers; i++) {
       driver = aa_drivers[i];
       drivers[i].value = i;
       drivers[i].value_name = g_strdup (driver->shortname);
@@ -142,18 +144,19 @@ static GType
 gst_aasink_dither_get_type (void)
 {
   static GType dither_type = 0;
+
   if (!dither_type) {
     GEnumValue *ditherers;
     gint n_ditherers;
     gint i;
 
-    for (n_ditherers = 0; aa_dithernames[n_ditherers]; n_ditherers++){
+    for (n_ditherers = 0; aa_dithernames[n_ditherers]; n_ditherers++) {
       /* count number of ditherers */
     }
-    
-    ditherers = g_new0(GEnumValue, n_ditherers + 1);
 
-    for (i = 0; i < n_ditherers; i++){
+    ditherers = g_new0 (GEnumValue, n_ditherers + 1);
+
+    for (i = 0; i < n_ditherers; i++) {
       ditherers[i].value = i;
       ditherers[i].value_name = g_strdup (aa_dithernames[i]);
       ditherers[i].value_nick = g_strdup (aa_dithernames[i]);
@@ -178,74 +181,52 @@ gst_aasink_base_init (gpointer g_class)
 }
 
 static void
-gst_aasink_class_init (GstAASinkClass *klass)
+gst_aasink_class_init (GstAASinkClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_WIDTH,
-    g_param_spec_int("width","width","width",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HEIGHT,
-    g_param_spec_int("height","height","height",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DRIVER,
-    g_param_spec_enum("driver","driver","driver",
-                      GST_TYPE_AADRIVERS,0,G_PARAM_READWRITE)); /* CHECKME! */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DITHER,
-    g_param_spec_enum("dither","dither","dither",
-                      GST_TYPE_AADITHER,0,G_PARAM_READWRITE)); /* CHECKME! */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BRIGHTNESS,
-    g_param_spec_int("brightness","brightness","brightness",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_CONTRAST,
-    g_param_spec_int("contrast","contrast","contrast",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_GAMMA,
-    g_param_spec_float("gamma","gamma","gamma",
-                       0.0,5.0,1.0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_INVERSION,
-    g_param_spec_boolean("inversion","inversion","inversion",
-                         TRUE,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_RANDOMVAL,
-    g_param_spec_int("randomval","randomval","randomval",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FRAMES_DISPLAYED,
-    g_param_spec_int("frames_displayed","frames_displayed","frames_displayed",
-                     G_MININT,G_MAXINT,0,G_PARAM_READABLE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FRAME_TIME,
-    g_param_spec_int("frame_time","frame_time","frame_time",
-                     G_MININT,G_MAXINT,0,G_PARAM_READABLE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_WIDTH, g_param_spec_int ("width", "width", "width", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HEIGHT, g_param_spec_int ("height", "height", "height", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));     /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DRIVER, g_param_spec_enum ("driver", "driver", "driver", GST_TYPE_AADRIVERS, 0, G_PARAM_READWRITE));    /* CHECKME! */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DITHER, g_param_spec_enum ("dither", "dither", "dither", GST_TYPE_AADITHER, 0, G_PARAM_READWRITE));     /* CHECKME! */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BRIGHTNESS, g_param_spec_int ("brightness", "brightness", "brightness", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));     /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_CONTRAST, g_param_spec_int ("contrast", "contrast", "contrast", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));     /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_GAMMA, g_param_spec_float ("gamma", "gamma", "gamma", 0.0, 5.0, 1.0, G_PARAM_READWRITE));       /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_INVERSION, g_param_spec_boolean ("inversion", "inversion", "inversion", TRUE, G_PARAM_READWRITE));      /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_RANDOMVAL, g_param_spec_int ("randomval", "randomval", "randomval", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FRAMES_DISPLAYED, g_param_spec_int ("frames_displayed", "frames_displayed", "frames_displayed", G_MININT, G_MAXINT, 0, G_PARAM_READABLE));      /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FRAME_TIME, g_param_spec_int ("frame_time", "frame_time", "frame_time", G_MININT, G_MAXINT, 0, G_PARAM_READABLE));      /* CHECKME */
 
   gobject_class->set_property = gst_aasink_set_property;
   gobject_class->get_property = gst_aasink_get_property;
 
   gst_aasink_signals[SIGNAL_FRAME_DISPLAYED] =
-    g_signal_new ("frame-displayed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
-                   G_STRUCT_OFFSET (GstAASinkClass, frame_displayed), NULL, NULL,
-                   g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+      g_signal_new ("frame-displayed", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstAASinkClass, frame_displayed),
+      NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
   gst_aasink_signals[SIGNAL_HAVE_SIZE] =
-    g_signal_new ("have-size", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
-                   G_STRUCT_OFFSET (GstAASinkClass, have_size), NULL, NULL,
-                   gst_marshal_VOID__INT_INT, G_TYPE_NONE, 2,
-                   G_TYPE_UINT, G_TYPE_UINT);
+      g_signal_new ("have-size", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstAASinkClass, have_size), NULL, NULL,
+      gst_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
 
   gstelement_class->change_state = gst_aasink_change_state;
-  gstelement_class->set_clock    = gst_aasink_set_clock;
+  gstelement_class->set_clock = gst_aasink_set_clock;
 }
 
 static GstCaps *
-gst_aasink_fixate (GstPad *pad, const GstCaps *caps)
+gst_aasink_fixate (GstPad * pad, const GstCaps * caps)
 {
   GstStructure *structure;
   GstCaps *newcaps;
 
-  if (gst_caps_get_size (caps) > 1) return NULL;
+  if (gst_caps_get_size (caps) > 1)
+    return NULL;
 
   newcaps = gst_caps_copy (caps);
   structure = gst_caps_get_structure (newcaps, 0);
@@ -257,7 +238,7 @@ gst_aasink_fixate (GstPad *pad, const GstCaps *caps)
     return newcaps;
   }
   if (gst_caps_structure_fixate_field_nearest_double (structure, "framerate",
-                                                      30.0)) {
+         30.0)) {
     return newcaps;
   }
 
@@ -266,7 +247,7 @@ gst_aasink_fixate (GstPad *pad, const GstCaps *caps)
 }
 
 static GstPadLinkReturn
-gst_aasink_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_aasink_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstAASink *aasink;
   GstStructure *structure;
@@ -280,16 +261,16 @@ gst_aasink_sinkconnect (GstPad *pad, const GstCaps *caps)
   /* FIXME aasink->format is never set */
 
   GST_DEBUG ("aasink: setting %08lx (" GST_FOURCC_FORMAT ")",
-                aasink->format, GST_FOURCC_ARGS(aasink->format));
-  
-  g_signal_emitG_OBJECT (aasink), gst_aasink_signals[SIGNAL_HAVE_SIZE], 0,
-                aasink->width, aasink->height);
+      aasink->format, GST_FOURCC_ARGS (aasink->format));
+
+  g_signal_emit (G_OBJECT (aasink), gst_aasink_signals[SIGNAL_HAVE_SIZE], 0,
+      aasink->width, aasink->height);
 
   return GST_PAD_LINK_OK;
 }
 
 static void
-gst_aasink_set_clock (GstElement *element, GstClock *clock)
+gst_aasink_set_clock (GstElement * element, GstClock * clock)
 {
   GstAASink *aasink = GST_AASINK (element);
 
@@ -297,16 +278,18 @@ gst_aasink_set_clock (GstElement *element, GstClock *clock)
 }
 
 static void
-gst_aasink_init (GstAASink *aasink)
+gst_aasink_init (GstAASink * aasink)
 {
-  aasink->sinkpad = gst_pad_new_from_template (
-      gst_element_get_pad_template (GST_ELEMENT (aasink), "sink"), "sink");
+  aasink->sinkpad =
+      gst_pad_new_from_template (gst_element_get_pad_template (GST_ELEMENT
+         (aasink), "sink"), "sink");
   gst_element_add_pad (GST_ELEMENT (aasink), aasink->sinkpad);
   gst_pad_set_chain_function (aasink->sinkpad, gst_aasink_chain);
   gst_pad_set_link_function (aasink->sinkpad, gst_aasink_sinkconnect);
   gst_pad_set_fixate_function (aasink->sinkpad, gst_aasink_fixate);
 
-  memcpy(&aasink->ascii_surf, &aa_defparams, sizeof (struct aa_hardware_params));
+  memcpy (&aasink->ascii_surf, &aa_defparams,
+      sizeof (struct aa_hardware_params));
   aasink->ascii_parms.bright = 0;
   aasink->ascii_parms.contrast = 16;
   aasink->ascii_parms.gamma = 1.0;
@@ -320,13 +303,12 @@ gst_aasink_init (GstAASink *aasink)
 
   aasink->clock = NULL;
 
-  GST_FLAG_SET(aasink, GST_ELEMENT_THREAD_SUGGESTED);
+  GST_FLAG_SET (aasink, GST_ELEMENT_THREAD_SUGGESTED);
 }
 
 static void
-gst_aasink_scale (GstAASink *aasink, gchar *src, gchar *dest,
-                 gint sw, gint sh, 
-                 gint dw, gint dh)
+gst_aasink_scale (GstAASink * aasink, gchar * src, gchar * dest,
+    gint sw, gint sh, gint dw, gint dh)
 {
   gint ypos, yinc, y;
   gint xpos, xinc, x;
@@ -340,20 +322,20 @@ gst_aasink_scale (GstAASink *aasink, gchar *src, gchar *dest,
   for (y = dh; y; y--) {
     while (ypos > 0x10000) {
       ypos -= 0x10000;
-      src  += sw;
+      src += sw;
     }
     xpos = 0x10000;
     {
       guchar *destp = dest;
       guchar *srcp = src;
 
-      for ( x=dw; x; x-- ) {
-        while (xpos >= 0x10000L) {
-          srcp++;
-          xpos -= 0x10000L;
-        }
-        *destp++ = *srcp;
-        xpos     += xinc;
+      for (x = dw; x; x--) {
+       while (xpos >= 0x10000L) {
+         srcp++;
+         xpos -= 0x10000L;
+       }
+       *destp++ = *srcp;
+       xpos += xinc;
       }
     }
     dest += dw;
@@ -362,7 +344,7 @@ gst_aasink_scale (GstAASink *aasink, gchar *src, gchar *dest,
 }
 
 static void
-gst_aasink_chain (GstPad *pad, GstData *_data)
+gst_aasink_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstAASink *aasink;
@@ -373,33 +355,35 @@ gst_aasink_chain (GstPad *pad, GstData *_data)
 
   aasink = GST_AASINK (gst_pad_get_parent (pad));
 
-  gst_aasink_scale (aasink,
-                   GST_BUFFER_DATA (buf),              /* src */
-                   aa_image (aasink->context),         /* dest */
-                   aasink->width,                      /* sw */
-                   aasink->height,                     /* sh */
-                   aa_imgwidth (aasink->context),      /* dw */
-                   aa_imgheight (aasink->context));    /* dh */
+  gst_aasink_scale (aasink, GST_BUFFER_DATA (buf),     /* src */
+      aa_image (aasink->context),      /* dest */
+      aasink->width,           /* sw */
+      aasink->height,          /* sh */
+      aa_imgwidth (aasink->context),   /* dw */
+      aa_imgheight (aasink->context)); /* dh */
 
-  GST_DEBUG ("videosink: clock wait: %" G_GUINT64_FORMAT, GST_BUFFER_TIMESTAMP(buf));
+  GST_DEBUG ("videosink: clock wait: %" G_GUINT64_FORMAT,
+      GST_BUFFER_TIMESTAMP (buf));
 
   if (aasink->clock && GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
     gst_element_wait (GST_ELEMENT (aasink), GST_BUFFER_TIMESTAMP (buf));
   }
 
-  aa_render (aasink->context, &aasink->ascii_parms, 
-                 0, 0, aa_imgwidth (aasink->context), aa_imgheight (aasink->context));
+  aa_render (aasink->context, &aasink->ascii_parms,
+      0, 0, aa_imgwidth (aasink->context), aa_imgheight (aasink->context));
   aa_flush (aasink->context);
   aa_getevent (aasink->context, FALSE);
 
-  g_signal_emit(G_OBJECT(aasink),gst_aasink_signals[SIGNAL_FRAME_DISPLAYED], 0);
+  g_signal_emit (G_OBJECT (aasink), gst_aasink_signals[SIGNAL_FRAME_DISPLAYED],
+      0);
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
 
 static void
-gst_aasink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_aasink_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstAASink *aasink;
 
@@ -415,31 +399,31 @@ gst_aasink_set_property (GObject *object, guint prop_id, const GValue *value, GP
     case ARG_HEIGHT:
       aasink->ascii_surf.height = g_value_get_int (value);
       break;
-    case ARG_DRIVER: {
+    case ARG_DRIVER:{
       aasink->aa_driver = g_value_get_enum (value);
       break;
     }
-    case ARG_DITHER: {
+    case ARG_DITHER:{
       aasink->ascii_parms.dither = g_value_get_enum (value);
       break;
     }
-    case ARG_BRIGHTNESS: {
+    case ARG_BRIGHTNESS:{
       aasink->ascii_parms.bright = g_value_get_int (value);
       break;
     }
-    case ARG_CONTRAST: {
+    case ARG_CONTRAST:{
       aasink->ascii_parms.contrast = g_value_get_int (value);
       break;
     }
-    case ARG_GAMMA: {
+    case ARG_GAMMA:{
       aasink->ascii_parms.gamma = g_value_get_float (value);
       break;
     }
-    case ARG_INVERSION: {
+    case ARG_INVERSION:{
       aasink->ascii_parms.inversion = g_value_get_boolean (value);
       break;
     }
-    case ARG_RANDOMVAL: {
+    case ARG_RANDOMVAL:{
       aasink->ascii_parms.randomval = g_value_get_int (value);
       break;
     }
@@ -449,59 +433,60 @@ gst_aasink_set_property (GObject *object, guint prop_id, const GValue *value, GP
 }
 
 static void
-gst_aasink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_aasink_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstAASink *aasink;
 
   /* it's not null if we got it, but it might not be ours */
-  aasink = GST_AASINK(object);
+  aasink = GST_AASINK (object);
 
   switch (prop_id) {
-    case ARG_WIDTH: {
+    case ARG_WIDTH:{
       g_value_set_int (value, aasink->ascii_surf.width);
       break;
     }
-    case ARG_HEIGHT: {
+    case ARG_HEIGHT:{
       g_value_set_int (value, aasink->ascii_surf.height);
       break;
     }
-    case ARG_DRIVER: {
+    case ARG_DRIVER:{
       g_value_set_enum (value, aasink->aa_driver);
       break;
     }
-    case ARG_DITHER: {
+    case ARG_DITHER:{
       g_value_set_enum (value, aasink->ascii_parms.dither);
       break;
     }
-    case ARG_BRIGHTNESS: {
+    case ARG_BRIGHTNESS:{
       g_value_set_int (value, aasink->ascii_parms.bright);
       break;
     }
-    case ARG_CONTRAST: {
+    case ARG_CONTRAST:{
       g_value_set_int (value, aasink->ascii_parms.contrast);
       break;
     }
-    case ARG_GAMMA: {
+    case ARG_GAMMA:{
       g_value_set_float (value, aasink->ascii_parms.gamma);
       break;
     }
-    case ARG_INVERSION: {
+    case ARG_INVERSION:{
       g_value_set_boolean (value, aasink->ascii_parms.inversion);
       break;
     }
-    case ARG_RANDOMVAL: {
+    case ARG_RANDOMVAL:{
       g_value_set_int (value, aasink->ascii_parms.randomval);
       break;
     }
-    case ARG_FRAMES_DISPLAYED: {
+    case ARG_FRAMES_DISPLAYED:{
       g_value_set_int (value, aasink->frames_displayed);
       break;
     }
-    case ARG_FRAME_TIME: {
-      g_value_set_int (value, aasink->frame_time/1000000);
+    case ARG_FRAME_TIME:{
+      g_value_set_int (value, aasink->frame_time / 1000000);
       break;
     }
-    default: {
+    default:{
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
     }
@@ -509,20 +494,20 @@ gst_aasink_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
 }
 
 static gboolean
-gst_aasink_open (GstAASink *aasink)
+gst_aasink_open (GstAASink * aasink)
 {
-  g_return_val_if_fail (!GST_FLAG_IS_SET (aasink ,GST_AASINK_OPEN), FALSE);
+  g_return_val_if_fail (!GST_FLAG_IS_SET (aasinkGST_AASINK_OPEN), FALSE);
 
-  aa_recommendhidisplay(aa_drivers[aasink->aa_driver]->shortname);
+  aa_recommendhidisplay (aa_drivers[aasink->aa_driver]->shortname);
 
   aasink->context = aa_autoinit (&aasink->ascii_surf);
   if (aasink->context == NULL) {
     GST_ELEMENT_ERROR (GST_ELEMENT (aasink), LIBRARY, TOO_LAZY, (NULL),
-                        ("error opening aalib context"));
+       ("error opening aalib context"));
     return FALSE;
   }
-  aa_autoinitkbd(aasink->context, 0);
-  aa_resizehandler(aasink->context, (void *)aa_resize);
+  aa_autoinitkbd (aasink->context, 0);
+  aa_resizehandler (aasink->context, (void *) aa_resize);
 
   GST_FLAG_SET (aasink, GST_AASINK_OPEN);
 
@@ -530,9 +515,9 @@ gst_aasink_open (GstAASink *aasink)
 }
 
 static void
-gst_aasink_close (GstAASink *aasink)
+gst_aasink_close (GstAASink * aasink)
 {
-  g_return_if_fail (GST_FLAG_IS_SET (aasink ,GST_AASINK_OPEN));
+  g_return_if_fail (GST_FLAG_IS_SET (aasinkGST_AASINK_OPEN));
 
   aa_close (aasink->context);
 
@@ -540,7 +525,7 @@ gst_aasink_close (GstAASink *aasink)
 }
 
 static GstElementStateReturn
-gst_aasink_change_state (GstElement *element)
+gst_aasink_change_state (GstElement * element)
 {
   g_return_val_if_fail (GST_IS_AASINK (element), GST_STATE_FAILURE);
 
@@ -550,7 +535,7 @@ gst_aasink_change_state (GstElement *element)
   } else {
     if (!GST_FLAG_IS_SET (element, GST_AASINK_OPEN)) {
       if (!gst_aasink_open (GST_AASINK (element)))
-        return GST_STATE_FAILURE;
+       return GST_STATE_FAILURE;
     }
   }
 
@@ -561,7 +546,7 @@ gst_aasink_change_state (GstElement *element)
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_element_register (plugin, "aasink", GST_RANK_NONE, GST_TYPE_AASINK))
     return FALSE;
@@ -569,14 +554,8 @@ plugin_init (GstPlugin *plugin)
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "aasink",
-  "ASCII Art video sink",
-  plugin_init,
-  VERSION,
-  "GPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "aasink",
+    "ASCII Art video sink",
+    plugin_init, VERSION, "GPL", GST_PACKAGE, GST_ORIGIN)
index e50362f..d11ff20 100644 (file)
@@ -26,8 +26,9 @@
 #include <aalib.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_AASINK \
@@ -41,48 +42,51 @@ extern "C" {
 #define GST_IS_AASINK_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AASINK))
 
-typedef enum {
-  GST_AASINK_OPEN              = GST_ELEMENT_FLAG_LAST,
+  typedef enum
+  {
+    GST_AASINK_OPEN = GST_ELEMENT_FLAG_LAST,
 
-  GST_AASINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
-} GstAASinkFlags;
+    GST_AASINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
+  } GstAASinkFlags;
 
-typedef struct _GstAASink GstAASink;
-typedef struct _GstAASinkClass GstAASinkClass;
+  typedef struct _GstAASink GstAASink;
+  typedef struct _GstAASinkClass GstAASinkClass;
 
-struct _GstAASink {
-  GstElement element;
+  struct _GstAASink
+  {
+    GstElement element;
 
-  GstPad *sinkpad;
+    GstPad *sinkpad;
 
-  gulong format;
-  gint width, height;
+    gulong format;
+    gint width, height;
 
-  gint frames_displayed;
-  guint64 frame_time;
+    gint frames_displayed;
+    guint64 frame_time;
 
-  GstClock *clock;
+    GstClock *clock;
 
-  aa_context *context;
-  struct aa_hardware_params ascii_surf;
-  struct aa_renderparams ascii_parms;
-  aa_palette palette;
-  gint aa_driver;
-};
+    aa_context *context;
+    struct aa_hardware_params ascii_surf;
+    struct aa_renderparams ascii_parms;
+    aa_palette palette;
+    gint aa_driver;
+  };
 
-struct _GstAASinkClass {
-  GstElementClass parent_class;
+  struct _GstAASinkClass
+  {
+    GstElementClass parent_class;
 
-  /* signals */
-  void (*frame_displayed) (GstElement *element);
-  void (*have_size)      (GstElement *element, guint width, guint height);
-};
+    /* signals */
+    void (*frame_displayed) (GstElement * element);
+    void (*have_size) (GstElement * element, guint width, guint height);
+  };
 
-GType gst_aasink_get_type(void);
+  GType gst_aasink_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_AASINKE_H__ */
+#endif                         /* __GST_AASINKE_H__ */
index 4dffd96..6052c76 100644 (file)
@@ -24,8 +24,9 @@
 #include <gst/gst.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #include <libdv/dv.h>
@@ -33,55 +34,55 @@ extern "C" {
 
 
 /* This is the definition of the element's object structure. */
-typedef struct _GstDVDec GstDVDec;
+  typedef struct _GstDVDec GstDVDec;
 
 /* The structure itself is derived from GstElement, as can be seen by the
  * fact that there's a complete instance of the GstElement structure at
  * the beginning of the object.  This allows the element to be cast to
  * an Element or even an Object.
  */
-struct _GstDVDec {
-  GstElement    element;
-
-  /* We need to keep track of our pads, so we do so here. */
-  GstPad       *sinkpad,
-               *videosrcpad,
-                 *audiosrcpad;
-
-  dv_decoder_t         *decoder;
-  gboolean      clamp_luma;
-  gboolean      clamp_chroma;
-  gint          quality;
-
-  GstByteStream *bs;
-  dv_color_space_t space;
-  gint                  bpp;
-  gboolean PAL;
-  gdouble       framerate;
-  gint          height;
-  gint     frequency;
-  gint     channels;
-  
-  gint                  length;
-  guint64       next_ts;
-  guint64       end_position;
-  gboolean      need_discont;
-  gboolean      loop;
-  
-  gboolean found_header;
-
-  gint16       *audio_buffers[4];
-};
+  struct _GstDVDec
+  {
+    GstElement element;
+
+    /* We need to keep track of our pads, so we do so here. */
+    GstPad *sinkpad, *videosrcpad, *audiosrcpad;
+
+    dv_decoder_t *decoder;
+    gboolean clamp_luma;
+    gboolean clamp_chroma;
+    gint quality;
+
+    GstByteStream *bs;
+    dv_color_space_t space;
+    gint bpp;
+    gboolean PAL;
+    gdouble framerate;
+    gint height;
+    gint frequency;
+    gint channels;
+
+    gint length;
+    guint64 next_ts;
+    guint64 end_position;
+    gboolean need_discont;
+    gboolean loop;
+
+    gboolean found_header;
+
+    gint16 *audio_buffers[4];
+  };
 
 /* The other half of the object is its class.  The class also derives from
  * the same parent, though it must be the class structure this time.
  * Function pointers for polymophic methods and signals are placed in this
  * structure. */
-typedef struct _GstDVDecClass GstDVDecClass;
+  typedef struct _GstDVDecClass GstDVDecClass;
 
-struct _GstDVDecClass {
-  GstElementClass parent_class;
-};
+  struct _GstDVDecClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Five standard preprocessing macros are used in the Gtk+ object system.
  * The first uses the object's _get_type function to return the GType
@@ -107,12 +108,12 @@ struct _GstDVDecClass {
 /* This is the only prototype needed, because it is used in the above
  * GST_TYPE_DVDEC macro.
  */
-GType gst_dvdec_get_type(void);
+  GType gst_dvdec_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_DVDEC_H__ */
+#endif                         /* __GST_DVDEC_H__ */
index 25e9df8..4a7f4ca 100644 (file)
@@ -37,12 +37,14 @@ static GstElementDetails esdmon_details = {
 };
 
 /* Signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_DEPTH,
   ARG_BYTESPERREAD,
@@ -52,43 +54,37 @@ enum {
   ARG_HOST,
 };
 
-static GstStaticPadTemplate src_factory = 
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-    "audio/x-raw-int, "
-      "endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", "
-      "signed = (boolean) TRUE, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = [ 8000, 96000 ], "
-      "channels = [ 1, 2 ]; "
-    "audio/x-raw-int, "
-      "signed = (boolean) FALSE, "
-      "width = (int) 8, "
-      "depth = (int) 8, "
-      "rate = [ 8000, 96000 ], "
-      "channels = [ 1, 2 ]"
-  )
-);
-
-static void                     gst_esdmon_base_init    (gpointer g_class);
-static void                    gst_esdmon_class_init   (gpointer g_class, gpointer class_data);
-static void                    gst_esdmon_init         (GTypeInstance *instance, gpointer g_class);
-
-static gboolean                        gst_esdmon_open_audio   (GstEsdmon *src);
-static void                    gst_esdmon_close_audio  (GstEsdmon *src);
-static GstElementStateReturn   gst_esdmon_change_state (GstElement *element);
-static gboolean                        gst_esdmon_sync_parms   (GstEsdmon *esdmon);
-
-static GstData *               gst_esdmon_get          (GstPad *pad);
-
-static void                    gst_esdmon_set_property (GObject *object, guint prop_id, 
-                                                        const GValue *value, GParamSpec *pspec);
-static void                    gst_esdmon_get_property (GObject *object, guint prop_id, 
-                                                        GValue *value, GParamSpec *pspec);
+static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", "
+       "signed = (boolean) TRUE, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = [ 8000, 96000 ], "
+       "channels = [ 1, 2 ]; "
+       "audio/x-raw-int, "
+       "signed = (boolean) FALSE, "
+       "width = (int) 8, "
+       "depth = (int) 8, " "rate = [ 8000, 96000 ], " "channels = [ 1, 2 ]")
+    );
+
+static void gst_esdmon_base_init (gpointer g_class);
+static void gst_esdmon_class_init (gpointer g_class, gpointer class_data);
+static void gst_esdmon_init (GTypeInstance * instance, gpointer g_class);
+
+static gboolean gst_esdmon_open_audio (GstEsdmon * src);
+static void gst_esdmon_close_audio (GstEsdmon * src);
+static GstElementStateReturn gst_esdmon_change_state (GstElement * element);
+static gboolean gst_esdmon_sync_parms (GstEsdmon * esdmon);
+
+static GstData *gst_esdmon_get (GstPad * pad);
+
+static void gst_esdmon_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_esdmon_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 #define GST_TYPE_ESDMON_DEPTHS (gst_esdmon_depths_get_type())
 static GType
@@ -101,7 +97,8 @@ gst_esdmon_depths_get_type (void)
     {0, NULL, NULL},
   };
   if (!esdmon_depths_type) {
-    esdmon_depths_type = g_enum_register_static("GstEsdmonDepths", esdmon_depths);
+    esdmon_depths_type =
+       g_enum_register_static ("GstEsdmonDepths", esdmon_depths);
   }
   return esdmon_depths_type;
 }
@@ -117,13 +114,15 @@ gst_esdmon_channels_get_type (void)
     {0, NULL, NULL},
   };
   if (!esdmon_channels_type) {
-    esdmon_channels_type = g_enum_register_static("GstEsdmonChannels", esdmon_channels);
+    esdmon_channels_type =
+       g_enum_register_static ("GstEsdmonChannels", esdmon_channels);
   }
   return esdmon_channels_type;
 }
 
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_esdmon_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -133,17 +132,18 @@ gst_esdmon_get_type (void)
 
   if (!esdmon_type) {
     static const GTypeInfo esdmon_info = {
-      sizeof(GstEsdmonClass),
+      sizeof (GstEsdmonClass),
       gst_esdmon_base_init,
       NULL,
       gst_esdmon_class_init,
       NULL,
       NULL,
-      sizeof(GstEsdmon),
+      sizeof (GstEsdmon),
       0,
       gst_esdmon_init,
     };
-    esdmon_type = g_type_register_static(GST_TYPE_ELEMENT, "GstEsdmon", &esdmon_info, 0);
+    esdmon_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstEsdmon", &esdmon_info, 0);
   }
   return esdmon_type;
 }
@@ -153,7 +153,7 @@ gst_esdmon_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class, 
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&src_factory));
   gst_element_class_set_details (element_class, &esdmon_details);
 }
@@ -166,24 +166,12 @@ gst_esdmon_class_init (gpointer g_class, gpointer class_data)
 
   parent_class = g_type_class_peek_parent (g_class);
 
-  g_object_class_install_property(gobject_class, ARG_BYTESPERREAD,
-    g_param_spec_ulong("bytes_per_read","bytes_per_read","bytes_per_read",
-                       0,G_MAXULONG,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(gobject_class, ARG_CUROFFSET,
-    g_param_spec_ulong("curoffset","curoffset","curoffset",
-                       0,G_MAXULONG,0,G_PARAM_READABLE)); /* CHECKME */
-  g_object_class_install_property(gobject_class, ARG_DEPTH,
-    g_param_spec_enum("depth","depth","depth",
-                      GST_TYPE_ESDMON_DEPTHS,16,G_PARAM_READWRITE)); /* CHECKME! */
-  g_object_class_install_property(gobject_class, ARG_CHANNELS,
-    g_param_spec_enum("channels","channels","channels",
-                      GST_TYPE_ESDMON_CHANNELS,2,G_PARAM_READWRITE)); /* CHECKME! */
-  g_object_class_install_property(gobject_class, ARG_RATE,
-    g_param_spec_int("frequency","frequency","frequency",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(gobject_class, ARG_HOST,
-    g_param_spec_string("host","host","host",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (gobject_class, ARG_BYTESPERREAD, g_param_spec_ulong ("bytes_per_read", "bytes_per_read", "bytes_per_read", 0, G_MAXULONG, 0, G_PARAM_READWRITE));   /* CHECKME */
+  g_object_class_install_property (gobject_class, ARG_CUROFFSET, g_param_spec_ulong ("curoffset", "curoffset", "curoffset", 0, G_MAXULONG, 0, G_PARAM_READABLE));      /* CHECKME */
+  g_object_class_install_property (gobject_class, ARG_DEPTH, g_param_spec_enum ("depth", "depth", "depth", GST_TYPE_ESDMON_DEPTHS, 16, G_PARAM_READWRITE));    /* CHECKME! */
+  g_object_class_install_property (gobject_class, ARG_CHANNELS, g_param_spec_enum ("channels", "channels", "channels", GST_TYPE_ESDMON_CHANNELS, 2, G_PARAM_READWRITE));       /* CHECKME! */
+  g_object_class_install_property (gobject_class, ARG_RATE, g_param_spec_int ("frequency", "frequency", "frequency", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));       /* CHECKME */
+  g_object_class_install_property (gobject_class, ARG_HOST, g_param_spec_string ("host", "host", "host", NULL, G_PARAM_READWRITE));    /* CHECKME */
 
   gobject_class->set_property = gst_esdmon_set_property;
   gobject_class->get_property = gst_esdmon_get_property;
@@ -192,16 +180,16 @@ gst_esdmon_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_esdmon_init(GTypeInstance *instance, gpointer g_class)
+gst_esdmon_init (GTypeInstance * instance, gpointer g_class)
 {
   GstEsdmon *esdmon = GST_ESDMON (instance);
 
-  esdmon->srcpad = gst_pad_new_from_template (
-      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (esdmon), "src"),
-      "src");
-  gst_pad_set_get_function(esdmon->srcpad, gst_esdmon_get);
+  esdmon->srcpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template
+      (GST_ELEMENT_GET_CLASS (esdmon), "src"), "src");
+  gst_pad_set_get_function (esdmon->srcpad, gst_esdmon_get);
   gst_pad_use_explicit_caps (esdmon->srcpad);
-  gst_element_add_pad(GST_ELEMENT(esdmon), esdmon->srcpad);
+  gst_element_add_pad (GST_ELEMENT (esdmon), esdmon->srcpad);
 
   esdmon->fd = -1;
   /* FIXME: get default from somewhere better than just putting them inline. */
@@ -216,12 +204,13 @@ gst_esdmon_init(GTypeInstance *instance, gpointer g_class)
 }
 
 static gboolean
-gst_esdmon_sync_parms (GstEsdmon *esdmon)
+gst_esdmon_sync_parms (GstEsdmon * esdmon)
 {
   g_return_val_if_fail (esdmon != NULL, FALSE);
   g_return_val_if_fail (GST_IS_ESDMON (esdmon), FALSE);
 
-  if (esdmon->fd == -1) return TRUE;
+  if (esdmon->fd == -1)
+    return TRUE;
 
   /* Need to set fd to use new parameters: only way to do this is to reopen. */
   gst_esdmon_close_audio (esdmon);
@@ -229,7 +218,7 @@ gst_esdmon_sync_parms (GstEsdmon *esdmon)
 }
 
 static GstData *
-gst_esdmon_get (GstPad *pad)
+gst_esdmon_get (GstPad * pad)
 {
   GstEsdmon *esdmon;
   GstBuffer *buf;
@@ -237,36 +226,33 @@ gst_esdmon_get (GstPad *pad)
   glong readsamples;
 
   g_return_val_if_fail (pad != NULL, NULL);
-  esdmon = GST_ESDMON(gst_pad_get_parent (pad));
+  esdmon = GST_ESDMON (gst_pad_get_parent (pad));
 
   GST_DEBUG ("attempting to read something from esdmon");
 
   buf = gst_buffer_new ();
   g_return_val_if_fail (buf, NULL);
 
-  GST_BUFFER_DATA (buf) = (gpointer)g_malloc (esdmon->bytes_per_read);
+  GST_BUFFER_DATA (buf) = (gpointer) g_malloc (esdmon->bytes_per_read);
 
-  readbytes = read (esdmon->fd,
-                   GST_BUFFER_DATA (buf),
-                    esdmon->bytes_per_read);
+  readbytes = read (esdmon->fd, GST_BUFFER_DATA (buf), esdmon->bytes_per_read);
 
   if (readbytes == 0) {
-      gst_element_set_eos (GST_ELEMENT (esdmon));
-      return NULL;
+    gst_element_set_eos (GST_ELEMENT (esdmon));
+    return NULL;
   }
   if (!GST_PAD_CAPS (pad)) {
     gint sign = (esdmon->depth == 8 ? FALSE : TRUE);
+
     /* set caps on src pad */
     if (gst_pad_set_explicit_caps (esdmon->srcpad,
-       gst_caps_new_simple ("audio/x-raw-int",
-         "endianness", G_TYPE_INT,     G_BYTE_ORDER,
-          "signed",     G_TYPE_BOOLEAN, sign,
-          "width",      G_TYPE_INT,    esdmon->depth,
-          "depth",      G_TYPE_INT,    esdmon->depth,
-          "rate",       G_TYPE_INT,    esdmon->frequency,
-          "channels",   G_TYPE_INT,    esdmon->channels
-        )) <= 0)
-    {
+           gst_caps_new_simple ("audio/x-raw-int",
+               "endianness", G_TYPE_INT, G_BYTE_ORDER,
+               "signed", G_TYPE_BOOLEAN, sign,
+               "width", G_TYPE_INT, esdmon->depth,
+               "depth", G_TYPE_INT, esdmon->depth,
+               "rate", G_TYPE_INT, esdmon->frequency,
+               "channels", G_TYPE_INT, esdmon->channels)) <= 0) {
       GST_ELEMENT_ERROR (esdmon, CORE, NEGOTIATION, (NULL), (NULL));
       return NULL;
     }
@@ -275,25 +261,28 @@ gst_esdmon_get (GstPad *pad)
   GST_BUFFER_SIZE (buf) = readbytes;
   GST_BUFFER_OFFSET (buf) = esdmon->curoffset;
   GST_BUFFER_TIMESTAMP (buf) = esdmon->basetime +
-         esdmon->samples_since_basetime * GST_SECOND / esdmon->frequency;
+      esdmon->samples_since_basetime * GST_SECOND / esdmon->frequency;
 
   esdmon->curoffset += readbytes;
   readsamples = readbytes / esdmon->channels;
-  if (esdmon->depth == 16) readsamples /= 2;
+  if (esdmon->depth == 16)
+    readsamples /= 2;
   esdmon->samples_since_basetime += readsamples;
 
-  GST_DEBUG ("pushed buffer from esdmon of %ld bytes, timestamp %" G_GINT64_FORMAT, readbytes, GST_BUFFER_TIMESTAMP (buf));
+  GST_DEBUG ("pushed buffer from esdmon of %ld bytes, timestamp %"
+      G_GINT64_FORMAT, readbytes, GST_BUFFER_TIMESTAMP (buf));
   return GST_DATA (buf);
 }
 
 static void
-gst_esdmon_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_esdmon_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstEsdmon *esdmon;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_ESDMON(object));
-  esdmon = GST_ESDMON(object);
+  g_return_if_fail (GST_IS_ESDMON (object));
+  esdmon = GST_ESDMON (object);
 
   switch (prop_id) {
     case ARG_BYTESPERREAD:
@@ -310,7 +299,8 @@ gst_esdmon_set_property (GObject *object, guint prop_id, const GValue *value, GP
       break;
     case ARG_RATE:
       /* Preserve the timestamps */
-      esdmon->basetime = esdmon->samples_since_basetime * GST_SECOND / esdmon->frequency;
+      esdmon->basetime =
+         esdmon->samples_since_basetime * GST_SECOND / esdmon->frequency;
       esdmon->samples_since_basetime = 0;
 
       /* Set the new frequency */
@@ -318,11 +308,12 @@ gst_esdmon_set_property (GObject *object, guint prop_id, const GValue *value, GP
       gst_esdmon_sync_parms (esdmon);
       break;
     case ARG_HOST:
-      if (esdmon->host != NULL) g_free(esdmon->host);
+      if (esdmon->host != NULL)
+       g_free (esdmon->host);
       if (g_value_get_string (value) == NULL)
-         esdmon->host = NULL;
+       esdmon->host = NULL;
       else
-         esdmon->host = g_strdup (g_value_get_string (value));
+       esdmon->host = g_strdup (g_value_get_string (value));
       break;
     default:
       break;
@@ -330,13 +321,14 @@ gst_esdmon_set_property (GObject *object, guint prop_id, const GValue *value, GP
 }
 
 static void
-gst_esdmon_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_esdmon_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstEsdmon *esdmon;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_ESDMON(object));
-  esdmon = GST_ESDMON(object);
+  g_return_if_fail (GST_IS_ESDMON (object));
+  esdmon = GST_ESDMON (object);
 
   switch (prop_id) {
     case ARG_BYTESPERREAD:
@@ -364,42 +356,46 @@ gst_esdmon_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
 }
 
 gboolean
-gst_esdmon_factory_init (GstPlugin *plugin)
+gst_esdmon_factory_init (GstPlugin * plugin)
 {
   if (!gst_element_register (plugin, "esdmon", GST_RANK_NONE, GST_TYPE_ESDMON))
     return FALSE;
-  
+
   return TRUE;
 }
 
 static gboolean
-gst_esdmon_open_audio (GstEsdmon *src)
+gst_esdmon_open_audio (GstEsdmon * src)
 {
   /* Name used by esound for this connection. */
-  const char * connname = "GStreamer";
+  const char *connname = "GStreamer";
 
   /* Bitmap describing audio format. */
   esd_format_t esdformat = ESD_STREAM | ESD_PLAY;
 
   g_return_val_if_fail (src->fd == -1, FALSE);
 
-  if (src->depth == 16) esdformat |= ESD_BITS16;
-  else if (src->depth == 8) esdformat |= ESD_BITS8;
+  if (src->depth == 16)
+    esdformat |= ESD_BITS16;
+  else if (src->depth == 8)
+    esdformat |= ESD_BITS8;
   else {
     GST_DEBUG ("esdmon: invalid bit depth (%d)", src->depth);
     return FALSE;
   }
 
-  if (src->channels == 2) esdformat |= ESD_STEREO;
-  else if (src->channels == 1) esdformat |= ESD_MONO;
+  if (src->channels == 2)
+    esdformat |= ESD_STEREO;
+  else if (src->channels == 1)
+    esdformat |= ESD_MONO;
   else {
     GST_DEBUG ("esdmon: invalid number of channels (%d)", src->channels);
     return FALSE;
   }
 
   GST_DEBUG ("esdmon: attempting to open connection to esound server");
-  src->fd = esd_monitor_stream(esdformat, src->frequency, src->host, connname);
-  if ( src->fd < 0 ) {
+  src->fd = esd_monitor_stream (esdformat, src->frequency, src->host, connname);
+  if (src->fd < 0) {
     GST_DEBUG ("esdmon: can't open connection to esound server");
     return FALSE;
   }
@@ -410,11 +406,12 @@ gst_esdmon_open_audio (GstEsdmon *src)
 }
 
 static void
-gst_esdmon_close_audio (GstEsdmon *src)
+gst_esdmon_close_audio (GstEsdmon * src)
 {
-  if (src->fd < 0) return;
+  if (src->fd < 0)
+    return;
 
-  close(src->fd);
+  close (src->fd);
   src->fd = -1;
 
   GST_FLAG_UNSET (src, GST_ESDMON_OPEN);
@@ -423,7 +420,7 @@ gst_esdmon_close_audio (GstEsdmon *src)
 }
 
 static GstElementStateReturn
-gst_esdmon_change_state (GstElement *element)
+gst_esdmon_change_state (GstElement * element)
 {
   g_return_val_if_fail (GST_IS_ESDMON (element), FALSE);
 
@@ -443,4 +440,3 @@ gst_esdmon_change_state (GstElement *element)
     return GST_ELEMENT_CLASS (parent_class)->change_state (element);
   return GST_STATE_SUCCESS;
 }
-
index f50e654..5b8c7e4 100644 (file)
@@ -26,7 +26,6 @@
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_ESDMON \
   (gst_esdmon_get_type())
 #define GST_ESDMON(obj) \
@@ -37,21 +36,22 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ESDMON))
 #define GST_IS_ESDMON_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDMON))
-
-typedef enum {
-  GST_ESDMON_OPEN            = GST_ELEMENT_FLAG_LAST,
-  GST_ESDMON_FLAG_LAST       = GST_ELEMENT_FLAG_LAST+2,
+    typedef enum
+{
+  GST_ESDMON_OPEN = GST_ELEMENT_FLAG_LAST,
+  GST_ESDMON_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
 } GstEsdSrcFlags;
 
 typedef struct _GstEsdmon GstEsdmon;
 typedef struct _GstEsdmonClass GstEsdmonClass;
 
-struct _GstEsdmon {
+struct _GstEsdmon
+{
   GstElement element;
 
   GstPad *srcpad;
 
-  gcharhost;
+  gchar *host;
 
   int fd;
 
@@ -65,14 +65,13 @@ struct _GstEsdmon {
   guint64 bytes_per_read;
 };
 
-struct _GstEsdmonClass {
+struct _GstEsdmonClass
+{
   GstElementClass parent_class;
 };
 
-GType gst_esdmon_get_type(void);
-gboolean gst_esdmon_factory_init(GstPlugin *plugin);
+GType gst_esdmon_get_type (void);
+gboolean gst_esdmon_factory_init (GstPlugin * plugin);
 
 G_END_DECLS
-
 #endif /* __GST_ESDMON_H__ */
-
index 4672ab7..ce7045e 100644 (file)
@@ -40,12 +40,14 @@ static GstElementDetails esdsink_details = {
 };
 
 /* Signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_MUTE,
   ARG_HOST,
@@ -53,41 +55,36 @@ enum {
   ARG_FALLBACK,
 };
 
-static GstStaticPadTemplate sink_factory = 
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-    "audio/x-raw-int, "
-      "endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", "
-      "signed = (boolean) TRUE, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = 44100, "
-      "channels = 2"
-  )
-);
-
-static void                     gst_esdsink_base_init           (gpointer g_class);
-static void                    gst_esdsink_class_init          (gpointer g_class, gpointer class_data);
-static void                    gst_esdsink_init                (GTypeInstance *instance, gpointer g_class);
-
-static gboolean                        gst_esdsink_open_audio          (GstEsdsink *sink);
-static void                    gst_esdsink_close_audio         (GstEsdsink *sink);
-static GstElementStateReturn   gst_esdsink_change_state        (GstElement *element);
-
-static GstClockTime            gst_esdsink_get_time            (GstClock *clock, gpointer data);
-static GstClock *              gst_esdsink_get_clock           (GstElement *element);
-static void                     gst_esdsink_set_clock           (GstElement *element, GstClock *clock);
-static void                    gst_esdsink_chain               (GstPad *pad, GstData *_data);
-
-static void                    gst_esdsink_set_property        (GObject *object, guint prop_id, 
-                                                                const GValue *value, GParamSpec *pspec);
-static void                    gst_esdsink_get_property        (GObject *object, guint prop_id, 
-                                                                GValue *value, GParamSpec *pspec);
+static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", "
+       "signed = (boolean) TRUE, "
+       "width = (int) 16, "
+       "depth = (int) 16, " "rate = 44100, " "channels = 2")
+    );
+
+static void gst_esdsink_base_init (gpointer g_class);
+static void gst_esdsink_class_init (gpointer g_class, gpointer class_data);
+static void gst_esdsink_init (GTypeInstance * instance, gpointer g_class);
+
+static gboolean gst_esdsink_open_audio (GstEsdsink * sink);
+static void gst_esdsink_close_audio (GstEsdsink * sink);
+static GstElementStateReturn gst_esdsink_change_state (GstElement * element);
+
+static GstClockTime gst_esdsink_get_time (GstClock * clock, gpointer data);
+static GstClock *gst_esdsink_get_clock (GstElement * element);
+static void gst_esdsink_set_clock (GstElement * element, GstClock * clock);
+static void gst_esdsink_chain (GstPad * pad, GstData * _data);
+
+static void gst_esdsink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_esdsink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_esdsink_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -97,17 +94,19 @@ gst_esdsink_get_type (void)
 
   if (!esdsink_type) {
     static const GTypeInfo esdsink_info = {
-      sizeof(GstEsdsinkClass),
+      sizeof (GstEsdsinkClass),
       gst_esdsink_base_init,
       NULL,
       gst_esdsink_class_init,
       NULL,
       NULL,
-      sizeof(GstEsdsink),
+      sizeof (GstEsdsink),
       0,
       gst_esdsink_init,
     };
-    esdsink_type = g_type_register_static(GST_TYPE_ELEMENT, "GstEsdsink", &esdsink_info, 0);
+    esdsink_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstEsdsink", &esdsink_info,
+       0);
   }
   return esdsink_type;
 }
@@ -117,7 +116,7 @@ gst_esdsink_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class, 
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&sink_factory));
   gst_element_class_set_details (element_class, &esdsink_details);
 }
@@ -130,64 +129,64 @@ gst_esdsink_class_init (gpointer g_class, gpointer class_data)
 
   parent_class = g_type_class_peek_parent (g_class);
 
-  g_object_class_install_property(gobject_class, ARG_MUTE,
-    g_param_spec_boolean("mute","mute","mute",
-                         TRUE,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(gobject_class, ARG_HOST,
-    g_param_spec_string("host","host","host",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(gobject_class, ARG_SYNC,
-    g_param_spec_boolean("sync","sync","Synchronize output to clock",
-                         TRUE,G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_MUTE, g_param_spec_boolean ("mute", "mute", "mute", TRUE, G_PARAM_READWRITE));   /* CHECKME */
+  g_object_class_install_property (gobject_class, ARG_HOST, g_param_spec_string ("host", "host", "host", NULL, G_PARAM_READWRITE));    /* CHECKME */
+  g_object_class_install_property (gobject_class, ARG_SYNC,
+      g_param_spec_boolean ("sync", "sync", "Synchronize output to clock",
+         TRUE, G_PARAM_READWRITE));
 #if 0
   /* This option is disabled because it is dumb in GStreamer's architecture. */
-  g_object_class_install_property(gobject_class, ARG_FALLBACK,
-    g_param_spec_boolean("fallback","fallback","Fall back to using OSS if Esound daemon is not present",
-                         FALSE,G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_FALLBACK,
+      g_param_spec_boolean ("fallback", "fallback",
+         "Fall back to using OSS if Esound daemon is not present", FALSE,
+         G_PARAM_READWRITE));
 #endif
 
   gobject_class->set_property = gst_esdsink_set_property;
   gobject_class->get_property = gst_esdsink_get_property;
 
   gstelement_class->change_state = gst_esdsink_change_state;
-  gstelement_class->set_clock    = gst_esdsink_set_clock;
-  gstelement_class->get_clock    = gst_esdsink_get_clock;
+  gstelement_class->set_clock = gst_esdsink_set_clock;
+  gstelement_class->get_clock = gst_esdsink_get_clock;
 }
 
 static void
-gst_esdsink_init(GTypeInstance *instance, gpointer g_class)
+gst_esdsink_init (GTypeInstance * instance, gpointer g_class)
 {
   GstEsdsink *esdsink = GST_ESDSINK (instance);
-  
-  esdsink->sinkpad = gst_pad_new_from_template (
-      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (instance), "sink"), 
-      "sink");
-  gst_element_add_pad(GST_ELEMENT(esdsink), esdsink->sinkpad);
-  gst_pad_set_chain_function(esdsink->sinkpad, GST_DEBUG_FUNCPTR(gst_esdsink_chain));
+
+  esdsink->sinkpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template
+      (GST_ELEMENT_GET_CLASS (instance), "sink"), "sink");
+  gst_element_add_pad (GST_ELEMENT (esdsink), esdsink->sinkpad);
+  gst_pad_set_chain_function (esdsink->sinkpad,
+      GST_DEBUG_FUNCPTR (gst_esdsink_chain));
 
   GST_FLAG_SET (esdsink, GST_ELEMENT_EVENT_AWARE);
 
   esdsink->mute = FALSE;
   esdsink->fd = -1;
   /* FIXME: get default from somewhere better than just putting them inline. */
-  /*esdsink->negotiated = FALSE;*/
+  /*esdsink->negotiated = FALSE; */
   /* we have static caps on our template, so it always is negotiated */
   esdsink->negotiated = TRUE;
   esdsink->format = 16;
   esdsink->depth = 16;
   esdsink->channels = 2;
   esdsink->frequency = 44100;
-  esdsink->bytes_per_sample = esdsink->channels * (esdsink->depth/8);
+  esdsink->bytes_per_sample = esdsink->channels * (esdsink->depth / 8);
   esdsink->host = getenv ("ESPEAKER");
-  esdsink->provided_clock = gst_audio_clock_new("esdclock", gst_esdsink_get_time, esdsink);
-  gst_object_set_parent(GST_OBJECT(esdsink->provided_clock), GST_OBJECT(esdsink));
+  esdsink->provided_clock =
+      gst_audio_clock_new ("esdclock", gst_esdsink_get_time, esdsink);
+  gst_object_set_parent (GST_OBJECT (esdsink->provided_clock),
+      GST_OBJECT (esdsink));
   esdsink->sync = TRUE;
   esdsink->fallback = FALSE;
 }
 
 #ifdef unused
 static GstPadLinkReturn
-gst_esdsink_link (GstPad *pad, const GstCaps *caps)
+gst_esdsink_link (GstPad * pad, const GstCaps * caps)
 {
   GstEsdsink *esdsink;
   GstStructure *structure;
@@ -199,7 +198,7 @@ gst_esdsink_link (GstPad *pad, const GstCaps *caps)
   gst_structure_get_int (structure, "channels", &esdsink->channels);
   gst_structure_get_int (structure, "rate", &esdsink->frequency);
 
-  esdsink->bytes_per_sample = esdsink->channels * (esdsink->depth/8);
+  esdsink->bytes_per_sample = esdsink->channels * (esdsink->depth / 8);
 
   gst_esdsink_close_audio (esdsink);
   if (gst_esdsink_open_audio (esdsink)) {
@@ -215,29 +214,29 @@ gst_esdsink_link (GstPad *pad, const GstCaps *caps)
 #endif
 
 static GstClockTime
-gst_esdsink_get_time (GstClock *clock, gpointer data)
+gst_esdsink_get_time (GstClock * clock, gpointer data)
 {
-  GstEsdsink *esdsink = GST_ESDSINK(data);
+  GstEsdsink *esdsink = GST_ESDSINK (data);
   GstClockTime res;
 
   res = (esdsink->handled * GST_SECOND) / esdsink->frequency;
-    //- GST_SECOND * 2;
+  //- GST_SECOND * 2;
 
   return res;
 }
 
 static GstClock *
-gst_esdsink_get_clock (GstElement *element)
+gst_esdsink_get_clock (GstElement * element)
 {
   GstEsdsink *esdsink;
 
   esdsink = GST_ESDSINK (element);
 
-  return GST_CLOCK(esdsink->provided_clock);
+  return GST_CLOCK (esdsink->provided_clock);
 }
 
 static void
-gst_esdsink_set_clock (GstElement *element, GstClock *clock)
+gst_esdsink_set_clock (GstElement * element, GstClock * clock)
 {
   GstEsdsink *esdsink;
 
@@ -247,7 +246,7 @@ gst_esdsink_set_clock (GstElement *element, GstClock *clock)
 }
 
 static void
-gst_esdsink_chain (GstPad *pad, GstData *_data)
+gst_esdsink_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstEsdsink *esdsink;
@@ -256,24 +255,24 @@ gst_esdsink_chain (GstPad *pad, GstData *_data)
 
   if (!esdsink->negotiated) {
     GST_ELEMENT_ERROR (esdsink, CORE, NEGOTIATION, (NULL),
-                       ("element wasn't negotiated before chain function"));
+       ("element wasn't negotiated before chain function"));
     goto done;
   }
 
-  if (GST_IS_EVENT(buf)){
-    GstEvent *event = GST_EVENT(buf);
+  if (GST_IS_EVENT (buf)) {
+    GstEvent *event = GST_EVENT (buf);
 
-    switch(GST_EVENT_TYPE(event)){
+    switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_EOS:
        gst_audio_clock_set_active (GST_AUDIO_CLOCK (esdsink->provided_clock),
            FALSE);
        gst_pad_event_default (pad, event);
        return;
       default:
-       gst_pad_event_default(pad, event);
+       gst_pad_event_default (pad, event);
        return;
     }
-    gst_event_unref(event);
+    gst_event_unref (event);
     return;
   }
 
@@ -286,17 +285,17 @@ gst_esdsink_chain (GstPad *pad, GstData *_data)
       to_write = size;
 
       GST_LOG ("fd=%d data=%p size=%d",
-                esdsink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
-      while (to_write > 0){
+         esdsink->fd, GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+      while (to_write > 0) {
        int done;
 
-        done = write (esdsink->fd, data, to_write);
+       done = write (esdsink->fd, data, to_write);
 
-       if(done < 0){
-         if(errno==EINTR){
+       if (done < 0) {
+         if (errno == EINTR) {
            goto done;
          }
-         g_assert_not_reached();
+         g_assert_not_reached ();
        }
 
        to_write -= done;
@@ -307,7 +306,7 @@ gst_esdsink_chain (GstPad *pad, GstData *_data)
     }
   }
 
-  gst_audio_clock_update_time ((GstAudioClock *)esdsink->provided_clock,
+  gst_audio_clock_update_time ((GstAudioClock *) esdsink->provided_clock,
       gst_esdsink_get_time (esdsink->provided_clock, esdsink));
 
 done:
@@ -315,24 +314,25 @@ done:
 }
 
 static void
-gst_esdsink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_esdsink_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstEsdsink *esdsink;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_ESDSINK(object));
-  esdsink = GST_ESDSINK(object);
+  g_return_if_fail (GST_IS_ESDSINK (object));
+  esdsink = GST_ESDSINK (object);
 
   switch (prop_id) {
     case ARG_MUTE:
       esdsink->mute = g_value_get_boolean (value);
       break;
     case ARG_HOST:
-      g_free(esdsink->host);
+      g_free (esdsink->host);
       if (g_value_get_string (value) == NULL)
-         esdsink->host = NULL;
+       esdsink->host = NULL;
       else
-         esdsink->host = g_strdup (g_value_get_string (value));
+       esdsink->host = g_strdup (g_value_get_string (value));
       break;
     case ARG_SYNC:
       esdsink->sync = g_value_get_boolean (value);
@@ -346,11 +346,12 @@ gst_esdsink_set_property (GObject *object, guint prop_id, const GValue *value, G
 }
 
 static void
-gst_esdsink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_esdsink_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstEsdsink *esdsink;
 
-  esdsink = GST_ESDSINK(object);
+  esdsink = GST_ESDSINK (object);
 
   switch (prop_id) {
     case ARG_MUTE:
@@ -372,50 +373,58 @@ gst_esdsink_get_property (GObject *object, guint prop_id, GValue *value, GParamS
 }
 
 gboolean
-gst_esdsink_factory_init (GstPlugin *plugin)
+gst_esdsink_factory_init (GstPlugin * plugin)
 {
-  if (!gst_element_register (plugin, "esdsink", GST_RANK_NONE, GST_TYPE_ESDSINK))
+  if (!gst_element_register (plugin, "esdsink", GST_RANK_NONE,
+         GST_TYPE_ESDSINK))
     return FALSE;
 
   return TRUE;
 }
 
 static gboolean
-gst_esdsink_open_audio (GstEsdsink *sink)
+gst_esdsink_open_audio (GstEsdsink * sink)
 {
   /* Name used by esound for this connection. */
-  const char * connname = "GStreamer";
+  const char *connname = "GStreamer";
 
   /* Bitmap describing audio format. */
   esd_format_t esdformat = ESD_STREAM | ESD_PLAY;
 
   g_return_val_if_fail (sink->fd == -1, FALSE);
 
-  if (sink->depth == 16) esdformat |= ESD_BITS16;
-  else if (sink->depth == 8) esdformat |= ESD_BITS8;
+  if (sink->depth == 16)
+    esdformat |= ESD_BITS16;
+  else if (sink->depth == 8)
+    esdformat |= ESD_BITS8;
   else {
     GST_ELEMENT_ERROR (sink, STREAM, FORMAT, (NULL),
-                       ("invalid bit depth (%d)", sink->depth));
+       ("invalid bit depth (%d)", sink->depth));
     return FALSE;
   }
 
-  if (sink->channels == 2) esdformat |= ESD_STEREO;
-  else if (sink->channels == 1) esdformat |= ESD_MONO;
+  if (sink->channels == 2)
+    esdformat |= ESD_STEREO;
+  else if (sink->channels == 1)
+    esdformat |= ESD_MONO;
   else {
     GST_ELEMENT_ERROR (sink, STREAM, FORMAT, (NULL),
-                       ("invalid number of channels (%d)", sink->channels));
+       ("invalid number of channels (%d)", sink->channels));
     return FALSE;
   }
 
   GST_INFO ("attempting to open connection to esound server");
-  if(sink->fallback){
-    sink->fd = esd_play_stream_fallback(esdformat, sink->frequency, sink->host, connname);
-  }else{
-    sink->fd = esd_play_stream(esdformat, sink->frequency, sink->host, connname);
+  if (sink->fallback) {
+    sink->fd =
+       esd_play_stream_fallback (esdformat, sink->frequency, sink->host,
+       connname);
+  } else {
+    sink->fd =
+       esd_play_stream (esdformat, sink->frequency, sink->host, connname);
   }
-  if ( sink->fd < 0 ) {
+  if (sink->fd < 0) {
     GST_ELEMENT_ERROR (sink, RESOURCE, OPEN_WRITE, (NULL),
-                       ("can't open connection to esound server"));
+       ("can't open connection to esound server"));
     return FALSE;
   }
   GST_INFO ("successfully opened connection to esound server");
@@ -424,19 +433,19 @@ gst_esdsink_open_audio (GstEsdsink *sink)
 }
 
 static void
-gst_esdsink_close_audio (GstEsdsink *sink)
+gst_esdsink_close_audio (GstEsdsink * sink)
 {
-  if (sink->fd < 0) 
+  if (sink->fd < 0)
     return;
 
-  close(sink->fd);
+  close (sink->fd);
   sink->fd = -1;
 
   GST_INFO ("esdsink: closed sound device");
 }
 
 static GstElementStateReturn
-gst_esdsink_change_state (GstElement *element)
+gst_esdsink_change_state (GstElement * element)
 {
   GstEsdsink *esdsink;
 
@@ -445,7 +454,7 @@ gst_esdsink_change_state (GstElement *element)
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
       if (!gst_esdsink_open_audio (GST_ESDSINK (element))) {
-        return GST_STATE_FAILURE;
+       return GST_STATE_FAILURE;
       }
       break;
     case GST_STATE_READY_TO_PAUSED:
@@ -473,4 +482,3 @@ gst_esdsink_change_state (GstElement *element)
 
   return GST_STATE_SUCCESS;
 }
-
index 9bf8164..f88f29b 100644 (file)
@@ -25,7 +25,6 @@
 #include <gst/audio/audioclock.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_ESDSINK \
   (gst_esdsink_get_type())
 #define GST_ESDSINK(obj) \
@@ -36,41 +35,41 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ESDSINK))
 #define GST_IS_ESDSINK_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK))
-
 typedef struct _GstEsdsink GstEsdsink;
 typedef struct _GstEsdsinkClass GstEsdsinkClass;
 
-struct _GstEsdsink {
-  GstElement    element;
+struct _GstEsdsink
+{
+  GstElement element;
 
-  GstPad       *sinkpad;
+  GstPad *sinkpad;
 
-  GstClock     *provided_clock;
-  GstClock     *clock;
+  GstClock *provided_clock;
+  GstClock *clock;
 
-  gboolean      mute;
-  int           fd;
-  gint                  format;
-  gint                  depth;
-  gint                  channels;
-  gint                  frequency;
-  gboolean      negotiated;
-  gchar                *host;
-  int           handled;
-  int           bytes_per_sample;
-  gboolean      sync;
-  gboolean      resync;
-  gboolean      fallback;
+  gboolean mute;
+  int fd;
+  gint format;
+  gint depth;
+  gint channels;
+  gint frequency;
+  gboolean negotiated;
+  gchar *host;
+  int handled;
+  int bytes_per_sample;
+  gboolean sync;
+  gboolean resync;
+  gboolean fallback;
 };
 
-struct _GstEsdsinkClass {
+struct _GstEsdsinkClass
+{
   GstElementClass parent_class;
 };
 
-GType gst_esdsink_get_type(void);
-gboolean gst_esdsink_factory_init (GstPlugin *plugin);
+GType gst_esdsink_get_type (void);
+gboolean gst_esdsink_factory_init (GstPlugin * plugin);
 
 
 G_END_DECLS
-
 #endif /* __GST_ESDSINK_H__ */
index ea480a3..4ee0336 100644 (file)
 GST_DEBUG_CATEGORY (esd_debug);
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   gboolean ret;
 
-  if (!gst_library_load ("gstaudio")) return FALSE;
+  if (!gst_library_load ("gstaudio"))
+    return FALSE;
 
-  ret = gst_esdsink_factory_init(plugin);
-  if(ret == FALSE) return FALSE;
+  ret = gst_esdsink_factory_init (plugin);
+  if (ret == FALSE)
+    return FALSE;
 
-  ret = gst_esdmon_factory_init(plugin);
-  if(ret == FALSE) return FALSE;
+  ret = gst_esdmon_factory_init (plugin);
+  if (ret == FALSE)
+    return FALSE;
 
   GST_DEBUG_CATEGORY_INIT (esd_debug, "esd", 0, "ESounD elements");
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "esdsink",
-  "ESD Element Plugins",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
-
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "esdsink",
+    "ESD Element Plugins",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 87b5b86..defa969 100644 (file)
@@ -16,7 +16,7 @@
 /* FIXME when there's a autoconf symbol */
 #ifndef FLAC_VERSION
 
-#ifndef FLAC__VERSION_STRING /* removed in 1.0.4 */
+#ifndef FLAC__VERSION_STRING   /* removed in 1.0.4 */
 #define FLAC_VERSION 0x010004
 #else
 #ifdef FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE
index 3c06cac..c1dba93 100644 (file)
@@ -28,7 +28,7 @@
 #include "flac_compat.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_library_load ("gstbytestream"))
     return FALSE;
@@ -37,25 +37,23 @@ plugin_init (GstPlugin *plugin)
   if (!gst_plugin_load ("gsttags"))
     return FALSE;
 
-  if (!gst_element_register (plugin, "flacenc", GST_RANK_NONE, GST_TYPE_FLACENC))
+  if (!gst_element_register (plugin, "flacenc", GST_RANK_NONE,
+         GST_TYPE_FLACENC))
     return FALSE;
 
-  if (!gst_element_register (plugin, "flacdec", GST_RANK_PRIMARY, GST_TYPE_FLACDEC))
+  if (!gst_element_register (plugin, "flacdec", GST_RANK_PRIMARY,
+         GST_TYPE_FLACDEC))
     return FALSE;
 
-  if (!gst_element_register (plugin, "flactag", GST_RANK_PRIMARY, gst_flac_tag_get_type ())) 
+  if (!gst_element_register (plugin, "flactag", GST_RANK_PRIMARY,
+         gst_flac_tag_get_type ()))
     return FALSE;
-  
+
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "flac",
-  "The FLAC Lossless compressor Codec",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "flac",
+    "The FLAC Lossless compressor Codec",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 25769bc..3882df1 100644 (file)
@@ -41,104 +41,101 @@ GstElementDetails flacdec_details = {
 };
 
 /* FlacDec signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_METADATA
 };
 
-static void             gst_flacdec_base_init           (gpointer g_class);
-static void            gst_flacdec_class_init          (FlacDecClass *klass);
-static void            gst_flacdec_init                (FlacDec *flacdec);
+static void gst_flacdec_base_init (gpointer g_class);
+static void gst_flacdec_class_init (FlacDecClass * klass);
+static void gst_flacdec_init (FlacDec * flacdec);
+
+static void gst_flacdec_loop (GstElement * element);
+static GstElementStateReturn gst_flacdec_change_state (GstElement * element);
+static const GstFormat *gst_flacdec_get_src_formats (GstPad * pad);
+static gboolean gst_flacdec_convert_src (GstPad * pad, GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value);
+static const GstQueryType *gst_flacdec_get_src_query_types (GstPad * pad);
+static gboolean gst_flacdec_src_query (GstPad * pad, GstQueryType type,
+    GstFormat * format, gint64 * value);
+static const GstEventMask *gst_flacdec_get_src_event_masks (GstPad * pad);
+static gboolean gst_flacdec_src_event (GstPad * pad, GstEvent * event);
 
-static void            gst_flacdec_loop                (GstElement *element);
-static GstElementStateReturn
-                       gst_flacdec_change_state        (GstElement *element);
-static const GstFormat* gst_flacdec_get_src_formats    (GstPad *pad);
-static gboolean        gst_flacdec_convert_src         (GstPad *pad, GstFormat src_format, gint64 src_value,
-                                                        GstFormat *dest_format, gint64 *dest_value);
-static const GstQueryType* 
-                       gst_flacdec_get_src_query_types (GstPad *pad);
-static gboolean                gst_flacdec_src_query           (GstPad *pad, GstQueryType type,
-                                                        GstFormat *format, gint64 *value);
-static const GstEventMask* 
-                       gst_flacdec_get_src_event_masks (GstPad *pad);
-static gboolean        gst_flacdec_src_event           (GstPad *pad, GstEvent *event);
-
-static FLAC__SeekableStreamDecoderReadStatus   
-                       gst_flacdec_read                (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        FLAC__byte buffer[], unsigned *bytes, 
-                                                        void *client_data);
-static FLAC__SeekableStreamDecoderSeekStatus   
-                       gst_flacdec_seek                (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        FLAC__uint64 position, void *client_data);
-static FLAC__SeekableStreamDecoderTellStatus   
-                       gst_flacdec_tell                (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        FLAC__uint64 *position, void *client_data);
-static FLAC__SeekableStreamDecoderLengthStatus         
-                       gst_flacdec_length              (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        FLAC__uint64 *length, void *client_data);
-static FLAC__bool      gst_flacdec_eof                 (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        void *client_data);
-static FLAC__StreamDecoderWriteStatus  
-                       gst_flacdec_write               (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        const FLAC__Frame *frame, 
-                                                        const FLAC__int32 * const buffer[], 
-                                                        void *client_data);
-static void            gst_flacdec_metadata_callback   (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        const FLAC__StreamMetadata *metadata, 
-                                                        void *client_data);
-static void            gst_flacdec_error_callback      (const FLAC__SeekableStreamDecoder *decoder, 
-                                                        FLAC__StreamDecoderErrorStatus status, 
-                                                        void *client_data);
+static FLAC__SeekableStreamDecoderReadStatus
+gst_flacdec_read (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__byte buffer[], unsigned *bytes, void *client_data);
+static FLAC__SeekableStreamDecoderSeekStatus
+gst_flacdec_seek (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__uint64 position, void *client_data);
+static FLAC__SeekableStreamDecoderTellStatus
+gst_flacdec_tell (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__uint64 * position, void *client_data);
+static FLAC__SeekableStreamDecoderLengthStatus
+gst_flacdec_length (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__uint64 * length, void *client_data);
+static FLAC__bool gst_flacdec_eof (const FLAC__SeekableStreamDecoder * decoder,
+    void *client_data);
+static FLAC__StreamDecoderWriteStatus
+gst_flacdec_write (const FLAC__SeekableStreamDecoder * decoder,
+    const FLAC__Frame * frame,
+    const FLAC__int32 * const buffer[], void *client_data);
+static void gst_flacdec_metadata_callback (const FLAC__SeekableStreamDecoder *
+    decoder, const FLAC__StreamMetadata * metadata, void *client_data);
+static void gst_flacdec_error_callback (const FLAC__SeekableStreamDecoder *
+    decoder, FLAC__StreamDecoderErrorStatus status, void *client_data);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_flacdec_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-flacdec_get_type(void) {
+flacdec_get_type (void)
+{
   static GType flacdec_type = 0;
 
   if (!flacdec_type) {
     static const GTypeInfo flacdec_info = {
-      sizeof(FlacDecClass),
+      sizeof (FlacDecClass),
       gst_flacdec_base_init,
       NULL,
-      (GClassInitFunc)gst_flacdec_class_init,
+      (GClassInitFunc) gst_flacdec_class_init,
       NULL,
       NULL,
-      sizeof(FlacDec),
+      sizeof (FlacDec),
       0,
-      (GInstanceInitFunc)gst_flacdec_init,
+      (GInstanceInitFunc) gst_flacdec_init,
     };
-    flacdec_type = g_type_register_static (GST_TYPE_ELEMENT, "FlacDec", &flacdec_info, 0);
+    flacdec_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "FlacDec", &flacdec_info, 0);
   }
   return flacdec_type;
 }
 
-static GstCaps*
+static GstCaps *
 flac_caps_factory (void)
 {
   return gst_caps_new_simple ("audio/x-flac", NULL);
-  /* "rate",           GST_PROPS_INT_RANGE (11025, 48000),
-   * "channels",       GST_PROPS_INT_RANGE (1, 2), */
+  /* "rate",            GST_PROPS_INT_RANGE (11025, 48000),
+   * "channels",        GST_PROPS_INT_RANGE (1, 2), */
 }
 
-static GstCaps*
+static GstCaps *
 raw_caps_factory (void)
 {
   return gst_caps_new_simple ("audio/x-raw-int",
-      "endianness",    G_TYPE_INT, G_BYTE_ORDER,
-      "signed",        G_TYPE_BOOLEAN, TRUE,
-      "width",                 G_TYPE_INT, 16,
-      "depth",         G_TYPE_INT, 16,
-      "rate",          GST_TYPE_INT_RANGE, 11025, 48000,
-      "channels",      GST_TYPE_INT_RANGE, 1, 2,
-      NULL);
+      "endianness", G_TYPE_INT, G_BYTE_ORDER,
+      "signed", G_TYPE_BOOLEAN, TRUE,
+      "width", G_TYPE_INT, 16,
+      "depth", G_TYPE_INT, 16,
+      "rate", GST_TYPE_INT_RANGE, 11025, 48000,
+      "channels", GST_TYPE_INT_RANGE, 1, 2, NULL);
 }
 
 static void
@@ -152,7 +149,7 @@ gst_flacdec_base_init (gpointer g_class)
 
   sink_template = gst_pad_template_new ("sink", GST_PAD_SINK,
       GST_PAD_ALWAYS, flac_caps);
-  src_template = gst_pad_template_new ("src", GST_PAD_SRC, 
+  src_template = gst_pad_template_new ("src", GST_PAD_SRC,
       GST_PAD_ALWAYS, raw_caps);
   gst_element_class_add_pad_template (element_class, sink_template);
   gst_element_class_add_pad_template (element_class, src_template);
@@ -160,21 +157,21 @@ gst_flacdec_base_init (gpointer g_class)
 }
 
 static void
-gst_flacdec_class_init (FlacDecClass *klass) 
+gst_flacdec_class_init (FlacDecClass * klass)
 {
   GstElementClass *gstelement_class;
   GObjectClass *gobject_class;
 
-  gstelement_class = (GstElementClass*)klass;
-  gobject_class = (GObjectClass*) klass;
+  gstelement_class = (GstElementClass *) klass;
+  gobject_class = (GObjectClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gstelement_class->change_state = gst_flacdec_change_state;
 }
 
-static void 
-gst_flacdec_init (FlacDec *flacdec) 
+static void
+gst_flacdec_init (FlacDec * flacdec)
 {
   flacdec->sinkpad = gst_pad_new_from_template (sink_template, "sink");
   gst_element_add_pad (GST_ELEMENT (flacdec), flacdec->sinkpad);
@@ -185,9 +182,11 @@ gst_flacdec_init (FlacDec *flacdec)
   gst_element_add_pad (GST_ELEMENT (flacdec), flacdec->srcpad);
   gst_pad_set_formats_function (flacdec->srcpad, gst_flacdec_get_src_formats);
   gst_pad_set_convert_function (flacdec->srcpad, gst_flacdec_convert_src);
-  gst_pad_set_query_type_function (flacdec->srcpad, gst_flacdec_get_src_query_types);
+  gst_pad_set_query_type_function (flacdec->srcpad,
+      gst_flacdec_get_src_query_types);
   gst_pad_set_query_function (flacdec->srcpad, gst_flacdec_src_query);
-  gst_pad_set_event_mask_function (flacdec->srcpad, gst_flacdec_get_src_event_masks);
+  gst_pad_set_event_mask_function (flacdec->srcpad,
+      gst_flacdec_get_src_event_masks);
   gst_pad_set_event_function (flacdec->srcpad, gst_flacdec_src_event);
   gst_pad_use_explicit_caps (flacdec->srcpad);
 
@@ -197,30 +196,39 @@ gst_flacdec_init (FlacDec *flacdec)
   flacdec->eos = FALSE;
   flacdec->seek_pending = FALSE;
 
-  FLAC__seekable_stream_decoder_set_read_callback (flacdec->decoder, gst_flacdec_read);
-  FLAC__seekable_stream_decoder_set_seek_callback (flacdec->decoder, gst_flacdec_seek);
-  FLAC__seekable_stream_decoder_set_tell_callback (flacdec->decoder, gst_flacdec_tell);
-  FLAC__seekable_stream_decoder_set_length_callback (flacdec->decoder, gst_flacdec_length);  
-  FLAC__seekable_stream_decoder_set_eof_callback (flacdec->decoder, gst_flacdec_eof);
+  FLAC__seekable_stream_decoder_set_read_callback (flacdec->decoder,
+      gst_flacdec_read);
+  FLAC__seekable_stream_decoder_set_seek_callback (flacdec->decoder,
+      gst_flacdec_seek);
+  FLAC__seekable_stream_decoder_set_tell_callback (flacdec->decoder,
+      gst_flacdec_tell);
+  FLAC__seekable_stream_decoder_set_length_callback (flacdec->decoder,
+      gst_flacdec_length);
+  FLAC__seekable_stream_decoder_set_eof_callback (flacdec->decoder,
+      gst_flacdec_eof);
 #if FLAC_VERSION >= 0x010003
-  FLAC__seekable_stream_decoder_set_write_callback (flacdec->decoder, gst_flacdec_write);
+  FLAC__seekable_stream_decoder_set_write_callback (flacdec->decoder,
+      gst_flacdec_write);
 #else
   FLAC__seekable_stream_decoder_set_write_callback (flacdec->decoder,
-       (FLAC__StreamDecoderWriteStatus (*)
-               (const FLAC__SeekableStreamDecoder *decoder, 
-                const FLAC__Frame *frame,
-                const FLAC__int32 *buffer[], 
-                void *client_data))
-               (gst_flacdec_write));
+      (FLAC__StreamDecoderWriteStatus (*)
+         (const FLAC__SeekableStreamDecoder * decoder,
+             const FLAC__Frame * frame,
+             const FLAC__int32 * buffer[], void *client_data))
+      (gst_flacdec_write));
 #endif
-  FLAC__seekable_stream_decoder_set_metadata_respond (flacdec->decoder, FLAC__METADATA_TYPE_VORBIS_COMMENT);
-  FLAC__seekable_stream_decoder_set_metadata_callback (flacdec->decoder, gst_flacdec_metadata_callback);
-  FLAC__seekable_stream_decoder_set_error_callback (flacdec->decoder, gst_flacdec_error_callback);
+  FLAC__seekable_stream_decoder_set_metadata_respond (flacdec->decoder,
+      FLAC__METADATA_TYPE_VORBIS_COMMENT);
+  FLAC__seekable_stream_decoder_set_metadata_callback (flacdec->decoder,
+      gst_flacdec_metadata_callback);
+  FLAC__seekable_stream_decoder_set_error_callback (flacdec->decoder,
+      gst_flacdec_error_callback);
   FLAC__seekable_stream_decoder_set_client_data (flacdec->decoder, flacdec);
 }
 
 static gboolean
-gst_flacdec_update_metadata (FlacDec *flacdec, const FLAC__StreamMetadata *metadata)
+gst_flacdec_update_metadata (FlacDec * flacdec,
+    const FLAC__StreamMetadata * metadata)
 {
   GstTagList *list;
   guint32 number_of_comments, cursor, str_len;
@@ -233,17 +241,15 @@ gst_flacdec_update_metadata (FlacDec *flacdec, const FLAC__StreamMetadata *metad
 
   number_of_comments = metadata->data.vorbis_comment.num_comments;
   value = NULL;
-  GST_DEBUG ("%d tag(s) found",  number_of_comments);
-  for (cursor = 0; cursor < number_of_comments; cursor++)
-  {                    
+  GST_DEBUG ("%d tag(s) found", number_of_comments);
+  for (cursor = 0; cursor < number_of_comments; cursor++) {
     str_ptr = metadata->data.vorbis_comment.comments[cursor].entry;
     str_len = metadata->data.vorbis_comment.comments[cursor].length;
-    p_value = g_strstr_len ( str_ptr, str_len , "=" );
-    if (p_value)
-    {                  
+    p_value = g_strstr_len (str_ptr, str_len, "=");
+    if (p_value) {
       name = g_strndup (str_ptr, p_value - str_ptr);
       value = g_strndup (p_value + 1, str_ptr + str_len - p_value - 1);
-                       
+
       GST_DEBUG ("%s : %s", name, value);
       gst_vorbis_tag_add (list, name, value);
       g_free (name);
@@ -260,30 +266,29 @@ gst_flacdec_update_metadata (FlacDec *flacdec, const FLAC__StreamMetadata *metad
 }
 
 
-static void 
-gst_flacdec_metadata_callback (const FLAC__SeekableStreamDecoder *decoder,
-                              const FLAC__StreamMetadata *metadata, void *client_data)
+static void
+gst_flacdec_metadata_callback (const FLAC__SeekableStreamDecoder * decoder,
+    const FLAC__StreamMetadata * metadata, void *client_data)
 {
   FlacDec *flacdec;
-       
+
   flacdec = GST_FLACDEC (client_data);
 
-  switch (metadata->type)
-  {
+  switch (metadata->type) {
     case FLAC__METADATA_TYPE_STREAMINFO:
-         flacdec->stream_samples = metadata->data.stream_info.total_samples;
-        break;
+      flacdec->stream_samples = metadata->data.stream_info.total_samples;
+      break;
     case FLAC__METADATA_TYPE_VORBIS_COMMENT:
-         gst_flacdec_update_metadata (flacdec, metadata);                
-        break;
+      gst_flacdec_update_metadata (flacdec, metadata);
+      break;
     default:
-         break;
+      break;
   }
 }
 
-static void 
-gst_flacdec_error_callback (const FLAC__SeekableStreamDecoder *decoder, 
-                           FLAC__StreamDecoderErrorStatus status, void *client_data)
+static void
+gst_flacdec_error_callback (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__StreamDecoderErrorStatus status, void *client_data)
 {
   FlacDec *flacdec;
   gchar *error;
@@ -308,9 +313,9 @@ gst_flacdec_error_callback (const FLAC__SeekableStreamDecoder *decoder,
   GST_ELEMENT_ERROR (flacdec, STREAM, DECODE, (NULL), (error));
 }
 
-static FLAC__SeekableStreamDecoderSeekStatus   
-gst_flacdec_seek (const FLAC__SeekableStreamDecoder *decoder, 
-                 FLAC__uint64 position, void *client_data)
+static FLAC__SeekableStreamDecoderSeekStatus
+gst_flacdec_seek (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__uint64 position, void *client_data)
 {
   FlacDec *flacdec;
 
@@ -323,9 +328,9 @@ gst_flacdec_seek (const FLAC__SeekableStreamDecoder *decoder,
   return FLAC__SEEKABLE_STREAM_DECODER_SEEK_STATUS_OK;
 }
 
-static FLAC__SeekableStreamDecoderTellStatus   
-gst_flacdec_tell (const FLAC__SeekableStreamDecoder *decoder, 
-                 FLAC__uint64 *position, void *client_data)
+static FLAC__SeekableStreamDecoderTellStatus
+gst_flacdec_tell (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__uint64 * position, void *client_data)
 {
   FlacDec *flacdec;
 
@@ -340,9 +345,9 @@ gst_flacdec_tell (const FLAC__SeekableStreamDecoder *decoder,
   return FLAC__SEEKABLE_STREAM_DECODER_TELL_STATUS_OK;
 }
 
-static FLAC__SeekableStreamDecoderLengthStatus         
-gst_flacdec_length (const FLAC__SeekableStreamDecoder *decoder, 
-                   FLAC__uint64 *length, void *client_data)
+static FLAC__SeekableStreamDecoderLengthStatus
+gst_flacdec_length (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__uint64 * length, void *client_data)
 {
   FlacDec *flacdec;
 
@@ -358,8 +363,7 @@ gst_flacdec_length (const FLAC__SeekableStreamDecoder *decoder,
 }
 
 static FLAC__bool
-gst_flacdec_eof (const FLAC__SeekableStreamDecoder *decoder, 
-                void *client_data)
+gst_flacdec_eof (const FLAC__SeekableStreamDecoder * decoder, void *client_data)
 {
   FlacDec *flacdec;
 
@@ -370,9 +374,8 @@ gst_flacdec_eof (const FLAC__SeekableStreamDecoder *decoder,
 }
 
 static FLAC__SeekableStreamDecoderReadStatus
-gst_flacdec_read (const FLAC__SeekableStreamDecoder *decoder, 
-                 FLAC__byte buffer[], unsigned *bytes, 
-                 void *client_data)
+gst_flacdec_read (const FLAC__SeekableStreamDecoder * decoder,
+    FLAC__byte buffer[], unsigned *bytes, void *client_data)
 {
   FlacDec *flacdec;
   gint insize = 0;
@@ -381,39 +384,39 @@ gst_flacdec_read (const FLAC__SeekableStreamDecoder *decoder,
   flacdec = GST_FLACDEC (client_data);
 
   //g_print ("read %u\n", *bytes);
-  
+
   while (insize == 0) {
     insize = gst_bytestream_peek_bytes (flacdec->bs, &indata, *bytes);
     if (insize < *bytes) {
       GstEvent *event;
       guint32 avail;
-                           
+
       gst_bytestream_get_status (flacdec->bs, &avail, &event);
 
       switch (GST_EVENT_TYPE (event)) {
-        case GST_EVENT_EOS:
-          GST_DEBUG ("eos");
-          flacdec->eos = TRUE; 
+       case GST_EVENT_EOS:
+         GST_DEBUG ("eos");
+         flacdec->eos = TRUE;
          gst_event_unref (event);
-          if (avail == 0) {
-            return 0;
-          }
-          break;
-        case GST_EVENT_DISCONTINUOUS:
-          GST_DEBUG ("discont");
+         if (avail == 0) {
+           return 0;
+         }
+         break;
+       case GST_EVENT_DISCONTINUOUS:
+         GST_DEBUG ("discont");
 
          /* we are not yet sending the discont, we'll do that in the next write operation */
          flacdec->need_discont = TRUE;
          gst_event_unref (event);
          break;
-        default:
+       default:
          gst_pad_event_default (flacdec->sinkpad, event);
-          break;
+         break;
       }
       if (avail > 0)
-        insize = gst_bytestream_peek_bytes (flacdec->bs, &indata, avail);
+       insize = gst_bytestream_peek_bytes (flacdec->bs, &indata, avail);
       else
-        insize = 0;
+       insize = 0;
     }
   }
 
@@ -425,10 +428,9 @@ gst_flacdec_read (const FLAC__SeekableStreamDecoder *decoder,
 }
 
 static FLAC__StreamDecoderWriteStatus
-gst_flacdec_write (const FLAC__SeekableStreamDecoder *decoder, 
-                  const FLAC__Frame *frame, 
-                  const FLAC__int32 * const buffer[], 
-                  void *client_data)
+gst_flacdec_write (const FLAC__SeekableStreamDecoder * decoder,
+    const FLAC__Frame * frame,
+    const FLAC__int32 * const buffer[], void *client_data)
 {
   FlacDec *flacdec;
   GstBuffer *outbuf;
@@ -445,41 +447,39 @@ gst_flacdec_write (const FLAC__SeekableStreamDecoder *decoder,
     GstEvent *discont;
 
     flacdec->need_discont = FALSE;
-    
+
     if (!GST_PAD_CAPS (flacdec->srcpad)) {
       if (flacdec->seek_pending) {
-        flacdec->total_samples = flacdec->seek_value;
+       flacdec->total_samples = flacdec->seek_value;
       }
 
       if (GST_PAD_IS_USABLE (flacdec->srcpad)) {
-        GST_DEBUG ("send discont");
-
-        format = GST_FORMAT_TIME;
-        gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT,
-                         flacdec->total_samples, &format, &time);
-        format = GST_FORMAT_BYTES;
-        gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT,
-                         flacdec->total_samples, &format, &bytes);
-        discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, time,
-                                            GST_FORMAT_BYTES, bytes,
-                                            GST_FORMAT_DEFAULT, flacdec->total_samples, 
-                                        NULL);
-         
-        gst_pad_push (flacdec->srcpad, GST_DATA (discont));
+       GST_DEBUG ("send discont");
+
+       format = GST_FORMAT_TIME;
+       gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT,
+           flacdec->total_samples, &format, &time);
+       format = GST_FORMAT_BYTES;
+       gst_pad_convert (flacdec->srcpad, GST_FORMAT_DEFAULT,
+           flacdec->total_samples, &format, &bytes);
+       discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, time,
+           GST_FORMAT_BYTES, bytes,
+           GST_FORMAT_DEFAULT, flacdec->total_samples, NULL);
+
+       gst_pad_push (flacdec->srcpad, GST_DATA (discont));
       }
     }
   }
-  
+
   if (!GST_PAD_CAPS (flacdec->srcpad)) {
     gst_pad_set_explicit_caps (flacdec->srcpad,
-        gst_caps_new_simple ("audio/x-raw-int",
-          "endianness",  G_TYPE_INT, G_BYTE_ORDER,
-          "signed",      G_TYPE_BOOLEAN, TRUE,
-          "width",       G_TYPE_INT, depth,
-          "depth",       G_TYPE_INT, depth,
-          "rate",       G_TYPE_INT, frame->header.sample_rate,
-          "channels",   G_TYPE_INT, channels,
-          NULL));
+       gst_caps_new_simple ("audio/x-raw-int",
+           "endianness", G_TYPE_INT, G_BYTE_ORDER,
+           "signed", G_TYPE_BOOLEAN, TRUE,
+           "width", G_TYPE_INT, depth,
+           "depth", G_TYPE_INT, depth,
+           "rate", G_TYPE_INT, frame->header.sample_rate,
+           "channels", G_TYPE_INT, channels, NULL));
 
     flacdec->depth = depth;
     flacdec->channels = channels;
@@ -488,29 +488,28 @@ gst_flacdec_write (const FLAC__SeekableStreamDecoder *decoder,
 
   if (GST_PAD_IS_USABLE (flacdec->srcpad)) {
     outbuf = gst_buffer_new ();
-    GST_BUFFER_SIZE (outbuf) = samples * channels * ((depth+7)>>3);
+    GST_BUFFER_SIZE (outbuf) = samples * channels * ((depth + 7) >> 3);
     GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
-    GST_BUFFER_TIMESTAMP (outbuf) = flacdec->total_samples * GST_SECOND / frame->header.sample_rate;
-  
+    GST_BUFFER_TIMESTAMP (outbuf) =
+       flacdec->total_samples * GST_SECOND / frame->header.sample_rate;
+
     if (depth == 8) {
-      guint8 *outbuffer = (guint8 *)GST_BUFFER_DATA (outbuf);
-  
-      for (i=0; i<samples; i++) {
-        for (j=0; j < channels; j++) {
-          *outbuffer++ = (guint8) buffer[j][i];
-        }
+      guint8 *outbuffer = (guint8 *) GST_BUFFER_DATA (outbuf);
+
+      for (i = 0; i < samples; i++) {
+       for (j = 0; j < channels; j++) {
+         *outbuffer++ = (guint8) buffer[j][i];
+       }
       }
-    }
-    else if (depth == 16) {
-      guint16 *outbuffer = (guint16 *)GST_BUFFER_DATA (outbuf);
-  
-      for (i=0; i<samples; i++) {
-        for (j=0; j < channels; j++) {
-          *outbuffer++ = (guint16) buffer[j][i];
-        }
+    } else if (depth == 16) {
+      guint16 *outbuffer = (guint16 *) GST_BUFFER_DATA (outbuf);
+
+      for (i = 0; i < samples; i++) {
+       for (j = 0; j < channels; j++) {
+         *outbuffer++ = (guint16) buffer[j][i];
+       }
       }
-    }
-    else {
+    } else {
       g_warning ("flacdec: invalid depth %d found\n", depth);
       return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT;
     }
@@ -521,8 +520,8 @@ gst_flacdec_write (const FLAC__SeekableStreamDecoder *decoder,
   return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE;
 }
 
-static void 
-gst_flacdec_loop (GstElement *element) 
+static void
+gst_flacdec_loop (GstElement * element)
 {
   FlacDec *flacdec;
   gboolean res;
@@ -530,30 +529,28 @@ gst_flacdec_loop (GstElement *element)
   flacdec = GST_FLACDEC (element);
 
   GST_DEBUG ("flacdec: entering loop");
-  if (flacdec->init) {    
+  if (flacdec->init) {
     FLAC__StreamDecoderState res;
-    GST_DEBUG ("flacdec: initializing decoder");    
+
+    GST_DEBUG ("flacdec: initializing decoder");
     res = FLAC__seekable_stream_decoder_init (flacdec->decoder);
     if (res != FLAC__SEEKABLE_STREAM_DECODER_OK) {
       GST_ELEMENT_ERROR (flacdec, LIBRARY, INIT, (NULL),
-                         (FLAC__SeekableStreamDecoderStateString[res]));
+         (FLAC__SeekableStreamDecoderStateString[res]));
       return;
     }
-    /*    FLAC__seekable_stream_decoder_process_metadata (flacdec->decoder);*/
+    /*    FLAC__seekable_stream_decoder_process_metadata (flacdec->decoder); */
     flacdec->init = FALSE;
   }
 
   if (flacdec->seek_pending) {
-    GST_DEBUG ("perform seek to sample %" G_GINT64_FORMAT, 
-                             flacdec->seek_value);
+    GST_DEBUG ("perform seek to sample %" G_GINT64_FORMAT, flacdec->seek_value);
 
-    if (FLAC__seekable_stream_decoder_seek_absolute (flacdec->decoder, 
-                                                    flacdec->seek_value)) 
-    {
+    if (FLAC__seekable_stream_decoder_seek_absolute (flacdec->decoder,
+           flacdec->seek_value)) {
       flacdec->total_samples = flacdec->seek_value;
       GST_DEBUG ("seek done");
-    }
-    else {
+    } else {
       GST_DEBUG ("seek failed");
     }
     flacdec->seek_pending = FALSE;
@@ -562,13 +559,12 @@ gst_flacdec_loop (GstElement *element)
   GST_DEBUG ("flacdec: processing single");
   res = FLAC__seekable_stream_decoder_process_single (flacdec->decoder);
   GST_DEBUG ("flacdec: checking for EOS");
-  if (FLAC__seekable_stream_decoder_get_state (flacdec->decoder) == 
-                 FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM) 
-  {
+  if (FLAC__seekable_stream_decoder_get_state (flacdec->decoder) ==
+      FLAC__SEEKABLE_STREAM_DECODER_END_OF_STREAM) {
     GstEvent *event;
 
     GST_DEBUG ("flacdec: sending EOS event");
-    FLAC__seekable_stream_decoder_reset(flacdec->decoder);
+    FLAC__seekable_stream_decoder_reset (flacdec->decoder);
 
     if (GST_PAD_IS_USABLE (flacdec->srcpad)) {
       event = gst_event_new (GST_EVENT_EOS);
@@ -581,8 +577,8 @@ gst_flacdec_loop (GstElement *element)
 
 
 static const GstFormat *
-gst_flacdec_get_src_formats (GstPad *pad)
-{ 
+gst_flacdec_get_src_formats (GstPad * pad)
+{
   static const GstFormat formats[] = {
     GST_FORMAT_DEFAULT,
     GST_FORMAT_BYTES,
@@ -590,63 +586,63 @@ gst_flacdec_get_src_formats (GstPad *pad)
     0,
   };
   return formats;
-} 
+}
 
 static gboolean
-gst_flacdec_convert_src (GstPad *pad, GstFormat src_format, gint64 src_value,
-                        GstFormat *dest_format, gint64 *dest_value)
+gst_flacdec_convert_src (GstPad * pad, GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value)
 {
   gboolean res = TRUE;
   FlacDec *flacdec = GST_FLACDEC (gst_pad_get_parent (pad));
   guint scale = 1;
   gint bytes_per_sample;
 
-  bytes_per_sample = flacdec->channels * ((flacdec->depth+7)>>3);
+  bytes_per_sample = flacdec->channels * ((flacdec->depth + 7) >> 3);
 
   switch (src_format) {
     case GST_FORMAT_BYTES:
       switch (*dest_format) {
-        case GST_FORMAT_DEFAULT:
-          if (bytes_per_sample == 0)
-            return FALSE;
-          *dest_value = src_value / bytes_per_sample;
-          break;
-        case GST_FORMAT_TIME:
+       case GST_FORMAT_DEFAULT:
+         if (bytes_per_sample == 0)
+           return FALSE;
+         *dest_value = src_value / bytes_per_sample;
+         break;
+       case GST_FORMAT_TIME:
        {
-          gint byterate = bytes_per_sample * flacdec->frequency;
+         gint byterate = bytes_per_sample * flacdec->frequency;
 
-          if (byterate == 0)
-            return FALSE;
-          *dest_value = src_value * GST_SECOND / byterate;
-          break;
+         if (byterate == 0)
+           return FALSE;
+         *dest_value = src_value * GST_SECOND / byterate;
+         break;
        }
-        default:
-          res = FALSE;
+       default:
+         res = FALSE;
       }
       break;
     case GST_FORMAT_DEFAULT:
       switch (*dest_format) {
-        case GST_FORMAT_BYTES:
+       case GST_FORMAT_BYTES:
          *dest_value = src_value * bytes_per_sample;
-          break;
-        case GST_FORMAT_TIME:
+         break;
+       case GST_FORMAT_TIME:
          if (flacdec->frequency == 0)
            return FALSE;
-          *dest_value = src_value * GST_SECOND / flacdec->frequency;
-          break;
-        default:
-          res = FALSE;
+         *dest_value = src_value * GST_SECOND / flacdec->frequency;
+         break;
+       default:
+         res = FALSE;
       }
       break;
     case GST_FORMAT_TIME:
       switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          scale = bytes_per_sample;
-        case GST_FORMAT_DEFAULT:
+       case GST_FORMAT_BYTES:
+         scale = bytes_per_sample;
+       case GST_FORMAT_DEFAULT:
          *dest_value = src_value * scale * flacdec->frequency / GST_SECOND;
-          break;
-        default:
-          res = FALSE;
+         break;
+       default:
+         res = FALSE;
       }
       break;
     default:
@@ -656,19 +652,19 @@ gst_flacdec_convert_src (GstPad *pad, GstFormat src_format, gint64 src_value,
 }
 
 static const GstQueryType *
-gst_flacdec_get_src_query_types (GstPad *pad)
-{ 
+gst_flacdec_get_src_query_types (GstPad * pad)
+{
   static const GstQueryType types[] = {
     GST_QUERY_TOTAL,
     GST_QUERY_POSITION,
     0,
   };
   return types;
-} 
+}
 
 static gboolean
-gst_flacdec_src_query (GstPad *pad, GstQueryType type,
-                      GstFormat *format, gint64 *value)
+gst_flacdec_src_query (GstPad * pad, GstQueryType type,
+    GstFormat * format, gint64 * value)
 {
   gboolean res = TRUE;
   FlacDec *flacdec = GST_FLACDEC (gst_pad_get_parent (pad));
@@ -679,21 +675,17 @@ gst_flacdec_src_query (GstPad *pad, GstQueryType type,
       guint64 samples;
 
       if (flacdec->stream_samples == 0)
-        samples = flacdec->total_samples;
+       samples = flacdec->total_samples;
       else
-        samples = flacdec->stream_samples;
+       samples = flacdec->stream_samples;
 
-      gst_pad_convert (flacdec->srcpad, 
-                      GST_FORMAT_DEFAULT, 
-                      samples, 
-                      format, value);
+      gst_pad_convert (flacdec->srcpad,
+         GST_FORMAT_DEFAULT, samples, format, value);
       break;
     }
     case GST_QUERY_POSITION:
-      gst_pad_convert (flacdec->srcpad, 
-                      GST_FORMAT_DEFAULT, 
-                      flacdec->total_samples, 
-                      format, value);
+      gst_pad_convert (flacdec->srcpad,
+         GST_FORMAT_DEFAULT, flacdec->total_samples, format, value);
       break;
     default:
       res = FALSE;
@@ -702,20 +694,20 @@ gst_flacdec_src_query (GstPad *pad, GstQueryType type,
 
   return res;
 }
-         
+
 static const GstEventMask *
-gst_flacdec_get_src_event_masks (GstPad *pad)
+gst_flacdec_get_src_event_masks (GstPad * pad)
 {
   static const GstEventMask masks[] = {
-    { GST_EVENT_SEEK, GST_SEEK_FLAG_ACCURATE },
-    { 0, 0 },
+    {GST_EVENT_SEEK, GST_SEEK_FLAG_ACCURATE},
+    {0, 0},
   };
   return masks;
 }
 
 static gboolean
-gst_flacdec_src_event (GstPad *pad, GstEvent *event)
-{ 
+gst_flacdec_src_event (GstPad * pad, GstEvent * event)
+{
   gboolean res = TRUE;
   FlacDec *flacdec = GST_FLACDEC (gst_pad_get_parent (pad));
   GstFormat format;
@@ -724,11 +716,10 @@ gst_flacdec_src_event (GstPad *pad, GstEvent *event)
     case GST_EVENT_SEEK:
       format = GST_FORMAT_DEFAULT;
 
-      if (gst_pad_convert (flacdec->srcpad, 
-                          GST_EVENT_SEEK_FORMAT (event), 
-                          GST_EVENT_SEEK_OFFSET (event), 
-                          &format, &flacdec->seek_value))
-        flacdec->seek_pending = TRUE;
+      if (gst_pad_convert (flacdec->srcpad,
+             GST_EVENT_SEEK_FORMAT (event),
+             GST_EVENT_SEEK_OFFSET (event), &format, &flacdec->seek_value))
+       flacdec->seek_pending = TRUE;
       else
        res = FALSE;
       break;
@@ -741,7 +732,7 @@ gst_flacdec_src_event (GstPad *pad, GstEvent *event)
 }
 
 static GstElementStateReturn
-gst_flacdec_change_state (GstElement *element)
+gst_flacdec_change_state (GstElement * element)
 {
   FlacDec *flacdec = GST_FLACDEC (element);
 
index 5b5fd11..c525c3a 100644 (file)
@@ -28,8 +28,9 @@
 #include <FLAC/all.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_FLACDEC flacdec_get_type()
@@ -38,40 +39,42 @@ extern "C" {
 #define GST_IS_FLACDEC(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_FLACDEC)
 #define GST_IS_FLACDEC_CLASS(obj) G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_FLACDEC)
 
-typedef struct _FlacDec FlacDec;
-typedef struct _FlacDecClass FlacDecClass;
+  typedef struct _FlacDec FlacDec;
+  typedef struct _FlacDecClass FlacDecClass;
 
-struct _FlacDec {
-  GstElement    element;
+  struct _FlacDec
+  {
+    GstElement element;
 
-  GstPad       *sinkpad,*srcpad;
-  GstByteStream *bs;
+    GstPad *sinkpad, *srcpad;
+    GstByteStream *bs;
 
-  FLAC__SeekableStreamDecoder *decoder;
-  gint          channels;
-  gint          depth;
-  gint          frequency;
+    FLAC__SeekableStreamDecoder *decoder;
+    gint channels;
+    gint depth;
+    gint frequency;
 
-  gboolean      need_discont;
-  gboolean      seek_pending;
-  gint64        seek_value;
+    gboolean need_discont;
+    gboolean seek_pending;
+    gint64 seek_value;
 
-  gboolean      init;
-  guint64       total_samples;
-  guint64       stream_samples;
+    gboolean init;
+    guint64 total_samples;
+    guint64 stream_samples;
 
-  gboolean      eos;
-};
+    gboolean eos;
+  };
 
-struct _FlacDecClass {
-  GstElementClass parent_class;
-};
+  struct _FlacDecClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType flacdec_get_type(void);
+  GType flacdec_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
-#endif /* __FLACDEC_H__ */
+#endif                         /* __FLACDEC_H__ */
index eacedeb..7e65804 100644 (file)
@@ -40,12 +40,14 @@ GstElementDetails flacenc_details = {
 };
 
 /* FlacEnc signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_QUALITY,
   ARG_STREAMABLE_SUBSET,
@@ -62,34 +64,32 @@ enum {
   ARG_RICE_PARAMETER_SEARCH_DIST,
 };
 
-static void             gst_flacenc_base_init           (gpointer g_class);
-static void            gst_flacenc_init                (FlacEnc *flacenc);
-static void            gst_flacenc_class_init          (FlacEncClass *klass);
-static void            gst_flacenc_dispose             (GObject *object);
+static void gst_flacenc_base_init (gpointer g_class);
+static void gst_flacenc_init (FlacEnc * flacenc);
+static void gst_flacenc_class_init (FlacEncClass * klass);
+static void gst_flacenc_dispose (GObject * object);
 
 static GstPadLinkReturn
-                       gst_flacenc_sinkconnect         (GstPad *pad, const GstCaps *caps);
-static void            gst_flacenc_chain               (GstPad *pad, GstData *_data);
-
-static gboolean        gst_flacenc_update_quality      (FlacEnc *flacenc, gint quality);
-static void            gst_flacenc_set_property        (GObject *object, guint prop_id, 
-                                                        const GValue *value, GParamSpec *pspec);
-static void            gst_flacenc_get_property        (GObject *object, guint prop_id,
-                                                        GValue *value, GParamSpec *pspec);
-static GstElementStateReturn
-                       gst_flacenc_change_state        (GstElement *element);
-
-static FLAC__StreamEncoderWriteStatus 
-                       gst_flacenc_write_callback      (const FLAC__SeekableStreamEncoder *encoder, 
-                                                        const FLAC__byte buffer[], unsigned bytes, 
-                                                        unsigned samples, unsigned current_frame, 
-                                                        void *client_data);
+gst_flacenc_sinkconnect (GstPad * pad, const GstCaps * caps);
+static void gst_flacenc_chain (GstPad * pad, GstData * _data);
+
+static gboolean gst_flacenc_update_quality (FlacEnc * flacenc, gint quality);
+static void gst_flacenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_flacenc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_flacenc_change_state (GstElement * element);
+
+static FLAC__StreamEncoderWriteStatus
+gst_flacenc_write_callback (const FLAC__SeekableStreamEncoder * encoder,
+    const FLAC__byte buffer[], unsigned bytes,
+    unsigned samples, unsigned current_frame, void *client_data);
 static FLAC__SeekableStreamEncoderSeekStatus
-                       gst_flacenc_seek_callback       (const FLAC__SeekableStreamEncoder *encoder,
-                                                        FLAC__uint64 absolute_byte_offset,
-                                                        void *client_data);
+gst_flacenc_seek_callback (const FLAC__SeekableStreamEncoder * encoder,
+    FLAC__uint64 absolute_byte_offset, void *client_data);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_flacenc_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -99,15 +99,15 @@ flacenc_get_type (void)
 
   if (!flacenc_type) {
     static const GTypeInfo flacenc_info = {
-      sizeof(FlacEncClass),
+      sizeof (FlacEncClass),
       gst_flacenc_base_init,
       NULL,
-      (GClassInitFunc)gst_flacenc_class_init,
+      (GClassInitFunc) gst_flacenc_class_init,
       NULL,
       NULL,
-      sizeof(FlacEnc),
+      sizeof (FlacEnc),
       0,
-      (GInstanceInitFunc)gst_flacenc_init,
+      (GInstanceInitFunc) gst_flacenc_init,
     };
 
     static const GInterfaceInfo tag_setter_info = {
@@ -116,38 +116,40 @@ flacenc_get_type (void)
       NULL
     };
 
-    flacenc_type = g_type_register_static (GST_TYPE_ELEMENT, "FlacEnc", &flacenc_info, 0);
-    g_type_add_interface_static (flacenc_type, GST_TYPE_TAG_SETTER, &tag_setter_info);
+    flacenc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "FlacEnc", &flacenc_info, 0);
+    g_type_add_interface_static (flacenc_type, GST_TYPE_TAG_SETTER,
+       &tag_setter_info);
   }
   return flacenc_type;
 }
 
-typedef struct {
-  gboolean     exhaustive_model_search;
-  gboolean     escape_coding;
-  gboolean     mid_side;
-  gboolean     loose_mid_side;
-  guint        qlp_coeff_precision;
-  gboolean     qlp_coeff_prec_search;
-  guint        min_residual_partition_order;
-  guint        max_residual_partition_order;
-  guint        rice_parameter_search_dist;
-  guint        max_lpc_order;
-  guint                blocksize;
+typedef struct
+{
+  gboolean exhaustive_model_search;
+  gboolean escape_coding;
+  gboolean mid_side;
+  gboolean loose_mid_side;
+  guint qlp_coeff_precision;
+  gboolean qlp_coeff_prec_search;
+  guint min_residual_partition_order;
+  guint max_residual_partition_order;
+  guint rice_parameter_search_dist;
+  guint max_lpc_order;
+  guint blocksize;
 } FlacEncParams;
 
-static const FlacEncParams flacenc_params[] = 
-{
-  { FALSE, FALSE, FALSE, FALSE, 0, FALSE, 2, 2,  0, 0,  1152 },
-  { FALSE, FALSE, TRUE,  TRUE,  0, FALSE, 2, 2,  0, 0,  1152 },
-  { FALSE, FALSE, TRUE,  FALSE, 0, FALSE, 0, 3,  0, 0,  1152 },
-  { FALSE, FALSE, FALSE, FALSE, 0, FALSE, 3, 3,  0, 6,  4608 },
-  { FALSE, FALSE, TRUE,  TRUE,  0, FALSE, 3, 3,  0, 8,  4608 },
-  { FALSE, FALSE, TRUE,  FALSE, 0, FALSE, 3, 3,  0, 8,  4608 },
-  { FALSE, FALSE, TRUE,  FALSE, 0, FALSE, 0, 4,  0, 8,  4608 },
-  { TRUE,  FALSE, TRUE,  FALSE, 0, FALSE, 0, 6,  0, 8,  4608 },
-  { TRUE,  FALSE, TRUE,  FALSE, 0, FALSE, 0, 6,  0, 12, 4608 },
-  { TRUE,  TRUE,  TRUE,  FALSE, 0, FALSE, 0, 16, 0, 32, 4608 },
+static const FlacEncParams flacenc_params[] = {
+  {FALSE, FALSE, FALSE, FALSE, 0, FALSE, 2, 2, 0, 0, 1152},
+  {FALSE, FALSE, TRUE, TRUE, 0, FALSE, 2, 2, 0, 0, 1152},
+  {FALSE, FALSE, TRUE, FALSE, 0, FALSE, 0, 3, 0, 0, 1152},
+  {FALSE, FALSE, FALSE, FALSE, 0, FALSE, 3, 3, 0, 6, 4608},
+  {FALSE, FALSE, TRUE, TRUE, 0, FALSE, 3, 3, 0, 8, 4608},
+  {FALSE, FALSE, TRUE, FALSE, 0, FALSE, 3, 3, 0, 8, 4608},
+  {FALSE, FALSE, TRUE, FALSE, 0, FALSE, 0, 4, 0, 8, 4608},
+  {TRUE, FALSE, TRUE, FALSE, 0, FALSE, 0, 6, 0, 8, 4608},
+  {TRUE, FALSE, TRUE, FALSE, 0, FALSE, 0, 6, 0, 12, 4608},
+  {TRUE, TRUE, TRUE, FALSE, 0, FALSE, 0, 16, 0, 32, 4608},
 };
 
 #define DEFAULT_QUALITY 5
@@ -157,44 +159,44 @@ GType
 gst_flacenc_quality_get_type (void)
 {
   static GType qtype = 0;
+
   if (qtype == 0) {
     static const GEnumValue values[] = {
-      { 0, "0", "0 - Fastest compression" },
-      { 1, "1", "1" },
-      { 2, "2", "2" },
-      { 3, "3", "3" },
-      { 4, "4", "4" },
-      { 5, "5", "5 - Default" },
-      { 6, "6", "6" },
-      { 7, "7", "7" },
-      { 8, "8", "8 - Highest compression " },
-      { 9, "9", "9 - Insane" },
-      { 0, NULL, NULL }
+      {0, "0", "0 - Fastest compression"},
+      {1, "1", "1"},
+      {2, "2", "2"},
+      {3, "3", "3"},
+      {4, "4", "4"},
+      {5, "5", "5 - Default"},
+      {6, "6", "6"},
+      {7, "7", "7"},
+      {8, "8", "8 - Highest compression "},
+      {9, "9", "9 - Insane"},
+      {0, NULL, NULL}
     };
     qtype = g_enum_register_static ("FlacEncQuality", values);
   }
   return qtype;
 }
 
-static GstCaps*
+static GstCaps *
 flac_caps_factory (void)
 {
   return gst_caps_new_simple ("audio/x-flac", NULL);
-  /* "rate",           GST_PROPS_INT_RANGE (11025, 48000),
-   * "channels",       GST_PROPS_INT_RANGE (1, 2), */
+  /* "rate",            GST_PROPS_INT_RANGE (11025, 48000),
+   * "channels",        GST_PROPS_INT_RANGE (1, 2), */
 }
 
-static GstCaps*
+static GstCaps *
 raw_caps_factory (void)
 {
   return gst_caps_new_simple ("audio/x-raw-int",
-      "endianness",    G_TYPE_INT, G_BYTE_ORDER,
-      "signed",        G_TYPE_BOOLEAN, TRUE,
-      "width",                 G_TYPE_INT, 16,
-      "depth",         G_TYPE_INT, 16,
-      "rate",          GST_TYPE_INT_RANGE, 11025, 48000,
-      "channels",      GST_TYPE_INT_RANGE, 1, 2,
-      NULL);
+      "endianness", G_TYPE_INT, G_BYTE_ORDER,
+      "signed", G_TYPE_BOOLEAN, TRUE,
+      "width", G_TYPE_INT, 16,
+      "depth", G_TYPE_INT, 16,
+      "rate", GST_TYPE_INT_RANGE, 11025, 48000,
+      "channels", GST_TYPE_INT_RANGE, 1, 2, NULL);
 }
 
 static void
@@ -206,125 +208,123 @@ gst_flacenc_base_init (gpointer g_class)
   raw_caps = raw_caps_factory ();
   flac_caps = flac_caps_factory ();
 
-  sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, 
-                                       GST_PAD_ALWAYS, 
-                                       raw_caps);
-  src_template = gst_pad_template_new ("src", GST_PAD_SRC, 
-                                      GST_PAD_ALWAYS, 
-                                      flac_caps);
+  sink_template = gst_pad_template_new ("sink", GST_PAD_SINK,
+      GST_PAD_ALWAYS, raw_caps);
+  src_template = gst_pad_template_new ("src", GST_PAD_SRC,
+      GST_PAD_ALWAYS, flac_caps);
   gst_element_class_add_pad_template (element_class, sink_template);
   gst_element_class_add_pad_template (element_class, src_template);
   gst_element_class_set_details (element_class, &flacenc_details);
 }
 
 static void
-gst_flacenc_class_init (FlacEncClass *klass)
+gst_flacenc_class_init (FlacEncClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
+
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
-  
   /* we have no properties atm so this is a bit silly */
   gobject_class->set_property = gst_flacenc_set_property;
   gobject_class->get_property = gst_flacenc_get_property;
-  gobject_class->dispose      = gst_flacenc_dispose;
+  gobject_class->dispose = gst_flacenc_dispose;
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_QUALITY,
-    g_param_spec_enum ("quality", 
-                      "Quality", 
-                      "Speed versus compression tradeoff",
-                       GST_TYPE_FLACENC_QUALITY, DEFAULT_QUALITY, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_STREAMABLE_SUBSET,
-    g_param_spec_boolean ("streamable_subset", 
-                         "Streamable subset", 
-                         "true to limit encoder to generating a Subset stream, else false",
-                          TRUE, G_PARAM_READWRITE));
+      g_param_spec_enum ("quality",
+         "Quality",
+         "Speed versus compression tradeoff",
+         GST_TYPE_FLACENC_QUALITY, DEFAULT_QUALITY, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_STREAMABLE_SUBSET, g_param_spec_boolean ("streamable_subset",
+         "Streamable subset",
+         "true to limit encoder to generating a Subset stream, else false",
+         TRUE, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MID_SIDE_STEREO,
-    g_param_spec_boolean ("mid_side_stereo", 
-                         "Do mid side stereo", 
-                         "Do mid side stereo (only for stereo input)", 
-                          flacenc_params[DEFAULT_QUALITY].mid_side, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LOOSE_MID_SIDE_STEREO,
-    g_param_spec_boolean ("loose_mid_side_stereo", 
-                         "Loose mid side stereo", 
-                         "Loose mid side stereo", 
-                          flacenc_params[DEFAULT_QUALITY].loose_mid_side, G_PARAM_READWRITE));
+      g_param_spec_boolean ("mid_side_stereo", "Do mid side stereo",
+         "Do mid side stereo (only for stereo input)",
+         flacenc_params[DEFAULT_QUALITY].mid_side, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_LOOSE_MID_SIDE_STEREO, g_param_spec_boolean ("loose_mid_side_stereo",
+         "Loose mid side stereo", "Loose mid side stereo",
+         flacenc_params[DEFAULT_QUALITY].loose_mid_side, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BLOCKSIZE,
-    g_param_spec_uint ("blocksize", 
-                      "Blocksize", 
-                      "Blocksize in samples",
-                       FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE, 
-                       flacenc_params[DEFAULT_QUALITY].blocksize, G_PARAM_READWRITE));
+      g_param_spec_uint ("blocksize", "Blocksize", "Blocksize in samples",
+         FLAC__MIN_BLOCK_SIZE, FLAC__MAX_BLOCK_SIZE,
+         flacenc_params[DEFAULT_QUALITY].blocksize, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MAX_LPC_ORDER,
-    g_param_spec_uint ("max_lpc_order", 
-                      "Max LPC order", 
-                      "Max LPC order; 0 => use only fixed predictors",
-                       0, FLAC__MAX_LPC_ORDER,
-                       flacenc_params[DEFAULT_QUALITY].max_lpc_order, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_QLP_COEFF_PRECISION,
-    g_param_spec_uint ("qlp_coeff_precision", 
-                      "QLP coefficients precision", 
-                      "Precision in bits of quantized linear-predictor coefficients; 0 = automatic",
-                       0, 32, 
-                       flacenc_params[DEFAULT_QUALITY].qlp_coeff_precision, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_QLP_COEFF_PREC_SEARCH,
-    g_param_spec_boolean ("qlp_coeff_prec_search", 
-                         "Do QLP coefficients precision search", 
-                         "false = use qlp_coeff_precision, "
-                           "true = search around qlp_coeff_precision, take best", 
-                          flacenc_params[DEFAULT_QUALITY].qlp_coeff_prec_search, G_PARAM_READWRITE));
+      g_param_spec_uint ("max_lpc_order", "Max LPC order",
+         "Max LPC order; 0 => use only fixed predictors", 0,
+         FLAC__MAX_LPC_ORDER, flacenc_params[DEFAULT_QUALITY].max_lpc_order,
+         G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_QLP_COEFF_PRECISION, g_param_spec_uint ("qlp_coeff_precision",
+         "QLP coefficients precision",
+         "Precision in bits of quantized linear-predictor coefficients; 0 = automatic",
+         0, 32, flacenc_params[DEFAULT_QUALITY].qlp_coeff_precision,
+         G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_QLP_COEFF_PREC_SEARCH, g_param_spec_boolean ("qlp_coeff_prec_search",
+         "Do QLP coefficients precision search",
+         "false = use qlp_coeff_precision, "
+         "true = search around qlp_coeff_precision, take best",
+         flacenc_params[DEFAULT_QUALITY].qlp_coeff_prec_search,
+         G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ESCAPE_CODING,
-    g_param_spec_boolean ("escape_coding", 
-                         "Do Escape coding", 
-                         "search for escape codes in the entropy coding stage "
-                           "for slightly better compression", 
-                          flacenc_params[DEFAULT_QUALITY].escape_coding, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_EXHAUSTIVE_MODEL_SEARCH,
-    g_param_spec_boolean ("exhaustive_model_search", 
-                         "Do exhaustive model search", 
-                         "do exhaustive search of LP coefficient quantization (expensive!)",
-                          flacenc_params[DEFAULT_QUALITY].exhaustive_model_search, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MIN_RESIDUAL_PARTITION_ORDER,
-    g_param_spec_uint ("min_residual_partition_order", 
-                      "Min residual partition order", 
-                      "Min residual partition order (above 4 doesn't usually help much)",
-                       0, 16, 
-                       flacenc_params[DEFAULT_QUALITY].min_residual_partition_order, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MAX_RESIDUAL_PARTITION_ORDER,
-    g_param_spec_uint ("max_residual_partition_order", 
-                      "Max residual partition order", 
-                      "Max residual partition order (above 4 doesn't usually help much)",
-                       0, 16, 
-                       flacenc_params[DEFAULT_QUALITY].max_residual_partition_order, G_PARAM_READWRITE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_RICE_PARAMETER_SEARCH_DIST,
-    g_param_spec_uint ("rice_parameter_search_dist", 
-                      "rice_parameter_search_dist", 
-                      "0 = try only calc'd parameter k; else try all [k-dist..k+dist] "
-                        "parameters, use best",
-                       0, FLAC__MAX_RICE_PARTITION_ORDER, 
-                       flacenc_params[DEFAULT_QUALITY].rice_parameter_search_dist, G_PARAM_READWRITE));
+      g_param_spec_boolean ("escape_coding", "Do Escape coding",
+         "search for escape codes in the entropy coding stage "
+         "for slightly better compression",
+         flacenc_params[DEFAULT_QUALITY].escape_coding, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_EXHAUSTIVE_MODEL_SEARCH,
+      g_param_spec_boolean ("exhaustive_model_search",
+         "Do exhaustive model search",
+         "do exhaustive search of LP coefficient quantization (expensive!)",
+         flacenc_params[DEFAULT_QUALITY].exhaustive_model_search,
+         G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_MIN_RESIDUAL_PARTITION_ORDER,
+      g_param_spec_uint ("min_residual_partition_order",
+         "Min residual partition order",
+         "Min residual partition order (above 4 doesn't usually help much)", 0,
+         16, flacenc_params[DEFAULT_QUALITY].min_residual_partition_order,
+         G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_MAX_RESIDUAL_PARTITION_ORDER,
+      g_param_spec_uint ("max_residual_partition_order",
+         "Max residual partition order",
+         "Max residual partition order (above 4 doesn't usually help much)", 0,
+         16, flacenc_params[DEFAULT_QUALITY].max_residual_partition_order,
+         G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass),
+      ARG_RICE_PARAMETER_SEARCH_DIST,
+      g_param_spec_uint ("rice_parameter_search_dist",
+         "rice_parameter_search_dist",
+         "0 = try only calc'd parameter k; else try all [k-dist..k+dist] "
+         "parameters, use best", 0, FLAC__MAX_RICE_PARTITION_ORDER,
+         flacenc_params[DEFAULT_QUALITY].rice_parameter_search_dist,
+         G_PARAM_READWRITE));
 
   gstelement_class->change_state = gst_flacenc_change_state;
 }
 
 static void
-gst_flacenc_init (FlacEnc *flacenc)
+gst_flacenc_init (FlacEnc * flacenc)
 {
   flacenc->sinkpad = gst_pad_new_from_template (sink_template, "sink");
-  gst_element_add_pad(GST_ELEMENT(flacenc),flacenc->sinkpad);
-  gst_pad_set_chain_function(flacenc->sinkpad,gst_flacenc_chain);
+  gst_element_add_pad (GST_ELEMENT (flacenc), flacenc->sinkpad);
+  gst_pad_set_chain_function (flacenc->sinkpad, gst_flacenc_chain);
   gst_pad_set_link_function (flacenc->sinkpad, gst_flacenc_sinkconnect);
 
   flacenc->srcpad = gst_pad_new_from_template (src_template, "src");
-  gst_element_add_pad(GST_ELEMENT(flacenc),flacenc->srcpad);
+  gst_element_add_pad (GST_ELEMENT (flacenc), flacenc->srcpad);
 
   GST_FLAG_SET (flacenc, GST_ELEMENT_EVENT_AWARE);
 
-  flacenc->encoder = FLAC__seekable_stream_encoder_new();
+  flacenc->encoder = FLAC__seekable_stream_encoder_new ();
 
   flacenc->negotiated = FALSE;
   flacenc->first = TRUE;
@@ -335,17 +335,17 @@ gst_flacenc_init (FlacEnc *flacenc)
 }
 
 static void
-gst_flacenc_dispose (GObject *object)
+gst_flacenc_dispose (GObject * object)
 {
   FlacEnc *flacenc = GST_FLACENC (object);
 
   FLAC__seekable_stream_encoder_delete (flacenc->encoder);
-  
+
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
 static GstPadLinkReturn
-gst_flacenc_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_flacenc_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstPadLinkReturn ret;
   FlacEnc *flacenc;
@@ -358,7 +358,7 @@ gst_flacenc_sinkconnect (GstPad *pad, const GstCaps *caps)
   gst_structure_get_int (structure, "channels", &flacenc->channels);
   gst_structure_get_int (structure, "depth", &flacenc->depth);
   gst_structure_get_int (structure, "rate", &flacenc->sample_rate);
-  
+
   caps = gst_caps_new_simple ("audio/x-flac",
       "channels", G_TYPE_INT, flacenc->channels,
       "rate", G_TYPE_INT, flacenc->sample_rate, NULL);
@@ -367,12 +367,12 @@ gst_flacenc_sinkconnect (GstPad *pad, const GstCaps *caps)
     return ret;
   }
 
-  FLAC__seekable_stream_encoder_set_bits_per_sample (flacenc->encoder, 
-                                           flacenc->depth);
-  FLAC__seekable_stream_encoder_set_sample_rate (flacenc->encoder, 
-                                       flacenc->sample_rate);
-  FLAC__seekable_stream_encoder_set_channels (flacenc->encoder, 
-                                    flacenc->channels);
+  FLAC__seekable_stream_encoder_set_bits_per_sample (flacenc->encoder,
+      flacenc->depth);
+  FLAC__seekable_stream_encoder_set_sample_rate (flacenc->encoder,
+      flacenc->sample_rate);
+  FLAC__seekable_stream_encoder_set_channels (flacenc->encoder,
+      flacenc->channels);
 
   flacenc->negotiated = TRUE;
 
@@ -380,7 +380,7 @@ gst_flacenc_sinkconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static gboolean
-gst_flacenc_update_quality (FlacEnc *flacenc, gint quality)
+gst_flacenc_update_quality (FlacEnc * flacenc, gint quality)
 {
   flacenc->quality = quality;
 
@@ -396,17 +396,22 @@ gst_flacenc_update_quality (FlacEnc *flacenc, gint quality)
 
   g_object_freeze_notify (G_OBJECT (flacenc));
 
-  DO_UPDATE (do_mid_side_stereo,           mid_side,                     "mid_side_stereo");
-  DO_UPDATE (loose_mid_side_stereo,        loose_mid_side,               "loose_mid_side");
-  DO_UPDATE (blocksize,                    blocksize,                    "blocksize");
-  DO_UPDATE (max_lpc_order,                max_lpc_order,                "max_lpc_order");
-  DO_UPDATE (qlp_coeff_precision,          qlp_coeff_precision,          "qlp_coeff_precision");
-  DO_UPDATE (do_qlp_coeff_prec_search,     qlp_coeff_prec_search,        "qlp_coeff_prec_search");
-  DO_UPDATE (do_escape_coding,             escape_coding,                "escape_coding");
-  DO_UPDATE (do_exhaustive_model_search,   exhaustive_model_search,      "exhaustive_model_search");
-  DO_UPDATE (min_residual_partition_order, min_residual_partition_order, "min_residual_partition_order");
-  DO_UPDATE (max_residual_partition_order, max_residual_partition_order, "max_residual_partition_order");
-  DO_UPDATE (rice_parameter_search_dist,   rice_parameter_search_dist,   "rice_parameter_search_dist");
+  DO_UPDATE (do_mid_side_stereo, mid_side, "mid_side_stereo");
+  DO_UPDATE (loose_mid_side_stereo, loose_mid_side, "loose_mid_side");
+  DO_UPDATE (blocksize, blocksize, "blocksize");
+  DO_UPDATE (max_lpc_order, max_lpc_order, "max_lpc_order");
+  DO_UPDATE (qlp_coeff_precision, qlp_coeff_precision, "qlp_coeff_precision");
+  DO_UPDATE (do_qlp_coeff_prec_search, qlp_coeff_prec_search,
+      "qlp_coeff_prec_search");
+  DO_UPDATE (do_escape_coding, escape_coding, "escape_coding");
+  DO_UPDATE (do_exhaustive_model_search, exhaustive_model_search,
+      "exhaustive_model_search");
+  DO_UPDATE (min_residual_partition_order, min_residual_partition_order,
+      "min_residual_partition_order");
+  DO_UPDATE (max_residual_partition_order, max_residual_partition_order,
+      "max_residual_partition_order");
+  DO_UPDATE (rice_parameter_search_dist, rice_parameter_search_dist,
+      "rice_parameter_search_dist");
 
 #undef DO_UPDATE
 
@@ -416,38 +421,38 @@ gst_flacenc_update_quality (FlacEnc *flacenc, gint quality)
 }
 
 static FLAC__SeekableStreamEncoderSeekStatus
-gst_flacenc_seek_callback (const FLAC__SeekableStreamEncoder *encoder,
-                          FLAC__uint64 absolute_byte_offset,
-                          void *client_data)
+gst_flacenc_seek_callback (const FLAC__SeekableStreamEncoder * encoder,
+    FLAC__uint64 absolute_byte_offset, void *client_data)
 {
-FlacEnc *flacenc;
-GstEvent *event;
+  FlacEnc *flacenc;
+  GstEvent *event;
 
   flacenc = GST_FLACENC (client_data);
 
-  if (flacenc->stopped) 
+  if (flacenc->stopped)
     return FLAC__STREAM_ENCODER_OK;
 
-  event = gst_event_new_seek ((GstSeekType)(int)(GST_FORMAT_BYTES | GST_SEEK_METHOD_SET), absolute_byte_offset); 
+  event =
+      gst_event_new_seek ((GstSeekType) (int) (GST_FORMAT_BYTES |
+         GST_SEEK_METHOD_SET), absolute_byte_offset);
 
   if (event)
     gst_pad_push (flacenc->srcpad, GST_DATA (event));
-  return  FLAC__STREAM_ENCODER_OK;
+
+  return FLAC__STREAM_ENCODER_OK;
 }
 
-static FLAC__StreamEncoderWriteStatus 
-gst_flacenc_write_callback (const FLAC__SeekableStreamEncoder *encoder, 
-                           const FLAC__byte buffer[], unsigned bytes, 
-                           unsigned samples, unsigned current_frame, 
-                           void *client_data)
+static FLAC__StreamEncoderWriteStatus
+gst_flacenc_write_callback (const FLAC__SeekableStreamEncoder * encoder,
+    const FLAC__byte buffer[], unsigned bytes,
+    unsigned samples, unsigned current_frame, void *client_data)
 {
   FlacEnc *flacenc;
   GstBuffer *outbuf;
-  
+
   flacenc = GST_FLACENC (client_data);
 
-  if (flacenc->stopped) 
+  if (flacenc->stopped)
     return FLAC__STREAM_ENCODER_OK;
 
   outbuf = gst_buffer_new_and_alloc (bytes);
@@ -465,30 +470,29 @@ gst_flacenc_write_callback (const FLAC__SeekableStreamEncoder *encoder,
   return FLAC__STREAM_ENCODER_OK;
 }
 
-static void 
-add_one_tag (const GstTagList *list, const gchar *tag, 
-            gpointer user_data)
+static void
+add_one_tag (const GstTagList * list, const gchar * tag, gpointer user_data)
 {
-      GList *comments;
-      GList *it;
-      FlacEnc *flacenc = GST_FLACENC (user_data);
-
-      comments = gst_tag_to_vorbis_comments (list, tag);
-      for (it = comments; it != NULL; it = it->next) {
-             FLAC__StreamMetadata_VorbisComment_Entry commment_entry;
-             commment_entry.length = strlen(it->data);
-             commment_entry.entry  =  it->data;
-             FLAC__metadata_object_vorbiscomment_insert_comment (flacenc->meta[0], 
-                                                                 flacenc->meta[0]->data.vorbis_comment.num_comments, 
-                                                                 commment_entry, 
-                                                                 TRUE);
-             g_free (it->data);
-      }
-      g_list_free (comments);
+  GList *comments;
+  GList *it;
+  FlacEnc *flacenc = GST_FLACENC (user_data);
+
+  comments = gst_tag_to_vorbis_comments (list, tag);
+  for (it = comments; it != NULL; it = it->next) {
+    FLAC__StreamMetadata_VorbisComment_Entry commment_entry;
+
+    commment_entry.length = strlen (it->data);
+    commment_entry.entry = it->data;
+    FLAC__metadata_object_vorbiscomment_insert_comment (flacenc->meta[0],
+       flacenc->meta[0]->data.vorbis_comment.num_comments,
+       commment_entry, TRUE);
+    g_free (it->data);
+  }
+  g_list_free (comments);
 }
 
 static void
-gst_flacenc_set_metadata (FlacEnc *flacenc)
+gst_flacenc_set_metadata (FlacEnc * flacenc)
 {
   const GstTagList *user_tags;
   GstTagList *copy;
@@ -498,21 +502,23 @@ gst_flacenc_set_metadata (FlacEnc *flacenc)
   if ((flacenc->tags == NULL) && (user_tags == NULL)) {
     return;
   }
-  copy = gst_tag_list_merge (user_tags, flacenc->tags, 
-                            gst_tag_setter_get_merge_mode (GST_TAG_SETTER (flacenc)));
+  copy = gst_tag_list_merge (user_tags, flacenc->tags,
+      gst_tag_setter_get_merge_mode (GST_TAG_SETTER (flacenc)));
   flacenc->meta = g_malloc (sizeof (FLAC__StreamMetadata **));
 
-  flacenc->meta[0] = FLAC__metadata_object_new (FLAC__METADATA_TYPE_VORBIS_COMMENT);
+  flacenc->meta[0] =
+      FLAC__metadata_object_new (FLAC__METADATA_TYPE_VORBIS_COMMENT);
   gst_tag_list_foreach (copy, add_one_tag, flacenc);
 
-  if (FLAC__seekable_stream_encoder_set_metadata(flacenc->encoder, flacenc->meta, 1) != true)
+  if (FLAC__seekable_stream_encoder_set_metadata (flacenc->encoder,
+         flacenc->meta, 1) != true)
     g_warning ("Dude, i'm already initialized!");
   gst_tag_list_free (copy);
 }
 
 
 static void
-gst_flacenc_chain (GstPad *pad, GstData *_data)
+gst_flacenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   FlacEnc *flacenc;
@@ -522,7 +528,7 @@ gst_flacenc_chain (GstPad *pad, GstData *_data)
   gulong i;
   FLAC__bool res;
 
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (buf != NULL);
 
   flacenc = GST_FLACENC (gst_pad_get_parent (pad));
 
@@ -531,18 +537,18 @@ gst_flacenc_chain (GstPad *pad, GstData *_data)
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_EOS:
-       FLAC__seekable_stream_encoder_finish(flacenc->encoder);
+       FLAC__seekable_stream_encoder_finish (flacenc->encoder);
        break;
       case GST_EVENT_TAG:
        if (flacenc->tags) {
-         gst_tag_list_insert (flacenc->tags, gst_event_tag_get_list (event), 
-                 GST_TAG_MERGE_REPLACE);
+         gst_tag_list_insert (flacenc->tags, gst_event_tag_get_list (event),
+             GST_TAG_MERGE_REPLACE);
        } else {
          g_assert_not_reached ();
        }
        break;
       default:
-        break;
+       break;
     }
     gst_pad_event_default (pad, event);
     return;
@@ -550,33 +556,31 @@ gst_flacenc_chain (GstPad *pad, GstData *_data)
 
   if (!flacenc->negotiated) {
     GST_ELEMENT_ERROR (flacenc, CORE, NEGOTIATION, (NULL),
-                      ("format wasn't negotiated before chain function"));
+       ("format wasn't negotiated before chain function"));
     return;
   }
 
   depth = flacenc->depth;
 
   insize = GST_BUFFER_SIZE (buf);
-  samples = insize / ((depth+7)>>3);
+  samples = insize / ((depth + 7) >> 3);
 
-  if (FLAC__seekable_stream_encoder_get_state (flacenc->encoder) == 
-                 FLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED) 
-  {
+  if (FLAC__seekable_stream_encoder_get_state (flacenc->encoder) ==
+      FLAC__SEEKABLE_STREAM_ENCODER_UNINITIALIZED) {
     FLAC__SeekableStreamEncoderState state;
 
-    FLAC__seekable_stream_encoder_set_write_callback (flacenc->encoder, 
-                                          gst_flacenc_write_callback);
-    FLAC__seekable_stream_encoder_set_seek_callback (flacenc->encoder, 
-                                          gst_flacenc_seek_callback);
-                                          
-    FLAC__seekable_stream_encoder_set_client_data (flacenc->encoder, 
-                                          flacenc);
-                 
+    FLAC__seekable_stream_encoder_set_write_callback (flacenc->encoder,
+       gst_flacenc_write_callback);
+    FLAC__seekable_stream_encoder_set_seek_callback (flacenc->encoder,
+       gst_flacenc_seek_callback);
+
+    FLAC__seekable_stream_encoder_set_client_data (flacenc->encoder, flacenc);
+
     gst_flacenc_set_metadata (flacenc);
     state = FLAC__seekable_stream_encoder_init (flacenc->encoder);
     if (state != FLAC__STREAM_ENCODER_OK) {
       GST_ELEMENT_ERROR (flacenc, LIBRARY, INIT, (NULL),
-                        ("could not initialize encoder (wrong parameters?)"));
+         ("could not initialize encoder (wrong parameters?)"));
       return;
     }
   }
@@ -584,27 +588,26 @@ gst_flacenc_chain (GstPad *pad, GstData *_data)
   /* we keep a pointer in the flacenc struct because we are freeing the data
    * after a push opreration that might never return */
   data = flacenc->data = g_malloc (samples * sizeof (FLAC__int32));
-    
+
   if (depth == 8) {
     gint8 *indata = (gint8 *) GST_BUFFER_DATA (buf);
-    
 
-    for (i=0; i<samples; i++) {
-      data[i] = (FLAC__int32) *indata++;
+
+    for (i = 0; i < samples; i++) {
+      data[i] = (FLAC__int32) * indata++;
     }
-  }
-  else if (depth == 16) {
+  } else if (depth == 16) {
     gint16 *indata = (gint16 *) GST_BUFFER_DATA (buf);
 
-    for (i=0; i<samples; i++) {
-      data[i] = (FLAC__int32) *indata++;
+    for (i = 0; i < samples; i++) {
+      data[i] = (FLAC__int32) * indata++;
     }
   }
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 
-  res = FLAC__seekable_stream_encoder_process_interleaved (flacenc->encoder, 
-                             (const FLAC__int32 *) data, samples / flacenc->channels);
+  res = FLAC__seekable_stream_encoder_process_interleaved (flacenc->encoder,
+      (const FLAC__int32 *) data, samples / flacenc->channels);
 
   g_free (flacenc->data);
   flacenc->data = NULL;
@@ -615,63 +618,63 @@ gst_flacenc_chain (GstPad *pad, GstData *_data)
 }
 
 static void
-gst_flacenc_set_property (GObject *object, guint prop_id,
-                         const GValue *value, GParamSpec *pspec)
+gst_flacenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   FlacEnc *this;
-  
-  this = (FlacEnc *)object;
+
+  this = (FlacEnc *) object;
   switch (prop_id) {
     case ARG_QUALITY:
       gst_flacenc_update_quality (this, g_value_get_enum (value));
       break;
     case ARG_STREAMABLE_SUBSET:
-      FLAC__seekable_stream_encoder_set_streamable_subset (this->encoder, 
-                          g_value_get_boolean (value));
+      FLAC__seekable_stream_encoder_set_streamable_subset (this->encoder,
+         g_value_get_boolean (value));
       break;
     case ARG_MID_SIDE_STEREO:
-      FLAC__seekable_stream_encoder_set_do_mid_side_stereo (this->encoder, 
-                          g_value_get_boolean (value));
+      FLAC__seekable_stream_encoder_set_do_mid_side_stereo (this->encoder,
+         g_value_get_boolean (value));
       break;
     case ARG_LOOSE_MID_SIDE_STEREO:
-      FLAC__seekable_stream_encoder_set_loose_mid_side_stereo (this->encoder, 
-                          g_value_get_boolean (value));
+      FLAC__seekable_stream_encoder_set_loose_mid_side_stereo (this->encoder,
+         g_value_get_boolean (value));
       break;
     case ARG_BLOCKSIZE:
-      FLAC__seekable_stream_encoder_set_blocksize (this->encoder, 
-                          g_value_get_uint (value));
+      FLAC__seekable_stream_encoder_set_blocksize (this->encoder,
+         g_value_get_uint (value));
       break;
     case ARG_MAX_LPC_ORDER:
-      FLAC__seekable_stream_encoder_set_max_lpc_order (this->encoder, 
-                          g_value_get_uint (value));
+      FLAC__seekable_stream_encoder_set_max_lpc_order (this->encoder,
+         g_value_get_uint (value));
       break;
     case ARG_QLP_COEFF_PRECISION:
-      FLAC__seekable_stream_encoder_set_qlp_coeff_precision (this->encoder, 
-                          g_value_get_uint (value));
+      FLAC__seekable_stream_encoder_set_qlp_coeff_precision (this->encoder,
+         g_value_get_uint (value));
       break;
     case ARG_QLP_COEFF_PREC_SEARCH:
-      FLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search (this->encoder, 
-                          g_value_get_boolean (value));
+      FLAC__seekable_stream_encoder_set_do_qlp_coeff_prec_search (this->encoder,
+         g_value_get_boolean (value));
       break;
     case ARG_ESCAPE_CODING:
-      FLAC__seekable_stream_encoder_set_do_escape_coding (this->encoder, 
-                          g_value_get_boolean (value));
+      FLAC__seekable_stream_encoder_set_do_escape_coding (this->encoder,
+         g_value_get_boolean (value));
       break;
     case ARG_EXHAUSTIVE_MODEL_SEARCH:
-      FLAC__seekable_stream_encoder_set_do_exhaustive_model_search (this->encoder, 
-                          g_value_get_boolean (value));
+      FLAC__seekable_stream_encoder_set_do_exhaustive_model_search (this->
+         encoder, g_value_get_boolean (value));
       break;
     case ARG_MIN_RESIDUAL_PARTITION_ORDER:
-      FLAC__seekable_stream_encoder_set_min_residual_partition_order (this->encoder, 
-                          g_value_get_uint (value));
+      FLAC__seekable_stream_encoder_set_min_residual_partition_order (this->
+         encoder, g_value_get_uint (value));
       break;
     case ARG_MAX_RESIDUAL_PARTITION_ORDER:
-      FLAC__seekable_stream_encoder_set_max_residual_partition_order (this->encoder, 
-                          g_value_get_uint (value));
+      FLAC__seekable_stream_encoder_set_max_residual_partition_order (this->
+         encoder, g_value_get_uint (value));
       break;
     case ARG_RICE_PARAMETER_SEARCH_DIST:
-      FLAC__seekable_stream_encoder_set_rice_parameter_search_dist (this->encoder, 
-                                                g_value_get_uint (value));
+      FLAC__seekable_stream_encoder_set_rice_parameter_search_dist (this->
+         encoder, g_value_get_uint (value));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -680,64 +683,71 @@ gst_flacenc_set_property (GObject *object, guint prop_id,
 }
 
 static void
-gst_flacenc_get_property (GObject *object, guint prop_id, 
-                         GValue *value, GParamSpec *pspec)
+gst_flacenc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
   FlacEnc *this;
-  
-  this = (FlacEnc *)object;
-  
+
+  this = (FlacEnc *) object;
+
   switch (prop_id) {
     case ARG_QUALITY:
       g_value_set_enum (value, this->quality);
       break;
     case ARG_STREAMABLE_SUBSET:
-      g_value_set_boolean (value, 
-             FLAC__seekable_stream_encoder_get_streamable_subset (this->encoder));
+      g_value_set_boolean (value,
+         FLAC__seekable_stream_encoder_get_streamable_subset (this->encoder));
       break;
     case ARG_MID_SIDE_STEREO:
-      g_value_set_boolean (value, 
-             FLAC__seekable_stream_encoder_get_do_mid_side_stereo (this->encoder));
+      g_value_set_boolean (value,
+         FLAC__seekable_stream_encoder_get_do_mid_side_stereo (this->encoder));
       break;
     case ARG_LOOSE_MID_SIDE_STEREO:
-      g_value_set_boolean (value, 
-             FLAC__seekable_stream_encoder_get_loose_mid_side_stereo (this->encoder));
+      g_value_set_boolean (value,
+         FLAC__seekable_stream_encoder_get_loose_mid_side_stereo (this->
+             encoder));
       break;
     case ARG_BLOCKSIZE:
-      g_value_set_uint (value, 
-             FLAC__seekable_stream_encoder_get_blocksize (this->encoder));
+      g_value_set_uint (value,
+         FLAC__seekable_stream_encoder_get_blocksize (this->encoder));
       break;
     case ARG_MAX_LPC_ORDER:
-      g_value_set_uint (value, 
-             FLAC__seekable_stream_encoder_get_max_lpc_order (this->encoder));
+      g_value_set_uint (value,
+         FLAC__seekable_stream_encoder_get_max_lpc_order (this->encoder));
       break;
     case ARG_QLP_COEFF_PRECISION:
-      g_value_set_uint (value, 
-             FLAC__seekable_stream_encoder_get_qlp_coeff_precision (this->encoder));
+      g_value_set_uint (value,
+         FLAC__seekable_stream_encoder_get_qlp_coeff_precision (this->
+             encoder));
       break;
     case ARG_QLP_COEFF_PREC_SEARCH:
-      g_value_set_boolean (value, 
-             FLAC__seekable_stream_encoder_get_do_qlp_coeff_prec_search (this->encoder));
+      g_value_set_boolean (value,
+         FLAC__seekable_stream_encoder_get_do_qlp_coeff_prec_search (this->
+             encoder));
       break;
     case ARG_ESCAPE_CODING:
-      g_value_set_boolean (value, 
-             FLAC__seekable_stream_encoder_get_do_escape_coding (this->encoder));
+      g_value_set_boolean (value,
+         FLAC__seekable_stream_encoder_get_do_escape_coding (this->encoder));
       break;
     case ARG_EXHAUSTIVE_MODEL_SEARCH:
-      g_value_set_boolean (value, 
-             FLAC__seekable_stream_encoder_get_do_exhaustive_model_search (this->encoder));
+      g_value_set_boolean (value,
+         FLAC__seekable_stream_encoder_get_do_exhaustive_model_search (this->
+             encoder));
       break;
     case ARG_MIN_RESIDUAL_PARTITION_ORDER:
-      g_value_set_uint (value, 
-             FLAC__seekable_stream_encoder_get_min_residual_partition_order (this->encoder));
+      g_value_set_uint (value,
+         FLAC__seekable_stream_encoder_get_min_residual_partition_order (this->
+             encoder));
       break;
     case ARG_MAX_RESIDUAL_PARTITION_ORDER:
-      g_value_set_uint (value, 
-             FLAC__seekable_stream_encoder_get_max_residual_partition_order (this->encoder));
+      g_value_set_uint (value,
+         FLAC__seekable_stream_encoder_get_max_residual_partition_order (this->
+             encoder));
       break;
     case ARG_RICE_PARAMETER_SEARCH_DIST:
-      g_value_set_uint (value, 
-             FLAC__seekable_stream_encoder_get_rice_parameter_search_dist (this->encoder));
+      g_value_set_uint (value,
+         FLAC__seekable_stream_encoder_get_rice_parameter_search_dist (this->
+             encoder));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -746,7 +756,7 @@ gst_flacenc_get_property (GObject *object, guint prop_id,
 }
 
 static GstElementStateReturn
-gst_flacenc_change_state (GstElement *element)
+gst_flacenc_change_state (GstElement * element)
 {
   FlacEnc *flacenc = GST_FLACENC (element);
 
@@ -760,10 +770,10 @@ gst_flacenc_change_state (GstElement *element)
     case GST_STATE_PLAYING_TO_PAUSED:
       break;
     case GST_STATE_PAUSED_TO_READY:
-      if (FLAC__seekable_stream_encoder_get_state (flacenc->encoder) != 
-                       FLAC__STREAM_ENCODER_UNINITIALIZED) {
-        flacenc->stopped = TRUE;
-        FLAC__seekable_stream_encoder_finish (flacenc->encoder);
+      if (FLAC__seekable_stream_encoder_get_state (flacenc->encoder) !=
+         FLAC__STREAM_ENCODER_UNINITIALIZED) {
+       flacenc->stopped = TRUE;
+       FLAC__seekable_stream_encoder_finish (flacenc->encoder);
       }
       flacenc->negotiated = FALSE;
       if (flacenc->first_buf)
index 27dbb3b..1337a6f 100644 (file)
@@ -27,8 +27,9 @@
 #include <FLAC/all.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 #define GST_TYPE_FLACENC flacenc_get_type()
 #define GST_FLACENC(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_FLACENC, FlacEnc)
@@ -36,40 +37,42 @@ extern "C" {
 #define GST_IS_FLACENC(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_FLACENC)
 #define GST_IS_FLACENC_CLASS(obj) G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_FLACENC)
 
-typedef struct _FlacEnc FlacEnc;
-typedef struct _FlacEncClass FlacEncClass;
+  typedef struct _FlacEnc FlacEnc;
+  typedef struct _FlacEncClass FlacEncClass;
 
-struct _FlacEnc {
-  GstElement    element;
+  struct _FlacEnc
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  gboolean      first;
-  GstBuffer    *first_buf;
-  gboolean      eos;
-  gint                  channels;
-  gint                  depth;
-  gint                  sample_rate;
-  gboolean      negotiated;
-  gint                  quality;
-  gboolean      stopped;
-  FLAC__int32  *data;
+    gboolean first;
+    GstBuffer *first_buf;
+    gboolean eos;
+    gint channels;
+    gint depth;
+    gint sample_rate;
+    gboolean negotiated;
+    gint quality;
+    gboolean stopped;
+    FLAC__int32 *data;
 
-  FLAC__SeekableStreamEncoder *encoder;
-  FLAC__StreamMetadata **meta;
+    FLAC__SeekableStreamEncoder *encoder;
+    FLAC__StreamMetadata **meta;
 
-  GstTagList *    tags;
-};
+    GstTagList *tags;
+  };
 
-struct _FlacEncClass {
-  GstElementClass parent_class;
-};
+  struct _FlacEncClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType flacenc_get_type(void);
+  GType flacenc_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
-#endif /* __FLACENC_H__ */
+#endif                         /* __FLACENC_H__ */
index 5d1c56c..c931f41 100644 (file)
 typedef struct _GstFlacTag GstFlacTag;
 typedef struct _GstFlacTagClass GstFlacTagClass;
 
-static inline 
-gint min (gint a, gint b) {
+static inline gint
+min (gint a, gint b)
+{
   if (a < b) {
     return a;
   } else {
     return b;
   }
 }
-  
 
-typedef enum {
+
+typedef enum
+{
   GST_FLAC_TAG_STATE_INIT,
   GST_FLAC_TAG_STATE_METADATA_BLOCKS,
   GST_FLAC_TAG_STATE_METADATA_NEXT_BLOCK,
@@ -57,77 +59,78 @@ typedef enum {
 } GstFlacTagState;
 
 
-struct _GstFlacTag {
-  GstElement    element;
+struct _GstFlacTag
+{
+  GstElement element;
 
   /* pads */
-  GstPad *             sinkpad;
-  GstPad *             srcpad;
+  GstPad *sinkpad;
+  GstPad *srcpad;
 
-  GstFlacTagState       state;
+  GstFlacTagState state;
 
-  GstBuffer *          buffer;
-  GstBuffer *           vorbiscomment;
-  GstTagList *          tags;
+  GstBuffer *buffer;
+  GstBuffer *vorbiscomment;
+  GstTagList *tags;
 
-  guint                 metadata_bytes_remaining;
-  gboolean              metadata_last_block;  
+  guint metadata_bytes_remaining;
+  gboolean metadata_last_block;
 
-  gboolean              only_output_tags;
+  gboolean only_output_tags;
 };
 
-struct _GstFlacTagClass {
+struct _GstFlacTagClass
+{
   GstElementClass parent_class;
 };
 
 /* elementfactory information */
-static GstElementDetails gst_flac_tag_details = GST_ELEMENT_DETAILS (
-  "flac rettager",
-  "Tag",
-  "Rewrite tags in a FLAC file",
-  "Christope Fergeau <teuf@gnome.org>"
-);
+static GstElementDetails gst_flac_tag_details =
+GST_ELEMENT_DETAILS ("flac rettager",
+    "Tag",
+    "Rewrite tags in a FLAC file",
+    "Christope Fergeau <teuf@gnome.org>");
 
 
 /* signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
 static GstStaticPadTemplate flac_tag_src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-flac; application/x-gst-tags")
-);
+    GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-flac; application/x-gst-tags")
+    );
 
 static GstStaticPadTemplate flac_tag_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-flac")
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-flac")
+    );
 
 
-static void            gst_flac_tag_base_init  (gpointer               g_class);
-static void            gst_flac_tag_class_init (GstFlacTagClass *      klass);
-static void            gst_flac_tag_init       (GstFlacTag *           tag);
+static void gst_flac_tag_base_init (gpointer g_class);
+static void gst_flac_tag_class_init (GstFlacTagClass * klass);
+static void gst_flac_tag_init (GstFlacTag * tag);
 
-static void            gst_flac_tag_chain      (GstPad *               pad,
-                                                GstData *              data);
+static void gst_flac_tag_chain (GstPad * pad, GstData * data);
 
-static GstElementStateReturn gst_flac_tag_change_state (GstElement * element);
+static GstElementStateReturn gst_flac_tag_change_state (GstElement * element);
 
 
 static GstElementClass *parent_class = NULL;
+
 /* static guint gst_flac_tag_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -152,11 +155,14 @@ gst_flac_tag_get_type (void)
       NULL,
       NULL
     };
-    
-    flac_tag_type = g_type_register_static(GST_TYPE_ELEMENT, "GstFlacTag", &flac_tag_info, 0);
 
-    g_type_add_interface_static (flac_tag_type, GST_TYPE_TAG_SETTER, &tag_setter_info);
-    
+    flac_tag_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstFlacTag", &flac_tag_info,
+       0);
+
+    g_type_add_interface_static (flac_tag_type, GST_TYPE_TAG_SETTER,
+       &tag_setter_info);
+
   }
   return flac_tag_type;
 }
@@ -170,29 +176,29 @@ gst_flac_tag_base_init (gpointer g_class)
   gst_element_class_set_details (element_class, &gst_flac_tag_details);
 
   gst_element_class_add_pad_template (element_class,
-                 gst_static_pad_template_get (&flac_tag_sink_template));
+      gst_static_pad_template_get (&flac_tag_sink_template));
   gst_element_class_add_pad_template (element_class,
-                 gst_static_pad_template_get (&flac_tag_src_template));
+      gst_static_pad_template_get (&flac_tag_src_template));
 }
 
 
-static void 
-send_eos (GstFlacTag *tag)
+static void
+send_eos (GstFlacTag * tag)
 {
   gst_element_set_eos (GST_ELEMENT (tag));
   gst_pad_push (tag->srcpad, GST_DATA (gst_event_new (GST_EVENT_EOS)));
   /* Seek to end of sink stream */
   if (gst_pad_send_event (GST_PAD_PEER (tag->sinkpad),
-                         gst_event_new_seek (GST_FORMAT_BYTES | GST_SEEK_METHOD_END | 
-                                             GST_SEEK_FLAG_FLUSH, 0))) {
+         gst_event_new_seek (GST_FORMAT_BYTES | GST_SEEK_METHOD_END |
+             GST_SEEK_FLAG_FLUSH, 0))) {
   } else {
     g_warning ("Couldn't seek to eos on sinkpad\n");
   }
 }
 
 
-static gboolean 
-caps_nego (GstFlacTag *tag)
+static gboolean
+caps_nego (GstFlacTag * tag)
 {
   /* do caps nego */
   GstCaps *caps;
@@ -202,8 +208,8 @@ caps_nego (GstFlacTag *tag)
     tag->only_output_tags = FALSE;
     GST_LOG_OBJECT (tag, "normal operation, using audio/x-flac output");
   } else {
-    if (gst_pad_try_set_caps (tag->srcpad, gst_caps_new_simple (
-            "application/x-gst-tags", NULL))
+    if (gst_pad_try_set_caps (tag->srcpad,
+           gst_caps_new_simple ("application/x-gst-tags", NULL))
        != GST_PAD_LINK_REFUSED) {
       tag->only_output_tags = TRUE;
       GST_LOG_OBJECT (tag, "fast operation, just outputting tags");
@@ -211,36 +217,39 @@ caps_nego (GstFlacTag *tag)
     } else {
       return FALSE;
     }
-  }  
+  }
   return TRUE;
 }
 
 static void
-gst_flac_tag_class_init (GstFlacTagClass *klass)
+gst_flac_tag_class_init (GstFlacTagClass * klass)
 {
   GstElementClass *gstelement_class;
   GObjectClass *gobject_class;
-  
-  gstelement_class = (GstElementClass*) klass;
-  gobject_class = (GObjectClass*) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  gstelement_class = (GstElementClass *) klass;
+  gobject_class = (GObjectClass *) klass;
+
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gstelement_class->change_state = gst_flac_tag_change_state;
 }
 
 
 static void
-gst_flac_tag_init (GstFlacTag *tag)
+gst_flac_tag_init (GstFlacTag * tag)
 {
   /* create the sink and src pads */
-  tag->sinkpad = gst_pad_new_from_template(
-                 gst_static_pad_template_get (&flac_tag_sink_template), "sink");
+  tag->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&flac_tag_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (tag), tag->sinkpad);
-  gst_pad_set_chain_function (tag->sinkpad, GST_DEBUG_FUNCPTR (gst_flac_tag_chain));
+  gst_pad_set_chain_function (tag->sinkpad,
+      GST_DEBUG_FUNCPTR (gst_flac_tag_chain));
 
-  tag->srcpad = gst_pad_new_from_template(
-                 gst_static_pad_template_get (&flac_tag_src_template), "src");
+  tag->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&flac_tag_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (tag), tag->srcpad);
 
   tag->buffer = NULL;
@@ -250,11 +259,11 @@ gst_flac_tag_init (GstFlacTag *tag)
 #define FLAC_MAGIC_SIZE (sizeof (FLAC_MAGIC) - 1)
 
 static void
-gst_flac_tag_chain (GstPad *pad, GstData *data)
+gst_flac_tag_chain (GstPad * pad, GstData * data)
 {
   GstBuffer *buffer;
   GstFlacTag *tag;
-  
+
   if (GST_IS_EVENT (data)) {
     g_print ("Unhandled event\n");
     return;
@@ -265,6 +274,7 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
 
   if (tag->buffer) {
     GstBuffer *merge;
+
     merge = gst_buffer_merge (tag->buffer, buffer);
     gst_buffer_unref (buffer);
     gst_buffer_unref (tag->buffer);
@@ -284,13 +294,17 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
       return;
     }
 
-    if (strncmp (GST_BUFFER_DATA (tag->buffer), FLAC_MAGIC, FLAC_MAGIC_SIZE) == 0) {
+    if (strncmp (GST_BUFFER_DATA (tag->buffer), FLAC_MAGIC,
+           FLAC_MAGIC_SIZE) == 0) {
       GstBuffer *sub;
+
       tag->state = GST_FLAC_TAG_STATE_METADATA_BLOCKS;
       sub = gst_buffer_create_sub (tag->buffer, 0, FLAC_MAGIC_SIZE);
-             
+
       gst_pad_push (tag->srcpad, GST_DATA (sub));
-      sub = gst_buffer_create_sub (tag->buffer, FLAC_MAGIC_SIZE, GST_BUFFER_SIZE (tag->buffer) - FLAC_MAGIC_SIZE);
+      sub =
+         gst_buffer_create_sub (tag->buffer, FLAC_MAGIC_SIZE,
+         GST_BUFFER_SIZE (tag->buffer) - FLAC_MAGIC_SIZE);
       gst_buffer_unref (tag->buffer);
       /* We do a copy because we need a writable buffer, and _create_sub
        * sets the buffer it uses to read-only
@@ -332,10 +346,9 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
     }
 
     type = (GST_BUFFER_DATA (tag->buffer)[0]) & 0x7F;
-    size = 
-      ((GST_BUFFER_DATA (tag->buffer)[1]) << 16) 
-      | ((GST_BUFFER_DATA (tag->buffer)[2]) << 8)
-      | (GST_BUFFER_DATA (tag->buffer)[3]);
+    size = ((GST_BUFFER_DATA (tag->buffer)[1]) << 16)
+       | ((GST_BUFFER_DATA (tag->buffer)[2]) << 8)
+       | (GST_BUFFER_DATA (tag->buffer)[3]);
 
     /* The 4 bytes long header isn't included in the metadata size */
     tag->metadata_bytes_remaining = size + 4;
@@ -352,14 +365,14 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
 
   /* Reads a metadata block */
   if ((tag->state == GST_FLAC_TAG_STATE_WRITING_METADATA_BLOCK) ||
-  (tag->state == GST_FLAC_TAG_STATE_VC_METADATA_BLOCK)) {
-    GstBuffer *sub;    
+      (tag->state == GST_FLAC_TAG_STATE_VC_METADATA_BLOCK)) {
+    GstBuffer *sub;
     guint bytes_to_push;
 
     g_assert (tag->metadata_bytes_remaining != 0);
 
-    bytes_to_push = min (tag->metadata_bytes_remaining, 
-                        GST_BUFFER_SIZE (tag->buffer));
+    bytes_to_push = min (tag->metadata_bytes_remaining,
+       GST_BUFFER_SIZE (tag->buffer));
 
     sub = gst_buffer_create_sub (tag->buffer, 0, bytes_to_push);
 
@@ -370,6 +383,7 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
        tag->vorbiscomment = sub;
       } else {
        GstBuffer *merge;
+
        merge = gst_buffer_merge (tag->vorbiscomment, sub);
        gst_buffer_unref (tag->vorbiscomment);
        gst_buffer_unref (sub);
@@ -382,8 +396,8 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
     if (GST_BUFFER_SIZE (tag->buffer) > bytes_to_push) {
       GstBuffer *sub;
 
-      sub = gst_buffer_create_sub (tag->buffer, bytes_to_push, 
-                                  GST_BUFFER_SIZE (tag->buffer) - bytes_to_push);
+      sub = gst_buffer_create_sub (tag->buffer, bytes_to_push,
+         GST_BUFFER_SIZE (tag->buffer) - bytes_to_push);
       gst_buffer_unref (tag->buffer);
 
       /* We make a copy because we need a writable buffer, and _create_sub
@@ -415,10 +429,9 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
     if (tag->vorbiscomment != NULL) {
       /* We found some tags, try to parse them and notify the other elements
        * that we encoutered some tags
-       */      
-      tag->tags = gst_tag_list_from_vorbiscomment_buffer (tag->vorbiscomment, 
-                                                         GST_BUFFER_DATA (tag->vorbiscomment),
-                                                         4, NULL);
+       */
+      tag->tags = gst_tag_list_from_vorbiscomment_buffer (tag->vorbiscomment,
+         GST_BUFFER_DATA (tag->vorbiscomment), 4, NULL);
       if (tag->tags != NULL) {
        gst_element_found_tags (GST_ELEMENT (tag), tag->tags);
       }
@@ -431,7 +444,7 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
        return;
       }
     }
-    
+
     /* Skip to next state */
     if (tag->metadata_last_block == FALSE) {
       tag->state = GST_FLAC_TAG_STATE_METADATA_BLOCKS;
@@ -461,9 +474,9 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
     g_assert (tag->only_output_tags == FALSE);
 
     user_tags = gst_tag_setter_get_list (GST_TAG_SETTER (tag));
-    merged_tags = gst_tag_list_merge (tag->tags, user_tags, 
-                                     gst_tag_setter_get_merge_mode (GST_TAG_SETTER (tag)));
-    
+    merged_tags = gst_tag_list_merge (tag->tags, user_tags,
+       gst_tag_setter_get_merge_mode (GST_TAG_SETTER (tag)));
+
     if (merged_tags == NULL) {
       /* If we get a NULL list of tags, we must generate a padding block
        * which is marked as the last metadata block, otherwise we'll
@@ -473,23 +486,25 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
       buffer = gst_buffer_new_and_alloc (12);
       if (buffer == NULL) {
        GST_ELEMENT_ERROR (tag, CORE, TOO_LAZY, (NULL),
-                          ("Error creating 12-byte buffer for padding block"));
+           ("Error creating 12-byte buffer for padding block"));
       }
       memset (GST_BUFFER_DATA (buffer), 0, GST_BUFFER_SIZE (buffer));
-      GST_BUFFER_DATA (buffer)[0] = 0x81; /* 0x80 = Last metadata block, 
-                                          * 0x01 = padding block
-                                          */
+      GST_BUFFER_DATA (buffer)[0] = 0x81;      /* 0x80 = Last metadata block, 
+                                                * 0x01 = padding block
+                                                */
     } else {
       guchar header[4];
+
       memset (header, 0, sizeof (header));
-      header[0] = 0x84; /* 0x80 = Last metadata block, 
-                        * 0x04 = vorbiscomment block
-                        */
-      buffer = gst_tag_list_to_vorbiscomment_buffer (merged_tags, header, 
-                                                    sizeof (header), NULL);
+      header[0] = 0x84;                /* 0x80 = Last metadata block, 
+                                * 0x04 = vorbiscomment block
+                                */
+      buffer = gst_tag_list_to_vorbiscomment_buffer (merged_tags, header,
+         sizeof (header), NULL);
       gst_tag_list_free (merged_tags);
       if (buffer == NULL) {
-       GST_ELEMENT_ERROR (tag, CORE, TAG, (NULL), ("Error converting tag list to vorbiscomment buffer"));
+       GST_ELEMENT_ERROR (tag, CORE, TAG, (NULL),
+           ("Error converting tag list to vorbiscomment buffer"));
        return;
       }
       size = GST_BUFFER_SIZE (buffer) - 4;
@@ -498,9 +513,10 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
         * while the vorbis specs allow more than that. Shouldn't 
         * be a real world problem though
         */
-       GST_ELEMENT_ERROR (tag, CORE, TAG, (NULL), ("Vorbis comment of size %d too long", size));
+       GST_ELEMENT_ERROR (tag, CORE, TAG, (NULL),
+           ("Vorbis comment of size %d too long", size));
        return;
-      } 
+      }
     }
 
     /* The 4 byte metadata block header isn't accounted for in the total
@@ -509,8 +525,8 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
     size = GST_BUFFER_SIZE (buffer) - 4;
 
     GST_BUFFER_DATA (buffer)[1] = ((size & 0xFF0000) >> 16);
-    GST_BUFFER_DATA (buffer)[2] = ((size & 0x00FF00) >>  8);
-    GST_BUFFER_DATA (buffer)[3] =  (size & 0x0000FF);
+    GST_BUFFER_DATA (buffer)[2] = ((size & 0x00FF00) >> 8);
+    GST_BUFFER_DATA (buffer)[3] = (size & 0x0000FF);
     gst_pad_push (tag->srcpad, GST_DATA (buffer));
     tag->state = GST_FLAC_TAG_STATE_AUDIO_DATA;
   }
@@ -525,7 +541,7 @@ gst_flac_tag_chain (GstPad *pad, GstData *data)
 
 
 static GstElementStateReturn
-gst_flac_tag_change_state (GstElement *element)
+gst_flac_tag_change_state (GstElement * element)
 {
   GstFlacTag *tag;
 
@@ -543,7 +559,7 @@ gst_flac_tag_change_state (GstElement *element)
       break;
     case GST_STATE_PAUSED_TO_READY:
       if (tag->buffer) {
-        gst_buffer_unref (tag->buffer);
+       gst_buffer_unref (tag->buffer);
        tag->buffer = NULL;
       }
       if (tag->vorbiscomment) {
index b0538ca..95fd5af 100644 (file)
 #include <fcntl.h>
 
 
-typedef struct {
+typedef struct
+{
   /* stuff gdk throws at us and we're supposed to keep */
-  GdkPixbufModuleSizeFunc      size_func;
-  GdkPixbufModulePreparedFunc  prepared_func;
-  GdkPixbufModuleUpdatedFunc   updated_func;
-  gpointer                     user_data;
+  GdkPixbufModuleSizeFunc size_func;
+  GdkPixbufModulePreparedFunc prepared_func;
+  GdkPixbufModuleUpdatedFunc updated_func;
+  gpointer user_data;
   /* our own stuff - we're much better at keeping fields small :p */
-  GstGdkAnimation *            ani;
-  gboolean                     initialized;
+  GstGdkAnimation *ani;
+  gboolean initialized;
 } GstLoaderContext;
 
 GST_DEBUG_CATEGORY_STATIC (gst_loader_debug);
 #define GST_CAT_DEFAULT gst_loader_debug
 
 static gboolean
-gst_loader_init (GError **error)
+gst_loader_init (GError ** error)
 {
   static gboolean inited = FALSE;
-  
+
   if (inited)
     return TRUE;
-  
+
   if (!g_thread_supported ()) {
     g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_FAILED,
-                "The GStreamer loader requires threading support.");
+       "The GStreamer loader requires threading support.");
     return FALSE;
   }
 
   if (!gst_init_check (0, NULL)) {
     g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_FAILED,
-                "GStreamer could not be initialized.");
+       "GStreamer could not be initialized.");
     return FALSE;
   }
 
   inited = TRUE;
-  GST_DEBUG_CATEGORY_INIT (gst_loader_debug, "gstloader", 0, "entry point debugging for the GStreamer gdk pixbuf loader");
+  GST_DEBUG_CATEGORY_INIT (gst_loader_debug, "gstloader", 0,
+      "entry point debugging for the GStreamer gdk pixbuf loader");
   return TRUE;
 }
+
 static gpointer
-gst_loader_begin_load (GdkPixbufModuleSizeFunc size_func, GdkPixbufModulePreparedFunc prepared_func,
-                      GdkPixbufModuleUpdatedFunc updated_func, gpointer user_data, GError **error)
+gst_loader_begin_load (GdkPixbufModuleSizeFunc size_func,
+    GdkPixbufModulePreparedFunc prepared_func,
+    GdkPixbufModuleUpdatedFunc updated_func, gpointer user_data,
+    GError ** error)
 {
   GstLoaderContext *context;
-  
+
   if (!gst_loader_init (error))
     return NULL;
-  
+
   context = g_new (GstLoaderContext, 1);
   context->size_func = size_func;
   context->prepared_func = prepared_func;
@@ -91,7 +96,8 @@ gst_loader_begin_load (GdkPixbufModuleSizeFunc size_func, GdkPixbufModulePrepare
     g_free (context);
     return NULL;
   }
-  context->ani->temp_fd = g_file_open_tmp (NULL, &context->ani->temp_location, error);
+  context->ani->temp_fd =
+      g_file_open_tmp (NULL, &context->ani->temp_location, error);
   if (context->ani->temp_fd == 0) {
     g_object_unref (context->ani);
     g_free (context);
@@ -101,19 +107,27 @@ gst_loader_begin_load (GdkPixbufModuleSizeFunc size_func, GdkPixbufModulePrepare
   GST_LOG_OBJECT (context->ani, "begin loading");
   return context;
 }
+
 static gboolean
-gst_loader_load_increment (gpointer context_pointer, const guchar *buf, guint size, GError **error)
+gst_loader_load_increment (gpointer context_pointer, const guchar * buf,
+    guint size, GError ** error)
 {
   GdkPixbufAnimationIter *iter;
   GstLoaderContext *context = (GstLoaderContext *) context_pointer;
 
   GST_LOG_OBJECT (context->ani, "load increment: %u bytes", size);
   gst_gdk_animation_add_data (context->ani, buf, size);
-  if (!context->initialized && (iter = gdk_pixbuf_animation_get_iter (
-             GDK_PIXBUF_ANIMATION (context->ani), NULL)) != NULL) {
-    int width = gdk_pixbuf_animation_get_width (GDK_PIXBUF_ANIMATION (context->ani));
-    int height = gdk_pixbuf_animation_get_height (GDK_PIXBUF_ANIMATION (context->ani));
-    GdkPixbuf *pixbuf = gdk_pixbuf_animation_get_static_image (GDK_PIXBUF_ANIMATION (context->ani));
+  if (!context->initialized
+      && (iter =
+         gdk_pixbuf_animation_get_iter (GDK_PIXBUF_ANIMATION (context->ani),
+             NULL)) != NULL) {
+    int width =
+       gdk_pixbuf_animation_get_width (GDK_PIXBUF_ANIMATION (context->ani));
+    int height =
+       gdk_pixbuf_animation_get_height (GDK_PIXBUF_ANIMATION (context->ani));
+    GdkPixbuf *pixbuf =
+       gdk_pixbuf_animation_get_static_image (GDK_PIXBUF_ANIMATION (context->
+           ani));
 
     g_object_unref (iter);
     GST_LOG_OBJECT (context->ani, "initializing loader");
@@ -123,17 +137,20 @@ gst_loader_load_increment (gpointer context_pointer, const guchar *buf, guint si
     }
 
     if (context->prepared_func) {
-      GST_LOG_OBJECT (context->ani, "calling prepared_func %p", context->prepared_func);
-      context->prepared_func (pixbuf, GDK_PIXBUF_ANIMATION (context->ani), context->user_data);
+      GST_LOG_OBJECT (context->ani, "calling prepared_func %p",
+         context->prepared_func);
+      context->prepared_func (pixbuf, GDK_PIXBUF_ANIMATION (context->ani),
+         context->user_data);
     }
-    
+
     context->initialized = TRUE;
   }
-  
+
   return TRUE;
 }
+
 static gboolean
-gst_loader_stop_load (gpointer context_pointer, GError **error)
+gst_loader_stop_load (gpointer context_pointer, GError ** error)
 {
   GstLoaderContext *context = (GstLoaderContext *) context_pointer;
 
@@ -146,20 +163,20 @@ gst_loader_stop_load (gpointer context_pointer, GError **error)
 }
 
 static GdkPixbufAnimation *
-gst_loader_load_animation (FILE *f, GError **error)
+gst_loader_load_animation (FILE * f, GError ** error)
 {
   gchar *filename;
   GstGdkAnimation *ani;
   GdkPixbufAnimationIter *iter = NULL;
-  
+
   if (!gst_loader_init (error))
     return NULL;
-  
+
   GST_LOG ("load_animation");
   ani = gst_gdk_animation_new (error);
   if (!ani)
     return NULL;
-  
+
   filename = g_strdup_printf ("/proc/self/fd/%d", fileno (f));
   ani->temp_fd = open (filename, 0);
   if (ani->temp_fd >= 0) {
@@ -170,21 +187,21 @@ gst_loader_load_animation (FILE *f, GError **error)
   g_free (filename);
   if (iter == NULL) {
     g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
-                "could not create an image");
+       "could not create an image");
     g_object_unref (ani);
     GST_INFO ("could not create an image");
-    return NULL; 
+    return NULL;
   }
   g_object_unref (iter);
   GST_LOG_OBJECT (ani, "load_animation succeeded");
   return GDK_PIXBUF_ANIMATION (ani);
 }
 static GdkPixbuf *
-gst_loader_load (FILE *f, GError **error)
+gst_loader_load (FILE * f, GError ** error)
 {
   GdkPixbufAnimation *ani;
   GdkPixbuf *pixbuf;
-  
+
   ani = gst_loader_load_animation (f, error);
   if (ani == NULL)
     return NULL;
@@ -193,8 +210,8 @@ gst_loader_load (FILE *f, GError **error)
   if (!pixbuf) {
     GST_ERROR_OBJECT (ani, "Could not get an image in _pixbuf_load");
     g_object_unref (ani);
-    g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE, 
-           "Could not get an image from file.");
+    g_set_error (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+       "Could not get an image from file.");
     return NULL;
   }
 
@@ -203,8 +220,9 @@ gst_loader_load (FILE *f, GError **error)
 
   return pixbuf;
 }
+
 void
-fill_vtable (GdkPixbufModule *module)
+fill_vtable (GdkPixbufModule * module)
 {
   module->load = gst_loader_load;
   module->begin_load = gst_loader_begin_load;
@@ -212,33 +230,35 @@ fill_vtable (GdkPixbufModule *module)
   module->stop_load = gst_loader_stop_load;
   module->load_animation = gst_loader_load_animation;
 }
+
 void
-fill_info (GdkPixbufFormat *info)
+fill_info (GdkPixbufFormat * info)
 {
   static GdkPixbufModulePattern signature[] = {
     /* AVI */
-    { "RIFF    AVI ", "    xxxx    ", 100 },
+    {"RIFF    AVI ", "    xxxx    ", 100},
     /* MPEG 1 */
-    { "xx\001\272", "zz  ", 100 },
+    {"xx\001\272", "zz  ", 100},
     /* MPEG 2 */
-    { "xx\001\263", "zz  ", 100 },
+    {"xx\001\263", "zz  ", 100},
     /* Quicktime */
-    { "    wide", "xxxx    ", 80 },
-    { "    moov", "xxxx    ", 80 },
-    { "    mdat", "xxxx    ", 80 },
-    { "    pnot", "xxxx    ", 80 },
-    { "    PICT", "xxxx    ", 80 },
-    { "    free", "xxxx    ", 80 },
+    {"    wide", "xxxx    ", 80},
+    {"    moov", "xxxx    ", 80},
+    {"    mdat", "xxxx    ", 80},
+    {"    pnot", "xxxx    ", 80},
+    {"    PICT", "xxxx    ", 80},
+    {"    free", "xxxx    ", 80},
     /* ASF */
-    { "\060\046\262\165\216\146\317\021\246\331 \252 \142\316\154", "          z z   ", 100 },
-    { NULL, NULL, 0 }
+    {"\060\046\262\165\216\146\317\021\246\331 \252 \142\316\154",
+       "          z z   ", 100},
+    {NULL, NULL, 0}
   };
-  
+
   static gchar *mime_types[] = {
     "video/avi", "video/x-avi", "video/x-msvideo",
     "video/mpeg",
-    "video/quicktime", 
-    "video/x-ms-asf", 
+    "video/quicktime",
+    "video/x-ms-asf",
     NULL
   };
 
@@ -246,14 +266,14 @@ fill_info (GdkPixbufFormat *info)
     "avi",
     "mpeg", "mpe", "mpg",
     "mov",
-    "asf", "wmv", 
+    "asf", "wmv",
     NULL
   };
-  
-  info->name        = "GStreamer";
-  info->signature   = signature;
+
+  info->name = "GStreamer";
+  info->signature = signature;
   info->description = "GStreamer supported video";
-  info->mime_types  = mime_types;
-  info->extensions  = extensions;
-  info->flags       = 0;
+  info->mime_types = mime_types;
+  info->extensions = extensions;
+  info->flags = 0;
 }
index a0b6cb9..df58c5b 100644 (file)
 GST_DEBUG_CATEGORY_STATIC (gst_gdk_animation_debug);
 #define GST_CAT_DEFAULT gst_gdk_animation_debug
 
-static void            gst_gdk_animation_class_init            (gpointer               g_class,
-                                                                gpointer               class_data);
-static void            gst_gdk_animation_finalize              (GObject *              object);
+static void gst_gdk_animation_class_init (gpointer g_class,
+    gpointer class_data);
+static void gst_gdk_animation_finalize (GObject * object);
 
-static gboolean         gst_gdk_animation_is_static_image      (GdkPixbufAnimation *   animation);
-static GdkPixbuf*       gst_gdk_animation_get_static_image     (GdkPixbufAnimation *   animation);
-static void             gst_gdk_animation_get_size             (GdkPixbufAnimation *   anim,
-                                                                gint *                 width,
-                                                                gint *                 height);
-static GdkPixbufAnimationIter* gst_gdk_animation_get_iter      (GdkPixbufAnimation *   anim,
-                                                                const GTimeVal *       start_time);
+static gboolean gst_gdk_animation_is_static_image (GdkPixbufAnimation *
+    animation);
+static GdkPixbuf *gst_gdk_animation_get_static_image (GdkPixbufAnimation *
+    animation);
+static void gst_gdk_animation_get_size (GdkPixbufAnimation * anim, gint * width,
+    gint * height);
+static GdkPixbufAnimationIter *gst_gdk_animation_get_iter (GdkPixbufAnimation *
+    anim, const GTimeVal * start_time);
 
 
 static gpointer parent_class;
@@ -53,19 +54,20 @@ gst_gdk_animation_get_type (void)
       NULL,
       NULL,
       gst_gdk_animation_class_init,
-      NULL,           /* class_finalize */
-      NULL,           /* class_data */
+      NULL,                    /* class_finalize */
+      NULL,                    /* class_data */
       sizeof (GstGdkAnimation),
-      0,              /* n_preallocs */
+      0,                       /* n_preallocs */
       NULL,
     };
-                
+
     object_type = g_type_register_static (GDK_TYPE_PIXBUF_ANIMATION,
-           "GstGdkAnimation", &object_info, 0);
+       "GstGdkAnimation", &object_info, 0);
 
-    GST_DEBUG_CATEGORY_INIT (gst_gdk_animation_debug, "gstloader_animation", 0, "GStreamer GdkPixbuf loader - GdkAnimation class");
+    GST_DEBUG_CATEGORY_INIT (gst_gdk_animation_debug, "gstloader_animation", 0,
+       "GStreamer GdkPixbuf loader - GdkAnimation class");
   }
-        
+
   return object_type;
 }
 static void
@@ -73,9 +75,9 @@ gst_gdk_animation_class_init (gpointer g_class, gpointer class_data)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (g_class);
   GdkPixbufAnimationClass *anim_class = GDK_PIXBUF_ANIMATION_CLASS (g_class);
-        
+
   parent_class = g_type_class_peek_parent (g_class);
-        
+
   object_class->finalize = gst_gdk_animation_finalize;
 
   anim_class->is_static_image = gst_gdk_animation_is_static_image;
@@ -84,7 +86,7 @@ gst_gdk_animation_class_init (gpointer g_class, gpointer class_data)
   anim_class->get_iter = gst_gdk_animation_get_iter;
 }
 static void
-gst_gdk_animation_finalize (GObject *object)
+gst_gdk_animation_finalize (GObject * object)
 {
   GstGdkAnimation *ani = GST_GDK_ANIMATION (object);
 
@@ -99,39 +101,47 @@ gst_gdk_animation_finalize (GObject *object)
     g_object_unref (ani->pixbuf);
     ani->pixbuf = NULL;
   }
-        
+
   G_OBJECT_CLASS (parent_class)->finalize (object);
 }
+
 GstGdkAnimation *
-gst_gdk_animation_new (GError **error)
+gst_gdk_animation_new (GError ** error)
 {
-  GstGdkAnimation *ani = GST_GDK_ANIMATION (g_object_new (GST_TYPE_GDK_ANIMATION, NULL));
+  GstGdkAnimation *ani =
+      GST_GDK_ANIMATION (g_object_new (GST_TYPE_GDK_ANIMATION, NULL));
 
   return ani;
 }
+
 gboolean
-gst_gdk_animation_add_data (GstGdkAnimation *ani, const guint8 *data, guint size)
+gst_gdk_animation_add_data (GstGdkAnimation * ani, const guint8 * data,
+    guint size)
 {
   return (write (ani->temp_fd, data, size) == size);
 }
+
 void
-gst_gdk_animation_done_adding (GstGdkAnimation *ani)
+gst_gdk_animation_done_adding (GstGdkAnimation * ani)
 {
   close (ani->temp_fd);
   ani->temp_fd = 0;
 }
+
 static gboolean
-gst_gdk_animation_is_static_image (GdkPixbufAnimation *animation)
+gst_gdk_animation_is_static_image (GdkPixbufAnimation * animation)
 {
   return FALSE;
 }
 
 static void
-gst_gdk_animation_get_size (GdkPixbufAnimation *anim, gint *width, int *height)
+gst_gdk_animation_get_size (GdkPixbufAnimation * anim, gint * width,
+    int *height)
 {
   GstGdkAnimation *ani = GST_GDK_ANIMATION (anim);
 
-  GST_LOG_OBJECT (ani, "get_size called (%p, %p) %d x %d", width, height, ani->width, ani->height);
+  GST_LOG_OBJECT (ani, "get_size called (%p, %p) %d x %d", width, height,
+      ani->width, ani->height);
   if (width)
     *width = ani->width;
 
@@ -140,17 +150,21 @@ gst_gdk_animation_get_size (GdkPixbufAnimation *anim, gint *width, int *height)
 }
 
 
-static void            gst_gdk_animation_iter_class_init               (gpointer                       g_class,
-                                                                        gpointer                       class_data);
-static void            gst_gdk_animation_iter_init                     (GTypeInstance *                instance, 
-                                                                        gpointer                       g_class);
-static void            gst_gdk_animation_iter_finalize                 (GObject *                      object);
+static void gst_gdk_animation_iter_class_init (gpointer g_class,
+    gpointer class_data);
+static void gst_gdk_animation_iter_init (GTypeInstance * instance,
+    gpointer g_class);
+static void gst_gdk_animation_iter_finalize (GObject * object);
 
-static gint            gst_gdk_animation_iter_get_delay_time           (GdkPixbufAnimationIter *       iter);
-static GdkPixbuf *     gst_gdk_animation_iter_get_pixbuf               (GdkPixbufAnimationIter *       iter);
-static gboolean                gst_gdk_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *     iter);
-static gboolean                gst_gdk_animation_iter_advance                  (GdkPixbufAnimationIter *       iter,
-                                                                        const GTimeVal *               current_time);
+static gint gst_gdk_animation_iter_get_delay_time (GdkPixbufAnimationIter *
+    iter);
+static GdkPixbuf *gst_gdk_animation_iter_get_pixbuf (GdkPixbufAnimationIter *
+    iter);
+static gboolean
+gst_gdk_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *
+    iter);
+static gboolean gst_gdk_animation_iter_advance (GdkPixbufAnimationIter * iter,
+    const GTimeVal * current_time);
 
 static gpointer iter_parent_class;
 
@@ -165,17 +179,17 @@ gst_gdk_animation_iter_get_type (void)
       NULL,
       NULL,
       gst_gdk_animation_iter_class_init,
-      NULL,           /* class_finalize */
-      NULL,           /* class_data */
+      NULL,                    /* class_finalize */
+      NULL,                    /* class_data */
       sizeof (GstGdkAnimationIter),
-      0,              /* n_preallocs */
+      0,                       /* n_preallocs */
       gst_gdk_animation_iter_init,
     };
-    
+
     object_type = g_type_register_static (GDK_TYPE_PIXBUF_ANIMATION_ITER,
-           "GdkPixbufAniAnimIter", &object_info, 0);
+       "GdkPixbufAniAnimIter", &object_info, 0);
   }
-  
+
   return object_type;
 }
 
@@ -183,19 +197,21 @@ static void
 gst_gdk_animation_iter_class_init (gpointer g_class, gpointer class_data)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (g_class);
-  GdkPixbufAnimationIterClass *anim_iter_class = GDK_PIXBUF_ANIMATION_ITER_CLASS (g_class);
-  
+  GdkPixbufAnimationIterClass *anim_iter_class =
+      GDK_PIXBUF_ANIMATION_ITER_CLASS (g_class);
+
   iter_parent_class = g_type_class_peek_parent (g_class);
-  
+
   object_class->finalize = gst_gdk_animation_iter_finalize;
-       
+
   anim_iter_class->get_delay_time = gst_gdk_animation_iter_get_delay_time;
   anim_iter_class->get_pixbuf = gst_gdk_animation_iter_get_pixbuf;
-  anim_iter_class->on_currently_loading_frame = gst_gdk_animation_iter_on_currently_loading_frame;
+  anim_iter_class->on_currently_loading_frame =
+      gst_gdk_animation_iter_on_currently_loading_frame;
   anim_iter_class->advance = gst_gdk_animation_iter_advance;
 }
 static void
-gst_gdk_animation_iter_init (GTypeInstance *instance, gpointer g_class)
+gst_gdk_animation_iter_init (GTypeInstance * instance, gpointer g_class)
 {
   GstGdkAnimationIter *iter = GST_GDK_ANIMATION_ITER (instance);
 
@@ -203,18 +219,19 @@ gst_gdk_animation_iter_init (GTypeInstance *instance, gpointer g_class)
   iter->eos = FALSE;
 }
 static void
-gst_gdk_animation_iter_finalize (GObject *object)
+gst_gdk_animation_iter_finalize (GObject * object)
 {
   GstGdkAnimationIter *iter = GST_GDK_ANIMATION_ITER (object);
-  
+
   g_object_unref (iter->ani);
-  
+
   if (iter->pipeline)
     g_object_unref (iter->pipeline);
   if (iter->pixbuf)
     g_object_unref (iter->pixbuf);
   while (iter->buffers) {
     GstBuffer *buffer = GST_BUFFER (g_queue_pop_head (iter->buffers));
+
     if (buffer) {
       GST_LOG_OBJECT (iter, "unreffing buffer %p on finalize", buffer);
       gst_data_unref (GST_DATA (buffer));
@@ -226,36 +243,40 @@ gst_gdk_animation_iter_finalize (GObject *object)
   G_OBJECT_CLASS (iter_parent_class)->finalize (object);
 }
 static void
-got_handoff (GstElement *fakesink, GstBuffer *buffer, GstPad *pad, GstGdkAnimationIter *iter)
+got_handoff (GstElement * fakesink, GstBuffer * buffer, GstPad * pad,
+    GstGdkAnimationIter * iter)
 {
-  GST_LOG_OBJECT (iter, "enqueing buffer %p (timestamp %"G_GUINT64_FORMAT")", 
-         buffer, GST_BUFFER_TIMESTAMP (buffer));
+  GST_LOG_OBJECT (iter, "enqueing buffer %p (timestamp %" G_GUINT64_FORMAT ")",
+      buffer, GST_BUFFER_TIMESTAMP (buffer));
   gst_data_ref (GST_DATA (buffer));
   g_queue_push_tail (iter->buffers, buffer);
 }
+
 static gboolean
-gst_gdk_animation_iter_create_pipeline (GstGdkAnimationIter *iter)
+gst_gdk_animation_iter_create_pipeline (GstGdkAnimationIter * iter)
 {
   GstElement *src, *typefind, *autoplugger, *sink, *colorspace;
   GstCaps *caps = GST_CAPS_NEW ("pixbuf_filter32",
-                               "video/x-raw-rgb", 
-                                 "endianness", GST_PROPS_INT (G_BIG_ENDIAN),
-                                 "bpp",        GST_PROPS_INT (32),
-                                 "red_mask",   GST_PROPS_INT (0xFF000000),
-                                 "green_mask", GST_PROPS_INT (0x00FF0000),
-                                 "blue_mask",  GST_PROPS_INT (0x0000FF00)
-                               );
+      "video/x-raw-rgb",
+      "endianness", GST_PROPS_INT (G_BIG_ENDIAN),
+      "bpp", GST_PROPS_INT (32),
+      "red_mask", GST_PROPS_INT (0xFF000000),
+      "green_mask", GST_PROPS_INT (0x00FF0000),
+      "blue_mask", GST_PROPS_INT (0x0000FF00)
+      );
+
   gst_caps_append (caps, GST_CAPS_NEW ("pixbuf_filter24",
-                               "video/x-raw-rgb", 
-                                 "endianness", GST_PROPS_INT (G_BIG_ENDIAN),
-                                 "bpp",        GST_PROPS_INT (24),
-                                 "red_mask",   GST_PROPS_INT (0xFF0000),
-                                 "green_mask", GST_PROPS_INT (0x00FF00),
-                                 "blue_mask",  GST_PROPS_INT (0x0000FF)
-                               ));
+         "video/x-raw-rgb",
+         "endianness", GST_PROPS_INT (G_BIG_ENDIAN),
+         "bpp", GST_PROPS_INT (24),
+         "red_mask", GST_PROPS_INT (0xFF0000),
+         "green_mask", GST_PROPS_INT (0x00FF00),
+         "blue_mask", GST_PROPS_INT (0x0000FF)
+      ));
 
   iter->pipeline = gst_element_factory_make ("pipeline", "main_pipeline");
-  if (iter->pipeline == NULL) return FALSE;
+  if (iter->pipeline == NULL)
+    return FALSE;
 
   if (!(src = gst_element_factory_make ("filesrc", "source")))
     goto error;
@@ -265,6 +286,7 @@ gst_gdk_animation_iter_create_pipeline (GstGdkAnimationIter *iter)
     GST_INFO_OBJECT (iter, "using file '%s'", iter->ani->temp_location);
   } else {
     gchar *filename = g_strdup_printf ("/proc/self/fd/%d", iter->ani->temp_fd);
+
     g_object_set (src, "location", filename, NULL);
     GST_INFO_OBJECT (iter, "using file '%s'", filename);
     g_free (filename);
@@ -292,7 +314,7 @@ gst_gdk_animation_iter_create_pipeline (GstGdkAnimationIter *iter)
   gst_bin_add (GST_BIN (iter->pipeline), colorspace);
   if (!gst_element_link (autoplugger, colorspace))
     goto error;
-  
+
   if (!(sink = gst_element_factory_make ("fakesink", "sink")))
     goto error;
   g_object_set (sink, "signal-handoffs", TRUE, NULL);
@@ -300,39 +322,42 @@ gst_gdk_animation_iter_create_pipeline (GstGdkAnimationIter *iter)
   gst_bin_add (GST_BIN (iter->pipeline), sink);
   if (!gst_element_link_filtered (colorspace, sink, caps))
     goto error;
-  if (gst_element_set_state (iter->pipeline, GST_STATE_PLAYING) != GST_STATE_SUCCESS)
+  if (gst_element_set_state (iter->pipeline,
+         GST_STATE_PLAYING) != GST_STATE_SUCCESS)
     goto error;
-  
+
   return TRUE;
 error:
   g_object_unref (iter->pipeline);
   iter->pipeline = NULL;
   return FALSE;
 }
+
 static gboolean
-gst_gdk_animation_iter_may_advance (GstGdkAnimationIter *iter)
+gst_gdk_animation_iter_may_advance (GstGdkAnimationIter * iter)
 {
   GstFormat bytes = GST_FORMAT_BYTES;
   gint64 offset;
   gint64 data_amount;
-  
+
   if (iter->ani->temp_fd == 0 || iter->ani->temp_location == NULL)
     return TRUE;
 
   data_amount = lseek (iter->ani->temp_fd, 0, SEEK_CUR);
   g_assert (data_amount >= 0);
-  g_assert (gst_element_query (gst_bin_get_by_name (GST_BIN (iter->pipeline), "source"),
-                        GST_QUERY_POSITION, &bytes, &offset));
+  g_assert (gst_element_query (gst_bin_get_by_name (GST_BIN (iter->pipeline),
+             "source"), GST_QUERY_POSITION, &bytes, &offset));
   if (data_amount - offset > GST_GDK_BUFFER_SIZE)
     return TRUE;
 
   return FALSE;
 }
+
 static gboolean
-gst_gdk_animation_get_more_buffers (GstGdkAnimationIter *iter)
+gst_gdk_animation_get_more_buffers (GstGdkAnimationIter * iter)
 {
   GstBuffer *last = g_queue_peek_tail (iter->buffers);
-  
+
   do {
     GST_LOG_OBJECT (iter, "iterating...");
     if (!gst_gdk_animation_iter_may_advance (iter)) {
@@ -348,17 +373,17 @@ gst_gdk_animation_get_more_buffers (GstGdkAnimationIter *iter)
   return last != g_queue_peek_tail (iter->buffers);
 }
 static void
-pixbuf_destroy_notify (guchar *pixels, gpointer data)
+pixbuf_destroy_notify (guchar * pixels, gpointer data)
 {
   GST_LOG ("unreffing buffer %p because pixbuf was destroyed", data);
   gst_data_unref (GST_DATA (data));
 }
 static void
-gst_gdk_animation_iter_create_pixbuf (GstGdkAnimationIter *iter)
+gst_gdk_animation_iter_create_pixbuf (GstGdkAnimationIter * iter)
 {
   GstBuffer *buf;
   GstGdkAnimation *ani = iter->ani;
-  
+
   buf = g_queue_pop_head (iter->buffers);
   g_assert (buf);
   if (iter->pixbuf) {
@@ -368,7 +393,8 @@ gst_gdk_animation_iter_create_pixbuf (GstGdkAnimationIter *iter)
   if (ani->width == 0) {
     GstPad *pad;
     GstCaps *caps;
-    GstElement *fakesink = gst_bin_get_by_name (GST_BIN (iter->pipeline), "sink");
+    GstElement *fakesink =
+       gst_bin_get_by_name (GST_BIN (iter->pipeline), "sink");
     g_assert (fakesink);
     pad = gst_element_get_pad (fakesink, "sink");
     g_assert (pad);
@@ -376,92 +402,108 @@ gst_gdk_animation_iter_create_pixbuf (GstGdkAnimationIter *iter)
     g_assert (caps);
     g_assert (GST_CAPS_IS_FIXED (caps));
     g_assert (gst_caps_has_fixed_property (caps, "bpp") &&
-             gst_caps_has_fixed_property (caps, "width") &&
-             gst_caps_has_fixed_property (caps, "height"));
+       gst_caps_has_fixed_property (caps, "width") &&
+       gst_caps_has_fixed_property (caps, "height"));
     gst_caps_get_int (caps, "width", &ani->width);
     gst_caps_get_int (caps, "height", &ani->height);
     gst_caps_get_int (caps, "bpp", &ani->bpp);
-    GST_DEBUG_OBJECT (ani, "found format (width %d, height %d, bpp %d)", ani->width, ani->height, ani->bpp);
+    GST_DEBUG_OBJECT (ani, "found format (width %d, height %d, bpp %d)",
+       ani->width, ani->height, ani->bpp);
   }
   g_assert (GST_BUFFER_SIZE (buf) == ani->width * ani->height * ani->bpp / 8);
   if (ani->bpp == 32) {
     gint i;
     guint32 *data = (guint32 *) GST_BUFFER_DATA (buf);
+
     /* ensure opacity */
     for (i = 0; i < ani->width * ani->height; i++) {
       data[i] |= 0xFF000000;
     }
   }
   iter->pixbuf = gdk_pixbuf_new_from_data (GST_BUFFER_DATA (buf),
-         GDK_COLORSPACE_RGB, ani->bpp == 32, 8, ani->width, ani->height, ani->width * ani->bpp / 8, pixbuf_destroy_notify, buf);
-  GST_LOG_OBJECT (iter, "created pixbuf %p from buffer %p (refcount %d)", iter->pixbuf, buf, GST_DATA_REFCOUNT_VALUE (buf));
+      GDK_COLORSPACE_RGB, ani->bpp == 32, 8, ani->width, ani->height,
+      ani->width * ani->bpp / 8, pixbuf_destroy_notify, buf);
+  GST_LOG_OBJECT (iter, "created pixbuf %p from buffer %p (refcount %d)",
+      iter->pixbuf, buf, GST_DATA_REFCOUNT_VALUE (buf));
 }
-static GdkPixbufAnimationIter*
-gst_gdk_animation_get_iter (GdkPixbufAnimation *anim, const GTimeVal *start_time)
+static GdkPixbufAnimationIter *
+gst_gdk_animation_get_iter (GdkPixbufAnimation * anim,
+    const GTimeVal * start_time)
 {
   GstGdkAnimation *ani = GST_GDK_ANIMATION (anim);
   GstGdkAnimationIter *iter;
 
-  if (ani->temp_fd != 0 && ani->temp_location != NULL && 
+  if (ani->temp_fd != 0 && ani->temp_location != NULL &&
       lseek (ani->temp_fd, 0, SEEK_CUR) < GST_GDK_BUFFER_SIZE) {
     GST_DEBUG_OBJECT (ani, "Not enough data to create iterator.");
     return NULL;
   }
-  
+
   iter = g_object_new (GST_TYPE_GDK_ANIMATION_ITER, NULL);
 
   iter->start = *start_time;
-  
+
   iter->ani = ani;
   g_object_ref (ani);
   if (!gst_gdk_animation_iter_create_pipeline (iter))
     goto error;
-        
+
   if (!gst_gdk_animation_get_more_buffers (iter))
     goto error;
-  
+
   gst_gdk_animation_iter_create_pixbuf (iter);
-        
+
   return GDK_PIXBUF_ANIMATION_ITER (iter);
 
 error:
   g_object_unref (iter);
   return NULL;
 }
+
 static gboolean
-gst_gdk_animation_iter_advance (GdkPixbufAnimationIter *anim_iter, const GTimeVal *current_time)
+gst_gdk_animation_iter_advance (GdkPixbufAnimationIter * anim_iter,
+    const GTimeVal * current_time)
 {
   GstClockTime offset;
   GstBuffer *buffer = NULL;
   GstGdkAnimationIter *iter = GST_GDK_ANIMATION_ITER (anim_iter);
 
   /* compute timestamp that next buffer must match */
-  offset = ((GstClockTime) current_time->tv_sec - iter->start.tv_sec) * GST_SECOND;
+  offset =
+      ((GstClockTime) current_time->tv_sec - iter->start.tv_sec) * GST_SECOND;
   if (iter->start.tv_usec > current_time->tv_usec) {
-    offset -= ((GstClockTime) iter->start.tv_usec - current_time->tv_usec) * GST_SECOND / G_USEC_PER_SEC;
+    offset -=
+       ((GstClockTime) iter->start.tv_usec -
+       current_time->tv_usec) * GST_SECOND / G_USEC_PER_SEC;
   } else {
-    offset += ((GstClockTime) current_time->tv_usec - iter->start.tv_usec) * GST_SECOND / G_USEC_PER_SEC;
+    offset +=
+       ((GstClockTime) current_time->tv_usec -
+       iter->start.tv_usec) * GST_SECOND / G_USEC_PER_SEC;
   }
-  GST_DEBUG_OBJECT (iter, "advancing to %ld:%ld (started at %ld:%ld) need offset %"G_GUINT64_FORMAT, 
-                   current_time->tv_sec, current_time->tv_usec, iter->start.tv_sec, iter->start.tv_usec, offset);
-  if (!iter->just_seeked &&
-      offset - iter->last_timestamp > GST_GDK_MAX_DELAY_TO_SEEK) {
-    GST_INFO_OBJECT (iter, "current pipeline timestamp is too old (%"G_GUINT64_FORMAT
-                    " vs %"G_GUINT64_FORMAT"), seeking there", iter->last_timestamp, offset);
-    if (gst_element_send_event (gst_bin_get_by_name (GST_BIN (iter->pipeline), "sink"),
-               gst_event_new_seek (GST_FORMAT_TIME | GST_SEEK_METHOD_SET |
-                                   GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, 
-                       offset))) {
-       iter->last_timestamp = offset;
-       iter->just_seeked = TRUE;
-      } else {
-       GST_WARNING_OBJECT (iter, "seek to %"G_GUINT64_FORMAT" didn't work. Iterating there...", 
-                           offset);
-      }
+  GST_DEBUG_OBJECT (iter,
+      "advancing to %ld:%ld (started at %ld:%ld) need offset %"
+      G_GUINT64_FORMAT, current_time->tv_sec, current_time->tv_usec,
+      iter->start.tv_sec, iter->start.tv_usec, offset);
+  if (!iter->just_seeked
+      && offset - iter->last_timestamp > GST_GDK_MAX_DELAY_TO_SEEK) {
+    GST_INFO_OBJECT (iter,
+       "current pipeline timestamp is too old (%" G_GUINT64_FORMAT " vs %"
+       G_GUINT64_FORMAT "), seeking there", iter->last_timestamp, offset);
+    if (gst_element_send_event (gst_bin_get_by_name (GST_BIN (iter->pipeline),
+               "sink"),
+           gst_event_new_seek (GST_FORMAT_TIME | GST_SEEK_METHOD_SET |
+               GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, offset))) {
+      iter->last_timestamp = offset;
+      iter->just_seeked = TRUE;
+    } else {
+      GST_WARNING_OBJECT (iter,
+         "seek to %" G_GUINT64_FORMAT " didn't work. Iterating there...",
+         offset);
+    }
   } else if (iter->just_seeked) {
     iter->just_seeked = FALSE;
   }
-  
+
   while (TRUE) {
     if (g_queue_is_empty (iter->buffers)) {
       if (iter->eos)
@@ -474,8 +516,8 @@ gst_gdk_animation_iter_advance (GdkPixbufAnimationIter *anim_iter, const GTimeVa
       break;
     if (buffer) {
       GST_LOG_OBJECT (iter, "unreffing buffer %p, because timestamp too low (%"
-                     G_GUINT64_FORMAT" vs %"G_GUINT64_FORMAT")",
-                     buffer, GST_BUFFER_TIMESTAMP (buffer), offset);
+         G_GUINT64_FORMAT " vs %" G_GUINT64_FORMAT ")",
+         buffer, GST_BUFFER_TIMESTAMP (buffer), offset);
       gst_data_unref (GST_DATA (buffer));
     }
     buffer = GST_BUFFER (g_queue_pop_head (iter->buffers));
@@ -492,39 +534,44 @@ gst_gdk_animation_iter_advance (GdkPixbufAnimationIter *anim_iter, const GTimeVa
   gst_gdk_animation_iter_create_pixbuf (iter);
   return TRUE;
 }
+
 static gint
-gst_gdk_animation_iter_get_delay_time (GdkPixbufAnimationIter *anim_iter)
+gst_gdk_animation_iter_get_delay_time (GdkPixbufAnimationIter * anim_iter)
 {
   gint delay;
   GstGdkAnimationIter *iter = GST_GDK_ANIMATION_ITER (anim_iter);
-  
+
   while (g_queue_is_empty (iter->buffers)) {
     if (iter->eos) {
       GST_LOG_OBJECT (iter, "returning delay of infinite, we're EOS");
       return -1;
     }
     if (!gst_gdk_animation_get_more_buffers (iter))
-      return -1; /* FIXME? */
+      return -1;               /* FIXME? */
   }
 
-  delay = (GST_BUFFER_TIMESTAMP (g_queue_peek_head (iter->buffers)) - iter->last_timestamp) *
-          1000 / GST_SECOND;
+  delay =
+      (GST_BUFFER_TIMESTAMP (g_queue_peek_head (iter->buffers)) -
+      iter->last_timestamp) * 1000 / GST_SECOND;
   GST_LOG_OBJECT (iter, "returning delay of %d ms", delay);
   return delay;
 }
-GdkPixbuf*
-gst_gdk_animation_iter_get_pixbuf (GdkPixbufAnimationIter *anim_iter)
+
+GdkPixbuf *
+gst_gdk_animation_iter_get_pixbuf (GdkPixbufAnimationIter * anim_iter)
 {
   GstGdkAnimationIter *iter = GST_GDK_ANIMATION_ITER (anim_iter);
-  
+
   GST_LOG_OBJECT (iter, "returning pixbuf %p", iter->pixbuf);
   return iter->pixbuf;
 }
+
 static gboolean
-gst_gdk_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *anim_iter)
+gst_gdk_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *
+    anim_iter)
 {
   GstGdkAnimationIter *iter = GST_GDK_ANIMATION_ITER (anim_iter);
-  
+
   /* EOS - last frame */
   if (iter->eos && g_queue_is_empty (iter->buffers))
     return TRUE;
@@ -532,11 +579,11 @@ gst_gdk_animation_iter_on_currently_loading_frame (GdkPixbufAnimationIter *anim_
   /* can't load more frames */
   if (!gst_gdk_animation_iter_may_advance (iter))
     return FALSE;
-  
+
   return TRUE;
 }
-static GdkPixbuf*
-gst_gdk_animation_get_static_image (GdkPixbufAnimation *animation)
+static GdkPixbuf *
+gst_gdk_animation_get_static_image (GdkPixbufAnimation * animation)
 {
   GstGdkAnimation *ani = GST_GDK_ANIMATION (animation);
   GTimeVal tv;
@@ -545,16 +592,15 @@ gst_gdk_animation_get_static_image (GdkPixbufAnimation *animation)
   if (!ani->pixbuf) {
     GST_LOG_OBJECT (ani, "trying to create pixbuf");
     g_get_current_time (&tv);
-    iter = GST_GDK_ANIMATION_ITER (
-           gdk_pixbuf_animation_get_iter (animation, &tv));
+    iter =
+       GST_GDK_ANIMATION_ITER (gdk_pixbuf_animation_get_iter (animation, &tv));
     if (iter) {
       guint64 offset;
       GstBuffer *buf;
       GstFormat time = GST_FORMAT_TIME;
 
-      if (!gst_element_query (gst_bin_get_by_name (GST_BIN (
-                       iter->pipeline), "sink"),
-                       GST_QUERY_TOTAL, &time, &offset)) {
+      if (!gst_element_query (gst_bin_get_by_name (GST_BIN (iter->pipeline),
+                 "sink"), GST_QUERY_TOTAL, &time, &offset)) {
        offset = 0;
       }
       if (offset > 120 * GST_SECOND) {
@@ -563,15 +609,17 @@ gst_gdk_animation_get_static_image (GdkPixbufAnimation *animation)
        offset = offset / 2;
       }
       g_assert (time == GST_FORMAT_TIME);
-      GST_LOG_OBJECT (ani, "using time offset %"G_GUINT64_FORMAT" for creating static image",
-                     offset);
+      GST_LOG_OBJECT (ani,
+         "using time offset %" G_GUINT64_FORMAT " for creating static image",
+         offset);
       while ((buf = g_queue_pop_head (iter->buffers)) != NULL) {
        gst_data_unref (GST_DATA (buf));
       }
       /* now we do evil stuff, be sure to get rid of the iterator afterwards */
-      if (!gst_element_send_event (gst_bin_get_by_name (GST_BIN (iter->pipeline), "sink"),
-                 gst_event_new_seek (GST_FORMAT_TIME | GST_SEEK_METHOD_SET |
-                         GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, offset))) {
+      if (!gst_element_send_event (gst_bin_get_by_name (GST_BIN (iter->
+                     pipeline), "sink"),
+             gst_event_new_seek (GST_FORMAT_TIME | GST_SEEK_METHOD_SET |
+                 GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_ACCURATE, offset))) {
        GST_INFO_OBJECT (ani, "seeking didn't work. Using next image");
       }
 
@@ -585,7 +633,9 @@ gst_gdk_animation_get_static_image (GdkPixbufAnimation *animation)
       } while (FALSE);
       if (!g_queue_is_empty (iter->buffers)) {
        gst_gdk_animation_iter_create_pixbuf (iter);
-       ani->pixbuf = gst_gdk_animation_iter_get_pixbuf (GDK_PIXBUF_ANIMATION_ITER (iter));
+       ani->pixbuf =
+           gst_gdk_animation_iter_get_pixbuf (GDK_PIXBUF_ANIMATION_ITER
+           (iter));
        g_object_ref (ani->pixbuf);
       } else {
        g_assert (ani->pixbuf == NULL);
index 183d335..8dc0d4e 100644 (file)
 #include <stdio.h>
 
 G_BEGIN_DECLS
-
 /* how many bytes we need to have available before we dare to start a new iteration */
 #define GST_GDK_BUFFER_SIZE (102400)
 /* how far behind we need to be before we attempt to seek */
 #define GST_GDK_MAX_DELAY_TO_SEEK (GST_SECOND / 4)
-
-
 #define GST_TYPE_GDK_ANIMATION                 (gst_gdk_animation_get_type())
 #define GST_GDK_ANIMATION(obj)                 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GDK_ANIMATION,GstGdkAnimation))
 #define GST_GDK_ANIMATION_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_GDK_ANIMATION,GstGdkAnimation))
 #define GST_IS_GDK_ANIMATION(obj)              (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GDK_ANIMATION))
 #define GST_IS_GDK_ANIMATION_CLASS(obj)                (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GDK_ANIMATION))
-
-typedef struct _GstGdkAnimation      GstGdkAnimation;
+typedef struct _GstGdkAnimation GstGdkAnimation;
 typedef struct _GstGdkAnimationClass GstGdkAnimationClass;
 
 typedef struct _GstGdkAnimationIter GstGdkAnimationIter;
@@ -48,34 +44,33 @@ typedef struct _GstGdkAnimationIterClass GstGdkAnimationIterClass;
 
 struct _GstGdkAnimation
 {
-  GdkPixbufAnimation           parent;
+  GdkPixbufAnimation parent;
 
   /* name of temporary buffer file */
-  gchar *                      temp_location;
+  gchar *temp_location;
   /* file descriptor to temporary file or 0 if we're done writing */
-  int                          temp_fd;
+  int temp_fd;
 
   /* size of image */
-  gint                         width;
-  gint                         height;
-  gint                         bpp;
+  gint width;
+  gint height;
+  gint bpp;
   /* static image we use */
-  GdkPixbuf *                  pixbuf;
+  GdkPixbuf *pixbuf;
 };
 
-struct _GstGdkAnimationClass 
+struct _GstGdkAnimationClass
 {
-  GdkPixbufAnimationClass      parent_class;
+  GdkPixbufAnimationClass parent_class;
 };
 
-GType                  gst_gdk_animation_get_type      (void);
+GType gst_gdk_animation_get_type (void);
 
-GstGdkAnimation *      gst_gdk_animation_new           (GError **error);
+GstGdkAnimation *gst_gdk_animation_new (GError ** error);
 
-gboolean               gst_gdk_animation_add_data      (GstGdkAnimation *      ani,
-                                                        const guint8 *         data,
-                                                        guint                  size);
-void                   gst_gdk_animation_done_adding   (GstGdkAnimation *      ani);
+gboolean gst_gdk_animation_add_data (GstGdkAnimation * ani,
+    const guint8 * data, guint size);
+void gst_gdk_animation_done_adding (GstGdkAnimation * ani);
 
 
 #define GST_TYPE_GDK_ANIMATION_ITER            (gst_gdk_animation_iter_get_type ())
@@ -86,32 +81,35 @@ void                        gst_gdk_animation_done_adding   (GstGdkAnimation *      ani);
 #define GST_IS_GDK_ANIMATION_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GDK_ANIMATION_ITER))
 #define GST_GDK_ANIMATION_ITER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_GDK_ANIMATION_ITER, GstGdkAnimationIterClass))
 
-struct _GstGdkAnimationIter {
-  GdkPixbufAnimationIter       parent;
-        
+struct _GstGdkAnimationIter
+{
+  GdkPixbufAnimationIter parent;
+
   /* our animation */
-  GstGdkAnimation *            ani;
+  GstGdkAnimation *ani;
   /* start timeval */
-  GTimeVal                     start;
+  GTimeVal start;
   /* timestamp of last buffer */
-  GstClockTime                 last_timestamp;
-  
+  GstClockTime last_timestamp;
+
   /* pipeline we're using */
-  GstElement *                 pipeline;
-  gboolean                     eos;
-  gboolean                     just_seeked;
-  
+  GstElement *pipeline;
+  gboolean eos;
+  gboolean just_seeked;
+
   /* current image and the buffers containing the data */
-  GdkPixbuf *                  pixbuf;
-  GQueue *                     buffers;
+  GdkPixbuf *pixbuf;
+  GQueue *buffers;
 };
 
-struct _GstGdkAnimationIterClass {
-  GdkPixbufAnimationIterClass  parent_class;
+struct _GstGdkAnimationIterClass
+{
+  GdkPixbufAnimationIterClass parent_class;
 };
 
-GType gst_gdk_animation_iter_get_type (void) G_GNUC_CONST;
+GType
+gst_gdk_animation_iter_get_type (void)
+    G_GNUC_CONST;
 
 G_END_DECLS
-
 #endif /* __GST_GDK_ANIMATION_H__ */
index 99d937b..9691782 100644 (file)
@@ -41,78 +41,73 @@ static GstElementDetails plugin_details = {
 };
 
 /* Filter signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_SILENT
 };
 
 static GstStaticPadTemplate gst_gdk_pixbuf_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-    "image/png; "
-    "image/jpeg; "
-    "image/gif; "
-    "image/x-icon; "
-    "application/x-navi-animation; "
-    "image/x-cmu-raster; "
-    "image/x-sun-raster; "
-    "image/x-pixmap; "
-    "image/tiff; "
-    "image/x-portable-anymap; "
-    "image/x-portable-bitmap; "
-    "image/x-portable-graymap; "
-    "image/x-portable-pixmap; "
-    "image/bmp; "
-    "image/x-bmp; "
-    "image/x-MS-bmp; "
-    "image/vnd.wap.wbmp; "
-    "image/x-bitmap; "
-    "image/x-tga")
-);
+    GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("image/png; "
+       "image/jpeg; "
+       "image/gif; "
+       "image/x-icon; "
+       "application/x-navi-animation; "
+       "image/x-cmu-raster; "
+       "image/x-sun-raster; "
+       "image/x-pixmap; "
+       "image/tiff; "
+       "image/x-portable-anymap; "
+       "image/x-portable-bitmap; "
+       "image/x-portable-graymap; "
+       "image/x-portable-pixmap; "
+       "image/bmp; "
+       "image/x-bmp; "
+       "image/x-MS-bmp; "
+       "image/vnd.wap.wbmp; " "image/x-bitmap; " "image/x-tga")
+    );
 
 static GstStaticPadTemplate gst_gdk_pixbuf_src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB)
-);
-
-static void     gst_gdk_pixbuf_base_init (gpointer g_class);
-static void    gst_gdk_pixbuf_class_init       (GstGdkPixbufClass *klass);
-static void    gst_gdk_pixbuf_init     (GstGdkPixbuf *filter);
-
-static void    gst_gdk_pixbuf_set_property(GObject *object, guint prop_id,
-                                                 const GValue *value,
-                                                GParamSpec *pspec);
-static void    gst_gdk_pixbuf_get_property(GObject *object, guint prop_id,
-                                                 GValue *value,
-                                                GParamSpec *pspec);
-
-static void    gst_gdk_pixbuf_chain    (GstPad *pad, GstData *_data);
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB)
+    );
+
+static void gst_gdk_pixbuf_base_init (gpointer g_class);
+static void gst_gdk_pixbuf_class_init (GstGdkPixbufClass * klass);
+static void gst_gdk_pixbuf_init (GstGdkPixbuf * filter);
+
+static void gst_gdk_pixbuf_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_gdk_pixbuf_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static void gst_gdk_pixbuf_chain (GstPad * pad, GstData * _data);
+
 #ifdef enable_typefind
-static void     gst_gdk_pixbuf_type_find (GstTypeFind *tf, gpointer ignore);
+static void gst_gdk_pixbuf_type_find (GstTypeFind * tf, gpointer ignore);
 #endif
 
 static GstElementClass *parent_class = NULL;
 
 static GstPadLinkReturn
-gst_gdk_pixbuf_sink_link (GstPad *pad, const GstCaps *caps)
+gst_gdk_pixbuf_sink_link (GstPad * pad, const GstCaps * caps)
 {
   GstGdkPixbuf *filter;
 
   filter = GST_GDK_PIXBUF (gst_pad_get_parent (pad));
   g_return_val_if_fail (filter != NULL, GST_PAD_LINK_REFUSED);
-  g_return_val_if_fail (GST_IS_GDK_PIXBUF (filter),
-                        GST_PAD_LINK_REFUSED);
+  g_return_val_if_fail (GST_IS_GDK_PIXBUF (filter), GST_PAD_LINK_REFUSED);
 
   filter->framerate = 1.0;
   gst_structure_get_double (gst_caps_get_structure (caps, 0), "framerate",
@@ -126,13 +121,15 @@ gst_gdk_pixbuf_sink_link (GstPad *pad, const GstCaps *caps)
  * These are just the formats that gdk-pixbuf is known to support.
  * But maybe not -- it may have been compiled without an external
  * library. */
-static GstCaps *gst_gdk_pixbuf_get_capslist(void)
+static GstCaps *
+gst_gdk_pixbuf_get_capslist (void)
 {
-  return gst_caps_copy (gst_static_caps_get (
-        &gst_gdk_pixbuf_sink_template.static_caps));
+  return gst_caps_copy (gst_static_caps_get (&gst_gdk_pixbuf_sink_template.
+         static_caps));
 }
 #else
-static GstCaps *gst_gdk_pixbuf_get_capslist(void)
+static GstCaps *
+gst_gdk_pixbuf_get_capslist (void)
 {
   GSList *slist;
   GSList *slist0;
@@ -142,24 +139,24 @@ static GstCaps *gst_gdk_pixbuf_get_capslist(void)
   GstCaps *capslist = NULL;
 
   capslist = gst_caps_new_empty ();
-  slist0 = gdk_pixbuf_get_formats();
+  slist0 = gdk_pixbuf_get_formats ();
 
-  for(slist = slist0;slist;slist=g_slist_next(slist)){
+  for (slist = slist0; slist; slist = g_slist_next (slist)) {
     pixbuf_format = slist->data;
-    mimetypes = gdk_pixbuf_format_get_mime_types(pixbuf_format);
-    for(mimetype = mimetypes; *mimetype; mimetype++){
-      gst_caps_append_structure (capslist,
-          gst_structure_new (*mimetype,NULL));
+    mimetypes = gdk_pixbuf_format_get_mime_types (pixbuf_format);
+    for (mimetype = mimetypes; *mimetype; mimetype++) {
+      gst_caps_append_structure (capslist, gst_structure_new (*mimetype, NULL));
     }
-    g_free(mimetypes);
+    g_free (mimetypes);
   }
-  g_slist_free(slist0);
+  g_slist_free (slist0);
 
   return capslist;
 }
 #endif
 
-static GstCaps *gst_gdk_pixbuf_sink_getcaps(GstPad *pad)
+static GstCaps *
+gst_gdk_pixbuf_sink_getcaps (GstPad * pad)
 {
   GstGdkPixbuf *filter;
 
@@ -167,7 +164,7 @@ static GstCaps *gst_gdk_pixbuf_sink_getcaps(GstPad *pad)
   g_return_val_if_fail (filter != NULL, NULL);
   g_return_val_if_fail (GST_IS_GDK_PIXBUF (filter), NULL);
 
-  return gst_gdk_pixbuf_get_capslist();
+  return gst_gdk_pixbuf_get_capslist ();
 }
 
 GType
@@ -175,10 +172,8 @@ gst_gdk_pixbuf_get_type (void)
 {
   static GType plugin_type = 0;
 
-  if (!plugin_type)
-  {
-    static const GTypeInfo plugin_info =
-    {
+  if (!plugin_type) {
+    static const GTypeInfo plugin_info = {
       sizeof (GstGdkPixbufClass),
       gst_gdk_pixbuf_base_init,
       NULL,
@@ -190,8 +185,7 @@ gst_gdk_pixbuf_get_type (void)
       (GInstanceInitFunc) gst_gdk_pixbuf_init,
     };
     plugin_type = g_type_register_static (GST_TYPE_ELEMENT,
-                                         "GstGdkPixbuf",
-                                         &plugin_info, 0);
+       "GstGdkPixbuf", &plugin_info, 0);
   }
   return plugin_type;
 }
@@ -202,42 +196,44 @@ gst_gdk_pixbuf_base_init (gpointer g_class)
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get&gst_gdk_pixbuf_src_template));
+      gst_static_pad_template_get (&gst_gdk_pixbuf_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get&gst_gdk_pixbuf_sink_template));
+      gst_static_pad_template_get (&gst_gdk_pixbuf_sink_template));
   gst_element_class_set_details (element_class, &plugin_details);
 }
 
 /* initialize the plugin's class */
 static void
-gst_gdk_pixbuf_class_init (GstGdkPixbufClass *klass)
+gst_gdk_pixbuf_class_init (GstGdkPixbufClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (gobject_class, ARG_SILENT,
-    g_param_spec_boolean ("silent", "Silent", "Produce verbose output ?",
-                          FALSE, G_PARAM_READWRITE));
+      g_param_spec_boolean ("silent", "Silent", "Produce verbose output ?",
+         FALSE, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_gdk_pixbuf_set_property;
   gobject_class->get_property = gst_gdk_pixbuf_get_property;
 }
 
 static void
-gst_gdk_pixbuf_init (GstGdkPixbuf *filter)
+gst_gdk_pixbuf_init (GstGdkPixbuf * filter)
 {
-  filter->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get( &gst_gdk_pixbuf_sink_template), "sink");
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_gdk_pixbuf_sink_template), "sink");
   gst_pad_set_link_function (filter->sinkpad, gst_gdk_pixbuf_sink_link);
   gst_pad_set_getcaps_function (filter->sinkpad, gst_gdk_pixbuf_sink_getcaps);
 
-  filter->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get( &gst_gdk_pixbuf_src_template), "src");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_gdk_pixbuf_src_template), "src");
   gst_pad_use_explicit_caps (filter->srcpad);
 
   gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
@@ -248,7 +244,7 @@ gst_gdk_pixbuf_init (GstGdkPixbuf *filter)
 }
 
 static void
-gst_gdk_pixbuf_chain (GstPad *pad, GstData *_data)
+gst_gdk_pixbuf_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstGdkPixbuf *filter;
@@ -270,15 +266,15 @@ gst_gdk_pixbuf_chain (GstPad *pad, GstData *_data)
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_EOS:
-        push_buffer = TRUE;
-        got_eos = TRUE;
-        break;
+       push_buffer = TRUE;
+       got_eos = TRUE;
+       break;
       case GST_EVENT_DISCONTINUOUS:
-        dump_buffer = TRUE;
-        break;
+       dump_buffer = TRUE;
+       break;
       default:
-        gst_pad_event_default (pad, event);
-        return;
+       gst_pad_event_default (pad, event);
+       return;
     }
   }
 
@@ -293,41 +289,41 @@ gst_gdk_pixbuf_chain (GstPad *pad, GstData *_data)
       GError *error = NULL;
 
       if (!gdk_pixbuf_loader_close (filter->pixbuf_loader, &error)) {
-        GST_ELEMENT_ERROR (filter, LIBRARY, SHUTDOWN, (NULL), (error->message));
-        g_error_free (error);
-        return;
+       GST_ELEMENT_ERROR (filter, LIBRARY, SHUTDOWN, (NULL), (error->message));
+       g_error_free (error);
+       return;
       }
 
       pixbuf = gdk_pixbuf_loader_get_pixbuf (filter->pixbuf_loader);
 
-      if(filter->image_size == 0){
-        GstCaps *caps;
+      if (filter->image_size == 0) {
+       GstCaps *caps;
 
-        filter->width = gdk_pixbuf_get_width(pixbuf);
-        filter->height = gdk_pixbuf_get_height(pixbuf);
-        filter->rowstride = gdk_pixbuf_get_rowstride(pixbuf);
-        filter->image_size = filter->rowstride * filter->height;
+       filter->width = gdk_pixbuf_get_width (pixbuf);
+       filter->height = gdk_pixbuf_get_height (pixbuf);
+       filter->rowstride = gdk_pixbuf_get_rowstride (pixbuf);
+       filter->image_size = filter->rowstride * filter->height;
 
-        caps = gst_caps_copy (gst_pad_get_pad_template_caps (filter->srcpad));
-        gst_caps_set_simple (caps,
-            "width", G_TYPE_INT, filter->width,
-            "height", G_TYPE_INT, filter->height,
-            "framerate", G_TYPE_DOUBLE, filter->framerate, NULL);
+       caps = gst_caps_copy (gst_pad_get_pad_template_caps (filter->srcpad));
+       gst_caps_set_simple (caps,
+           "width", G_TYPE_INT, filter->width,
+           "height", G_TYPE_INT, filter->height,
+           "framerate", G_TYPE_DOUBLE, filter->framerate, NULL);
 
-        gst_pad_set_explicit_caps (filter->srcpad, caps);
+       gst_pad_set_explicit_caps (filter->srcpad, caps);
       }
 
       outbuf = gst_pad_alloc_buffer (filter->srcpad, GST_BUFFER_OFFSET_NONE,
-          filter->image_size);
-      GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf);
-      GST_BUFFER_DURATION(outbuf) = GST_BUFFER_DURATION(buf);
-      
-      memcpy(GST_BUFFER_DATA(outbuf), gdk_pixbuf_get_pixels(pixbuf),
-          filter->image_size);
+         filter->image_size);
+      GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
+      GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (buf);
+
+      memcpy (GST_BUFFER_DATA (outbuf), gdk_pixbuf_get_pixels (pixbuf),
+         filter->image_size);
 
       gst_pad_push (filter->srcpad, GST_DATA (outbuf));
 
-      g_object_unref(G_OBJECT(filter->pixbuf_loader));
+      g_object_unref (G_OBJECT (filter->pixbuf_loader));
       filter->pixbuf_loader = NULL;
       dump_buffer = FALSE;
     }
@@ -336,19 +332,19 @@ gst_gdk_pixbuf_chain (GstPad *pad, GstData *_data)
   if (dump_buffer) {
     if (filter->pixbuf_loader != NULL) {
       gdk_pixbuf_loader_close (filter->pixbuf_loader, NULL);
-      g_object_unref(G_OBJECT(filter->pixbuf_loader));
+      g_object_unref (G_OBJECT (filter->pixbuf_loader));
       filter->pixbuf_loader = NULL;
     }
   }
 
   if (GST_IS_BUFFER (_data)) {
     if (filter->pixbuf_loader == NULL) {
-      filter->pixbuf_loader = gdk_pixbuf_loader_new();
+      filter->pixbuf_loader = gdk_pixbuf_loader_new ();
       filter->last_timestamp = GST_BUFFER_TIMESTAMP (buf);
     }
-    
-    gdk_pixbuf_loader_write(filter->pixbuf_loader, GST_BUFFER_DATA(buf),
-        GST_BUFFER_SIZE(buf), &error);
+
+    gdk_pixbuf_loader_write (filter->pixbuf_loader, GST_BUFFER_DATA (buf),
+       GST_BUFFER_SIZE (buf), &error);
     gst_buffer_unref (buf);
   }
 
@@ -358,28 +354,27 @@ gst_gdk_pixbuf_chain (GstPad *pad, GstData *_data)
 }
 
 static void
-gst_gdk_pixbuf_set_property (GObject *object, guint prop_id,
-                                  const GValue *value, GParamSpec *pspec)
+gst_gdk_pixbuf_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstGdkPixbuf *filter;
 
   g_return_if_fail (GST_IS_GDK_PIXBUF (object));
   filter = GST_GDK_PIXBUF (object);
 
-  switch (prop_id)
-  {
-  case ARG_SILENT:
-    //filter->silent = g_value_get_boolean (value);
-    break;
-  default:
-    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    break;
+  switch (prop_id) {
+    case ARG_SILENT:
+      //filter->silent = g_value_get_boolean (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
   }
 }
 
 static void
-gst_gdk_pixbuf_get_property (GObject *object, guint prop_id,
-                                  GValue *value, GParamSpec *pspec)
+gst_gdk_pixbuf_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
   GstGdkPixbuf *filter;
 
@@ -387,12 +382,12 @@ gst_gdk_pixbuf_get_property (GObject *object, guint prop_id,
   filter = GST_GDK_PIXBUF (object);
 
   switch (prop_id) {
-  case ARG_SILENT:
-    //g_value_set_boolean (value, filter->silent);
-    break;
-  default:
-    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    break;
+    case ARG_SILENT:
+      //g_value_set_boolean (value, filter->silent);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
   }
 }
 
@@ -400,22 +395,23 @@ gst_gdk_pixbuf_get_property (GObject *object, guint prop_id,
 
 #ifdef enable_typefind
 static void
-gst_gdk_pixbuf_type_find (GstTypeFind *tf, gpointer ignore)
+gst_gdk_pixbuf_type_find (GstTypeFind * tf, gpointer ignore)
 {
   guint8 *data;
   GdkPixbufLoader *pixbuf_loader;
   GdkPixbufFormat *format;
 
   data = gst_type_find_peek (tf, 0, GST_GDK_PIXBUF_TYPE_FIND_SIZE);
-  if (data == NULL) return;
+  if (data == NULL)
+    return;
 
   GST_DEBUG ("creating new loader");
 
-  pixbuf_loader = gdk_pixbuf_loader_new();
-  
+  pixbuf_loader = gdk_pixbuf_loader_new ();
+
   gdk_pixbuf_loader_write (pixbuf_loader, data, GST_GDK_PIXBUF_TYPE_FIND_SIZE,
       NULL);
-  
+
   format = gdk_pixbuf_loader_get_format (pixbuf_loader);
 
   if (format != NULL) {
@@ -423,8 +419,7 @@ gst_gdk_pixbuf_type_find (GstTypeFind *tf, gpointer ignore)
     gchar **p;
     gchar **mlist = gdk_pixbuf_format_get_mime_types (format);
 
-    for (p = mlist; *p; ++p)
-    {
+    for (p = mlist; *p; ++p) {
       GST_DEBUG ("suggesting mime type %s", *p);
       caps = gst_caps_new_simple (*p, NULL);
       gst_type_find_suggest (tf, GST_TYPE_FIND_MINIMUM, caps);
@@ -449,17 +444,18 @@ gst_gdk_pixbuf_type_find (GstTypeFind *tf, gpointer ignore)
  * register the features
  */
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  GST_DEBUG_CATEGORY_INIT (gst_gdk_pixbuf_debug, "gdkpixbuf", 0, "gdk pixbuf loader");
+  GST_DEBUG_CATEGORY_INIT (gst_gdk_pixbuf_debug, "gdkpixbuf", 0,
+      "gdk pixbuf loader");
 
-  if (!gst_element_register (plugin, "gdkpixbufdec", GST_RANK_NONE, GST_TYPE_GDK_PIXBUF))
+  if (!gst_element_register (plugin, "gdkpixbufdec", GST_RANK_NONE,
+         GST_TYPE_GDK_PIXBUF))
     return FALSE;
 
 #ifdef enable_typefind
   gst_type_find_register (plugin, "image/*", GST_RANK_MARGINAL,
-                         gst_gdk_pixbuf_type_find, NULL,
-                          GST_CAPS_ANY, NULL);
+      gst_gdk_pixbuf_type_find, NULL, GST_CAPS_ANY, NULL);
 #endif
 
   /* plugin initialisation succeeded */
@@ -468,13 +464,7 @@ plugin_init (GstPlugin *plugin)
 
 /* this is the structure that gst-register looks for
  * so keep the name plugin_desc, or you cannot get your plug-in registered */
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "gdkpixbuf",
-  "GDK Pixbuf decoder",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "gdkpixbuf",
+    "GDK Pixbuf decoder", plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 62e11aa..f239bf7 100644 (file)
@@ -26,7 +26,6 @@
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
-
 /* #define's don't like whitespacey bits */
 #define GST_TYPE_GDK_PIXBUF \
   (gst_gdk_pixbuf_get_type())
@@ -38,8 +37,7 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GDK_PIXBUF))
 #define GST_IS_GDK_PIXBUF_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GDK_PIXBUF))
-
-typedef struct _GstGdkPixbuf      GstGdkPixbuf;
+typedef struct _GstGdkPixbuf GstGdkPixbuf;
 typedef struct _GstGdkPixbufClass GstGdkPixbufClass;
 
 struct _GstGdkPixbuf
@@ -48,7 +46,7 @@ struct _GstGdkPixbuf
 
   GstPad *sinkpad, *srcpad;
 
-  GstClockTime    last_timestamp;
+  GstClockTime last_timestamp;
   GdkPixbufLoader *pixbuf_loader;
 
   int width;
@@ -59,7 +57,7 @@ struct _GstGdkPixbuf
   double framerate;
 };
 
-struct _GstGdkPixbufClass 
+struct _GstGdkPixbufClass
 {
   GstElementClass parent_class;
 };
@@ -67,5 +65,4 @@ struct _GstGdkPixbufClass
 GType gst_gdk_pixbuf_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_GDK_PIXBUF_H__ */
index 1a78b22..add7435 100644 (file)
 #include "gstjpegenc.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  if (!gst_element_register (plugin, "jpegenc", GST_RANK_NONE, GST_TYPE_JPEGENC))
+  if (!gst_element_register (plugin, "jpegenc", GST_RANK_NONE,
+         GST_TYPE_JPEGENC))
     return FALSE;
-  
-  if (!gst_element_register (plugin, "jpegdec", GST_RANK_PRIMARY, GST_TYPE_JPEGDEC))
+
+  if (!gst_element_register (plugin, "jpegdec", GST_RANK_PRIMARY,
+         GST_TYPE_JPEGDEC))
     return FALSE;
-  
+
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "jpeg",
-  "JPeg plugin library",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "jpeg",
+    "JPeg plugin library",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 0a1bb60..1015655 100644 (file)
@@ -36,73 +36,74 @@ GstElementDetails gst_jpegdec_details = {
 };
 
 /* JpegDec signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void     gst_jpegdec_base_init   (gpointer g_class);
-static void    gst_jpegdec_class_init  (GstJpegDec *klass);
-static void    gst_jpegdec_init        (GstJpegDec *jpegdec);
+static void gst_jpegdec_base_init (gpointer g_class);
+static void gst_jpegdec_class_init (GstJpegDec * klass);
+static void gst_jpegdec_init (GstJpegDec * jpegdec);
 
-static void    gst_jpegdec_chain       (GstPad *pad, GstData *_data);
-static GstPadLinkReturn
-               gst_jpegdec_link        (GstPad *pad, const GstCaps *caps);
+static void gst_jpegdec_chain (GstPad * pad, GstData * _data);
+static GstPadLinkReturn gst_jpegdec_link (GstPad * pad, const GstCaps * caps);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_jpegdec_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_jpegdec_get_type(void) {
+gst_jpegdec_get_type (void)
+{
   static GType jpegdec_type = 0;
-  
+
   if (!jpegdec_type) {
     static const GTypeInfo jpegdec_info = {
-      sizeof(GstJpegDec),
+      sizeof (GstJpegDec),
       gst_jpegdec_base_init,
       NULL,
-      (GClassInitFunc)gst_jpegdec_class_init,
+      (GClassInitFunc) gst_jpegdec_class_init,
       NULL,
       NULL,
-      sizeof(GstJpegDec),
+      sizeof (GstJpegDec),
       0,
-      (GInstanceInitFunc)gst_jpegdec_init,
+      (GInstanceInitFunc) gst_jpegdec_init,
     };
-    jpegdec_type = g_type_register_static(GST_TYPE_ELEMENT, "GstJpegDec", &jpegdec_info, 0);
+    jpegdec_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstJpegDec", &jpegdec_info,
+       0);
   }
   return jpegdec_type;
 }
 
 static GstStaticPadTemplate gst_jpegdec_src_pad_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV("I420"))
-);
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
+    );
 
 static GstStaticPadTemplate gst_jpegdec_sink_pad_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("image/jpeg, "
-      "width = (int) [ 16, 4096 ], " 
-      "height = (int) [ 16, 4096 ], "
-      "framerate = (double) [ 1, MAX ]"
-    )
-);
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ], " "framerate = (double) [ 1, MAX ]")
+    );
 
 static void
 gst_jpegdec_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  
+
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_jpegdec_src_pad_template));
   gst_element_class_add_pad_template (element_class,
@@ -111,13 +112,13 @@ gst_jpegdec_base_init (gpointer g_class)
 }
 
 static void
-gst_jpegdec_class_init (GstJpegDec *klass)
+gst_jpegdec_class_init (GstJpegDec * klass)
 {
   GstElementClass *gstelement_class;
 
-  gstelement_class = (GstElementClass*)klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 }
 
 static void
@@ -125,6 +126,7 @@ gst_jpegdec_init_source (j_decompress_ptr cinfo)
 {
   GST_DEBUG ("gst_jpegdec_chain: init_source");
 }
+
 static gboolean
 gst_jpegdec_fill_input_buffer (j_decompress_ptr cinfo)
 {
@@ -152,21 +154,23 @@ gst_jpegdec_term_source (j_decompress_ptr cinfo)
 }
 
 static void
-gst_jpegdec_init (GstJpegDec *jpegdec)
+gst_jpegdec_init (GstJpegDec * jpegdec)
 {
   GST_DEBUG ("gst_jpegdec_init: initializing");
   /* create the sink and src pads */
 
-  jpegdec->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_jpegdec_sink_pad_template), "sink");
-  gst_element_add_pad(GST_ELEMENT(jpegdec),jpegdec->sinkpad);
-  gst_pad_set_chain_function(jpegdec->sinkpad,gst_jpegdec_chain);
-  gst_pad_set_link_function(jpegdec->sinkpad, gst_jpegdec_link);
+  jpegdec->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_jpegdec_sink_pad_template), "sink");
+  gst_element_add_pad (GST_ELEMENT (jpegdec), jpegdec->sinkpad);
+  gst_pad_set_chain_function (jpegdec->sinkpad, gst_jpegdec_chain);
+  gst_pad_set_link_function (jpegdec->sinkpad, gst_jpegdec_link);
 
-  jpegdec->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_jpegdec_src_pad_template), "src");
+  jpegdec->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_jpegdec_src_pad_template), "src");
   gst_pad_use_explicit_caps (jpegdec->srcpad);
-  gst_element_add_pad(GST_ELEMENT(jpegdec),jpegdec->srcpad);
+  gst_element_add_pad (GST_ELEMENT (jpegdec), jpegdec->srcpad);
 
   /* initialize the jpegdec decoder state */
   jpegdec->next_time = 0;
@@ -181,10 +185,10 @@ gst_jpegdec_init (GstJpegDec *jpegdec)
   jpegdec->line[2] = NULL;
 
   /* setup jpeglib */
-  memset(&jpegdec->cinfo, 0, sizeof(jpegdec->cinfo));
-  memset(&jpegdec->jerr, 0, sizeof(jpegdec->jerr));
-  jpegdec->cinfo.err = jpeg_std_error(&jpegdec->jerr);
-  jpeg_create_decompress(&jpegdec->cinfo);
+  memset (&jpegdec->cinfo, 0, sizeof (jpegdec->cinfo));
+  memset (&jpegdec->jerr, 0, sizeof (jpegdec->jerr));
+  jpegdec->cinfo.err = jpeg_std_error (&jpegdec->jerr);
+  jpeg_create_decompress (&jpegdec->cinfo);
 
   jpegdec->jsrc.init_source = gst_jpegdec_init_source;
   jpegdec->jsrc.fill_input_buffer = gst_jpegdec_fill_input_buffer;
@@ -196,7 +200,7 @@ gst_jpegdec_init (GstJpegDec *jpegdec)
 }
 
 static GstPadLinkReturn
-gst_jpegdec_link (GstPad *pad, const GstCaps *caps)
+gst_jpegdec_link (GstPad * pad, const GstCaps * caps)
 {
   GstJpegDec *jpegdec = GST_JPEGDEC (gst_pad_get_parent (pad));
   GstStructure *structure;
@@ -205,15 +209,14 @@ gst_jpegdec_link (GstPad *pad, const GstCaps *caps)
   structure = gst_caps_get_structure (caps, 0);
 
   gst_structure_get_double (structure, "framerate", &jpegdec->fps);
-  gst_structure_get_int (structure, "width",     &jpegdec->width);
-  gst_structure_get_int (structure, "height",    &jpegdec->height);
+  gst_structure_get_int (structure, "width", &jpegdec->width);
+  gst_structure_get_int (structure, "height", &jpegdec->height);
 
   srccaps = gst_caps_new_simple ("video/x-raw-yuv",
-      "format",    GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
-      "width",     G_TYPE_INT, jpegdec->width,
-      "height",    G_TYPE_INT, jpegdec->height,
-      "framerate", G_TYPE_DOUBLE, jpegdec->fps,
-      NULL);
+      "format", GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I', '4', '2', '0'),
+      "width", G_TYPE_INT, jpegdec->width,
+      "height", G_TYPE_INT, jpegdec->height,
+      "framerate", G_TYPE_DOUBLE, jpegdec->fps, NULL);
 
   /* at this point, we're pretty sure that this will be the output
    * format, so we'll set it. */
@@ -223,18 +226,18 @@ gst_jpegdec_link (GstPad *pad, const GstCaps *caps)
 }
 
 /* shamelessly ripped from jpegutils.c in mjpegtools */
-static void add_huff_table (j_decompress_ptr dinfo,
-                           JHUFF_TBL **htblptr, 
-                           const UINT8 *bits, const UINT8 *val)
+static void
+add_huff_table (j_decompress_ptr dinfo,
+    JHUFF_TBL ** htblptr, const UINT8 * bits, const UINT8 * val)
 /* Define a Huffman table */
 {
   int nsymbols, len;
 
   if (*htblptr == NULL)
-    *htblptr = jpeg_alloc_huff_table((j_common_ptr) dinfo);
+    *htblptr = jpeg_alloc_huff_table ((j_common_ptr) dinfo);
 
   /* Copy the number-of-symbols-of-each-code-length counts */
-  memcpy((*htblptr)->bits, bits, sizeof((*htblptr)->bits));
+  memcpy ((*htblptr)->bits, bits, sizeof ((*htblptr)->bits));
 
   /* Validate the counts.  We do this here mainly so we can copy the right
    * number of symbols from the val[] array, without risking marching off
@@ -244,119 +247,123 @@ static void add_huff_table (j_decompress_ptr dinfo,
   for (len = 1; len <= 16; len++)
     nsymbols += bits[len];
   if (nsymbols < 1 || nsymbols > 256)
-    g_error("jpegutils.c:  add_huff_table failed badly. ");
+    g_error ("jpegutils.c:  add_huff_table failed badly. ");
 
-  memcpy((*htblptr)->huffval, val, nsymbols * sizeof(UINT8));
+  memcpy ((*htblptr)->huffval, val, nsymbols * sizeof (UINT8));
 }
 
 
 
-static void std_huff_tables (j_decompress_ptr dinfo)
+static void
+std_huff_tables (j_decompress_ptr dinfo)
 /* Set up the standard Huffman tables (cf. JPEG standard section K.3) */
 /* IMPORTANT: these are only valid for 8-bit data precision! */
 {
   static const UINT8 bits_dc_luminance[17] =
-    { /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
+      { /* 0-base */ 0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 };
   static const UINT8 val_dc_luminance[] =
-    { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
-  
+      { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
+
   static const UINT8 bits_dc_chrominance[17] =
-    { /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
+      { /* 0-base */ 0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
   static const UINT8 val_dc_chrominance[] =
-    { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
-  
+      { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
+
   static const UINT8 bits_ac_luminance[17] =
-    { /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
+      { /* 0-base */ 0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d };
   static const UINT8 val_ac_luminance[] =
-    { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
-      0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
-      0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
-      0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
-      0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
-      0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
-      0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
-      0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
-      0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
-      0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
-      0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
-      0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
-      0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
-      0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
-      0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
-      0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
-      0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
-      0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
-      0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
-      0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-      0xf9, 0xfa };
-  
+      { 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12,
+    0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07,
+    0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
+    0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0,
+    0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16,
+    0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
+    0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
+    0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
+    0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
+    0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69,
+    0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79,
+    0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
+    0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98,
+    0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+    0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
+    0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5,
+    0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
+    0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
+    0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,
+    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
+    0xf9, 0xfa
+  };
+
   static const UINT8 bits_ac_chrominance[17] =
-    { /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 };
+      { /* 0-base */ 0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77 };
   static const UINT8 val_ac_chrominance[] =
-    { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
-      0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
-      0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
-      0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
-      0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
-      0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
-      0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
-      0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
-      0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
-      0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
-      0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
-      0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
-      0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
-      0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
-      0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
-      0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
-      0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
-      0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
-      0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
-      0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
-      0xf9, 0xfa };
-  
-  add_huff_table(dinfo, &dinfo->dc_huff_tbl_ptrs[0],
-                bits_dc_luminance, val_dc_luminance);
-  add_huff_table(dinfo, &dinfo->ac_huff_tbl_ptrs[0],
-                bits_ac_luminance, val_ac_luminance);
-  add_huff_table(dinfo, &dinfo->dc_huff_tbl_ptrs[1],
-                bits_dc_chrominance, val_dc_chrominance);
-  add_huff_table(dinfo, &dinfo->ac_huff_tbl_ptrs[1],
-                bits_ac_chrominance, val_ac_chrominance);
+      { 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21,
+    0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71,
+    0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
+    0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0,
+    0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34,
+    0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
+    0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38,
+    0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
+    0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
+    0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,
+    0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,
+    0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
+    0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96,
+    0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5,
+    0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
+    0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3,
+    0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2,
+    0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
+    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
+    0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,
+    0xf9, 0xfa
+  };
+
+  add_huff_table (dinfo, &dinfo->dc_huff_tbl_ptrs[0],
+      bits_dc_luminance, val_dc_luminance);
+  add_huff_table (dinfo, &dinfo->ac_huff_tbl_ptrs[0],
+      bits_ac_luminance, val_ac_luminance);
+  add_huff_table (dinfo, &dinfo->dc_huff_tbl_ptrs[1],
+      bits_dc_chrominance, val_dc_chrominance);
+  add_huff_table (dinfo, &dinfo->ac_huff_tbl_ptrs[1],
+      bits_ac_chrominance, val_ac_chrominance);
 }
 
 
 
-static void guarantee_huff_tables(j_decompress_ptr dinfo)
+static void
+guarantee_huff_tables (j_decompress_ptr dinfo)
 {
-  if ( (dinfo->dc_huff_tbl_ptrs[0] == NULL) &&
-       (dinfo->dc_huff_tbl_ptrs[1] == NULL) &&
-       (dinfo->ac_huff_tbl_ptrs[0] == NULL) &&
-       (dinfo->ac_huff_tbl_ptrs[1] == NULL) ) {
-    GST_DEBUG (
-              "Generating standard Huffman tables for this frame.");
-    std_huff_tables(dinfo);
+  if ((dinfo->dc_huff_tbl_ptrs[0] == NULL) &&
+      (dinfo->dc_huff_tbl_ptrs[1] == NULL) &&
+      (dinfo->ac_huff_tbl_ptrs[0] == NULL) &&
+      (dinfo->ac_huff_tbl_ptrs[1] == NULL)) {
+    GST_DEBUG ("Generating standard Huffman tables for this frame.");
+    std_huff_tables (dinfo);
   }
 }
 
 static void
-gst_jpegdec_chain (GstPad *pad, GstData *_data)
+gst_jpegdec_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstJpegDec *jpegdec;
   guchar *data, *outdata;
   gulong size, outsize;
   GstBuffer *outbuf;
-  /*GstMeta *meta;*/
+
+  /*GstMeta *meta; */
   gint width, height, width2;
   guchar *base[3];
-  gint i,j, k;
+  gint i, j, k;
   gint r_h, r_v;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
-  /*g_return_if_fail(GST_IS_BUFFER(buf));*/
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
+  /*g_return_if_fail(GST_IS_BUFFER(buf)); */
 
   jpegdec = GST_JPEGDEC (GST_OBJECT_PARENT (pad));
 
@@ -365,24 +372,24 @@ gst_jpegdec_chain (GstPad *pad, GstData *_data)
     return;
   }
 
-  data = (guchar *)GST_BUFFER_DATA(buf);
-  size = GST_BUFFER_SIZE(buf);
-  GST_DEBUG ("gst_jpegdec_chain: got buffer of %ld bytes in '%s'",size,
-          GST_OBJECT_NAME (jpegdec));
+  data = (guchar *) GST_BUFFER_DATA (buf);
+  size = GST_BUFFER_SIZE (buf);
+  GST_DEBUG ("gst_jpegdec_chain: got buffer of %ld bytes in '%s'", size,
+      GST_OBJECT_NAME (jpegdec));
 
   jpegdec->jsrc.next_input_byte = data;
   jpegdec->jsrc.bytes_in_buffer = size;
-                                 
 
-  GST_DEBUG ("gst_jpegdec_chain: reading header %08lx", *(gulong *)data);
-  jpeg_read_header(&jpegdec->cinfo, TRUE);
+
+  GST_DEBUG ("gst_jpegdec_chain: reading header %08lx", *(gulong *) data);
+  jpeg_read_header (&jpegdec->cinfo, TRUE);
 
   r_h = jpegdec->cinfo.cur_comp_info[0]->h_samp_factor;
   r_v = jpegdec->cinfo.cur_comp_info[0]->v_samp_factor;
 
-  /*g_print ("%d %d\n", r_h, r_v);*/
-  /*g_print ("%d %d\n", jpegdec->cinfo.cur_comp_info[1]->h_samp_factor, jpegdec->cinfo.cur_comp_info[1]->v_samp_factor);*/
-  /*g_print ("%d %d\n", jpegdec->cinfo.cur_comp_info[2]->h_samp_factor, jpegdec->cinfo.cur_comp_info[2]->v_samp_factor);*/
+  /*g_print ("%d %d\n", r_h, r_v); */
+  /*g_print ("%d %d\n", jpegdec->cinfo.cur_comp_info[1]->h_samp_factor, jpegdec->cinfo.cur_comp_info[1]->v_samp_factor); */
+  /*g_print ("%d %d\n", jpegdec->cinfo.cur_comp_info[2]->h_samp_factor, jpegdec->cinfo.cur_comp_info[2]->v_samp_factor); */
 
   jpegdec->cinfo.do_fancy_upsampling = FALSE;
   jpegdec->cinfo.do_block_smoothing = FALSE;
@@ -390,66 +397,67 @@ gst_jpegdec_chain (GstPad *pad, GstData *_data)
   jpegdec->cinfo.dct_method = JDCT_IFAST;
   jpegdec->cinfo.raw_data_out = TRUE;
   GST_DEBUG ("gst_jpegdec_chain: starting decompress");
-  guarantee_huff_tables(&jpegdec->cinfo);
-  jpeg_start_decompress(&jpegdec->cinfo);
+  guarantee_huff_tables (&jpegdec->cinfo);
+  jpeg_start_decompress (&jpegdec->cinfo);
   width = jpegdec->cinfo.output_width;
   height = jpegdec->cinfo.output_height;
   GST_DEBUG ("gst_jpegdec_chain: width %d, height %d", width, height);
 
-  outbuf = gst_buffer_new();
-  outsize = GST_BUFFER_SIZE(outbuf) = width*height +
-                                     width*height / 2;
-  outdata = GST_BUFFER_DATA(outbuf) = g_malloc(outsize);
-  GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf);
+  outbuf = gst_buffer_new ();
+  outsize = GST_BUFFER_SIZE (outbuf) = width * height + width * height / 2;
+  outdata = GST_BUFFER_DATA (outbuf) = g_malloc (outsize);
+  GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
 
   if (jpegdec->height != height || jpegdec->line[0] == NULL) {
     GstCaps *caps;
 
-    jpegdec->line[0] = g_realloc(jpegdec->line[0], height*sizeof(char*));
-    jpegdec->line[1] = g_realloc(jpegdec->line[1], height*sizeof(char*));
-    jpegdec->line[2] = g_realloc(jpegdec->line[2], height*sizeof(char*));
+    jpegdec->line[0] = g_realloc (jpegdec->line[0], height * sizeof (char *));
+    jpegdec->line[1] = g_realloc (jpegdec->line[1], height * sizeof (char *));
+    jpegdec->line[2] = g_realloc (jpegdec->line[2], height * sizeof (char *));
     jpegdec->height = height;
 
     caps = gst_caps_new_simple ("video/x-raw-yuv",
-          "format",    GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I','4','2','0'),
-          "width",     G_TYPE_INT, width,
-          "height",    G_TYPE_INT, height,
-          "framerate", G_TYPE_DOUBLE, jpegdec->fps,
-          NULL);
+       "format", GST_TYPE_FOURCC, GST_MAKE_FOURCC ('I', '4', '2', '0'),
+       "width", G_TYPE_INT, width,
+       "height", G_TYPE_INT, height,
+       "framerate", G_TYPE_DOUBLE, jpegdec->fps, NULL);
     gst_pad_set_explicit_caps (jpegdec->srcpad, caps);
     gst_caps_free (caps);
   }
 
   /* mind the swap, jpeglib outputs blue chroma first */
   base[0] = outdata;
-  base[1] = base[0]+width*height;
-  base[2] = base[1]+width*height/4;
+  base[1] = base[0] + width * height;
+  base[2] = base[1] + width * height / 4;
 
   width2 = width >> 1;
 
-  GST_DEBUG ("gst_jpegdec_chain: decompressing %u", jpegdec->cinfo.rec_outbuf_height);
-  for (i = 0; i < height; i += r_v*DCTSIZE) {
-    for (j=0, k=0; j< (r_v*DCTSIZE); j += r_v, k++) {
-      jpegdec->line[0][j]   = base[0]; base[0] += width;
+  GST_DEBUG ("gst_jpegdec_chain: decompressing %u",
+      jpegdec->cinfo.rec_outbuf_height);
+  for (i = 0; i < height; i += r_v * DCTSIZE) {
+    for (j = 0, k = 0; j < (r_v * DCTSIZE); j += r_v, k++) {
+      jpegdec->line[0][j] = base[0];
+      base[0] += width;
       if (r_v == 2) {
-        jpegdec->line[0][j+1] = base[0]; base[0] += width;
+       jpegdec->line[0][j + 1] = base[0];
+       base[0] += width;
       }
-      jpegdec->line[1][k]   = base[1]; 
-      jpegdec->line[2][k]   = base[2];
-      if (r_v == 2 || k&1) {
-         base[1] += width2; base[2] += width2;
+      jpegdec->line[1][k] = base[1];
+      jpegdec->line[2][k] = base[2];
+      if (r_v == 2 || k & 1) {
+       base[1] += width2;
+       base[2] += width2;
       }
     }
-    /*g_print ("%d\n", jpegdec->cinfo.output_scanline);*/
-    jpeg_read_raw_data(&jpegdec->cinfo, jpegdec->line, r_v*DCTSIZE);
+    /*g_print ("%d\n", jpegdec->cinfo.output_scanline); */
+    jpeg_read_raw_data (&jpegdec->cinfo, jpegdec->line, r_v * DCTSIZE);
   }
 
   GST_DEBUG ("gst_jpegdec_chain: decompressing finished");
-  jpeg_finish_decompress(&jpegdec->cinfo);
+  jpeg_finish_decompress (&jpegdec->cinfo);
 
   GST_DEBUG ("gst_jpegdec_chain: sending buffer");
-  gst_pad_push(jpegdec->srcpad, GST_DATA (outbuf));
+  gst_pad_push (jpegdec->srcpad, GST_DATA (outbuf));
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
-
index 0518787..9a864eb 100644 (file)
@@ -30,8 +30,9 @@
 #include <jpeglib.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_JPEGDEC \
@@ -45,46 +46,48 @@ extern "C" {
 #define GST_IS_JPEGDEC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_JPEGDEC))
 
-typedef struct _GstJpegDec GstJpegDec;
-typedef struct _GstJpegDecClass GstJpegDecClass;
+  typedef struct _GstJpegDec GstJpegDec;
+  typedef struct _GstJpegDecClass GstJpegDecClass;
 
-struct _GstJpegDec {
-  GstElement element;
+  struct _GstJpegDec
+  {
+    GstElement element;
 
-  /* pads */
-  GstPad *sinkpad,*srcpad;
+    /* pads */
+    GstPad *sinkpad, *srcpad;
 
-  int parse_state;
-  /* the timestamp of the next frame */
-  guint64 next_time;
-  /* the interval between frames */
-  guint64 time_interval;
+    int parse_state;
+    /* the timestamp of the next frame */
+    guint64 next_time;
+    /* the interval between frames */
+    guint64 time_interval;
 
-  /* video state */
-  gint format;
-  gint width;
-  gint height;
-  gdouble fps;
-  /* the size of the output buffer */
-  gint outsize;
-  /* the jpeg line buffer */
-  guchar **line[3];
+    /* video state */
+    gint format;
+    gint width;
+    gint height;
+    gdouble fps;
+    /* the size of the output buffer */
+    gint outsize;
+    /* the jpeg line buffer */
+    guchar **line[3];
 
-  struct jpeg_decompress_struct cinfo;
-  struct jpeg_error_mgr jerr;
-  struct jpeg_source_mgr jsrc;
-};
+    struct jpeg_decompress_struct cinfo;
+    struct jpeg_error_mgr jerr;
+    struct jpeg_source_mgr jsrc;
+  };
 
-struct _GstJpegDecClass {
-  GstElementClass parent_class;
-};
+  struct _GstJpegDecClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_jpegdec_get_type(void);
+  GType gst_jpegdec_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_JPEGDEC_H__ */
+#endif                         /* __GST_JPEGDEC_H__ */
index 7f43ea9..4494171 100644 (file)
@@ -35,30 +35,34 @@ GstElementDetails gst_jpegenc_details = {
 };
 
 /* JpegEnc signals and args */
-enum {
+enum
+{
   FRAME_ENCODED,
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_QUALITY,
   ARG_SMOOTHING,
   /* FILL ME */
 };
 
-static void             gst_jpegenc_base_init   (gpointer g_class);
-static void            gst_jpegenc_class_init  (GstJpegEnc *klass);
-static void            gst_jpegenc_init        (GstJpegEnc *jpegenc);
+static void gst_jpegenc_base_init (gpointer g_class);
+static void gst_jpegenc_class_init (GstJpegEnc * klass);
+static void gst_jpegenc_init (GstJpegEnc * jpegenc);
 
-static void            gst_jpegenc_chain       (GstPad *pad, GstData *_data);
-static GstPadLinkReturn        gst_jpegenc_link        (GstPad *pad, const GstCaps *caps);
-static GstCaps * gst_jpegenc_getcaps (GstPad *pad);
+static void gst_jpegenc_chain (GstPad * pad, GstData * _data);
+static GstPadLinkReturn gst_jpegenc_link (GstPad * pad, const GstCaps * caps);
+static GstCaps *gst_jpegenc_getcaps (GstPad * pad);
 
-static void            gst_jpegenc_resync      (GstJpegEnc *jpegenc);
-static void gst_jpegenc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec);
-static void gst_jpegenc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec);
+static void gst_jpegenc_resync (GstJpegEnc * jpegenc);
+static void gst_jpegenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_jpegenc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 static GstElementClass *parent_class = NULL;
 static guint gst_jpegenc_signals[LAST_SIGNAL] = { 0 };
@@ -70,46 +74,44 @@ gst_jpegenc_get_type (void)
 
   if (!jpegenc_type) {
     static const GTypeInfo jpegenc_info = {
-      sizeof(GstJpegEnc),
+      sizeof (GstJpegEnc),
       gst_jpegenc_base_init,
       NULL,
-      (GClassInitFunc)gst_jpegenc_class_init,
+      (GClassInitFunc) gst_jpegenc_class_init,
       NULL,
       NULL,
-      sizeof(GstJpegEnc),
+      sizeof (GstJpegEnc),
       0,
-      (GInstanceInitFunc)gst_jpegenc_init,
+      (GInstanceInitFunc) gst_jpegenc_init,
     };
-    jpegenc_type = g_type_register_static(GST_TYPE_ELEMENT, "GstJpegEnc", &jpegenc_info, 0);
+    jpegenc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstJpegEnc", &jpegenc_info,
+       0);
   }
   return jpegenc_type;
 }
 
 static GstStaticPadTemplate gst_jpegenc_sink_pad_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV("I420"))
-);
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
+    );
 
 static GstStaticPadTemplate gst_jpegenc_src_pad_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("image/jpeg, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ], "
-      "framerate = (double) [ 1, MAX ]"
-    )
-);
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ], " "framerate = (double) [ 1, MAX ]")
+    );
 
 static void
 gst_jpegenc_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  
+
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_jpegenc_sink_pad_template));
   gst_element_class_add_pad_template (element_class,
@@ -118,29 +120,29 @@ gst_jpegenc_base_init (gpointer g_class)
 }
 
 static void
-gst_jpegenc_class_init (GstJpegEnc *klass)
+gst_jpegenc_class_init (GstJpegEnc * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gst_jpegenc_signals[FRAME_ENCODED] =
-    g_signal_new ("frame-encoded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
-                   G_STRUCT_OFFSET (GstJpegEncClass, frame_encoded), NULL, NULL,
-                   g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+      g_signal_new ("frame-encoded", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstJpegEncClass, frame_encoded), NULL,
+      NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
   g_object_class_install_property (gobject_class, ARG_QUALITY,
       g_param_spec_int ("quality", "Quality", "Quality of encoding",
-        0, 100, 85, G_PARAM_READWRITE));
+         0, 100, 85, G_PARAM_READWRITE));
 #if 0
   /* disabled, since it doesn't seem to work */
   g_object_class_install_property (gobject_class, ARG_SMOOTHING,
       g_param_spec_int ("smoothing", "Smoothing", "Smoothing factor",
-        0, 100, 0, G_PARAM_READWRITE));
+         0, 100, 0, G_PARAM_READWRITE));
 #endif
 
   gobject_class->set_property = gst_jpegenc_set_property;
@@ -160,44 +162,47 @@ gst_jpegenc_flush_destination (j_compress_ptr cinfo)
   return TRUE;
 }
 
-static void gst_jpegenc_term_destination (j_compress_ptr cinfo)
+static void
+gst_jpegenc_term_destination (j_compress_ptr cinfo)
 {
   GST_DEBUG ("gst_jpegenc_chain: term_source");
 }
 
 static void
-gst_jpegenc_init (GstJpegEnc *jpegenc)
+gst_jpegenc_init (GstJpegEnc * jpegenc)
 {
   /* create the sink and src pads */
-  jpegenc->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_jpegenc_sink_pad_template), "sink");
-  gst_pad_set_chain_function(jpegenc->sinkpad,gst_jpegenc_chain);
-  gst_pad_set_getcaps_function(jpegenc->sinkpad, gst_jpegenc_getcaps);
-  gst_pad_set_link_function(jpegenc->sinkpad, gst_jpegenc_link);
-  gst_element_add_pad(GST_ELEMENT(jpegenc),jpegenc->sinkpad);
-
-  jpegenc->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_jpegenc_src_pad_template), "src");
-  gst_pad_set_getcaps_function(jpegenc->sinkpad, gst_jpegenc_getcaps);
-  gst_pad_set_link_function(jpegenc->sinkpad, gst_jpegenc_link);
-  gst_element_add_pad(GST_ELEMENT(jpegenc),jpegenc->srcpad);
+  jpegenc->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_jpegenc_sink_pad_template), "sink");
+  gst_pad_set_chain_function (jpegenc->sinkpad, gst_jpegenc_chain);
+  gst_pad_set_getcaps_function (jpegenc->sinkpad, gst_jpegenc_getcaps);
+  gst_pad_set_link_function (jpegenc->sinkpad, gst_jpegenc_link);
+  gst_element_add_pad (GST_ELEMENT (jpegenc), jpegenc->sinkpad);
+
+  jpegenc->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_jpegenc_src_pad_template), "src");
+  gst_pad_set_getcaps_function (jpegenc->sinkpad, gst_jpegenc_getcaps);
+  gst_pad_set_link_function (jpegenc->sinkpad, gst_jpegenc_link);
+  gst_element_add_pad (GST_ELEMENT (jpegenc), jpegenc->srcpad);
 
   /* reset the initial video state */
   jpegenc->width = -1;
   jpegenc->height = -1;
 
   /* setup jpeglib */
-  memset(&jpegenc->cinfo, 0, sizeof(jpegenc->cinfo));
-  memset(&jpegenc->jerr, 0, sizeof(jpegenc->jerr));
-  jpegenc->cinfo.err = jpeg_std_error(&jpegenc->jerr);
-  jpeg_create_compress(&jpegenc->cinfo);
+  memset (&jpegenc->cinfo, 0, sizeof (jpegenc->cinfo));
+  memset (&jpegenc->jerr, 0, sizeof (jpegenc->jerr));
+  jpegenc->cinfo.err = jpeg_std_error (&jpegenc->jerr);
+  jpeg_create_compress (&jpegenc->cinfo);
 
   GST_DEBUG ("gst_jpegenc_init: setting line buffers");
   jpegenc->line[0] = NULL;
   jpegenc->line[1] = NULL;
   jpegenc->line[2] = NULL;
 
-  gst_jpegenc_resync(jpegenc);
+  gst_jpegenc_resync (jpegenc);
 
   jpegenc->jdest.init_destination = gst_jpegenc_init_destination;
   jpegenc->jdest.empty_output_buffer = gst_jpegenc_flush_destination;
@@ -209,7 +214,7 @@ gst_jpegenc_init (GstJpegEnc *jpegenc)
 }
 
 static GstCaps *
-gst_jpegenc_getcaps (GstPad *pad)
+gst_jpegenc_getcaps (GstPad * pad)
 {
   GstJpegEnc *jpegenc = GST_JPEGENC (gst_pad_get_parent (pad));
   GstPad *otherpad;
@@ -225,7 +230,7 @@ gst_jpegenc_getcaps (GstPad *pad)
   } else {
     name = "video/x-raw-yuv";
   }
-  for (i=0;i<gst_caps_get_size (caps); i++){
+  for (i = 0; i < gst_caps_get_size (caps); i++) {
     structure = gst_caps_get_structure (caps, i);
 
     gst_structure_set_name (structure, name);
@@ -236,7 +241,7 @@ gst_jpegenc_getcaps (GstPad *pad)
 }
 
 static GstPadLinkReturn
-gst_jpegenc_link (GstPad *pad, const GstCaps *caps)
+gst_jpegenc_link (GstPad * pad, const GstCaps * caps)
 {
   GstJpegEnc *jpegenc = GST_JPEGENC (gst_pad_get_parent (pad));
   GstStructure *structure;
@@ -248,18 +253,17 @@ gst_jpegenc_link (GstPad *pad, const GstCaps *caps)
 
   structure = gst_caps_get_structure (caps, 0);
   gst_structure_get_double (structure, "framerate", &jpegenc->fps);
-  gst_structure_get_int (structure, "width",     &jpegenc->width);
-  gst_structure_get_int (structure, "height",    &jpegenc->height);
-  
+  gst_structure_get_int (structure, "width", &jpegenc->width);
+  gst_structure_get_int (structure, "height", &jpegenc->height);
+
   othercaps = gst_caps_copy (gst_pad_get_pad_template_caps (otherpad));
   gst_caps_set_simple (othercaps,
-      "width",     G_TYPE_INT, jpegenc->width,
-      "height",    G_TYPE_INT, jpegenc->height,
-      "framerate", G_TYPE_DOUBLE, jpegenc->fps,
-      NULL);
+      "width", G_TYPE_INT, jpegenc->width,
+      "height", G_TYPE_INT, jpegenc->height,
+      "framerate", G_TYPE_DOUBLE, jpegenc->fps, NULL);
 
   ret = gst_pad_try_set_caps (jpegenc->srcpad, othercaps);
-  gst_caps_free(othercaps);
+  gst_caps_free (othercaps);
 
   if (GST_PAD_LINK_SUCCESSFUL (ret)) {
     gst_jpegenc_resync (jpegenc);
@@ -269,7 +273,7 @@ gst_jpegenc_link (GstPad *pad, const GstCaps *caps)
 }
 
 static void
-gst_jpegenc_resync (GstJpegEnc *jpegenc)
+gst_jpegenc_resync (GstJpegEnc * jpegenc)
 {
   guint size = 0;
   gint width, height;
@@ -282,11 +286,11 @@ gst_jpegenc_resync (GstJpegEnc *jpegenc)
 
   GST_DEBUG ("gst_jpegenc_resync: wdith %d, height %d", width, height);
 
-  jpeg_set_defaults(&jpegenc->cinfo);
+  jpeg_set_defaults (&jpegenc->cinfo);
   jpegenc->cinfo.dct_method = JDCT_FASTEST;
-  /*jpegenc->cinfo.dct_method = JDCT_DEFAULT;*/
+  /*jpegenc->cinfo.dct_method = JDCT_DEFAULT; */
   /*jpegenc->cinfo.smoothing_factor = jpegenc->smoothing; */
-  jpeg_set_quality(&jpegenc->cinfo, jpegenc->quality, TRUE);
+  jpeg_set_quality (&jpegenc->cinfo, jpegenc->quality, TRUE);
 
 #if 0
   switch (jpegenc->format) {
@@ -310,24 +314,27 @@ gst_jpegenc_resync (GstJpegEnc *jpegenc)
       jpegenc->cinfo.comp_info[2].v_samp_factor = 1;
 
       if (height != -1) {
-        jpegenc->line[0] = g_realloc(jpegenc->line[0], height*sizeof(char*));
-        jpegenc->line[1] = g_realloc(jpegenc->line[1], height*sizeof(char*)/2);
-        jpegenc->line[2] = g_realloc(jpegenc->line[2], height*sizeof(char*)/2);
+       jpegenc->line[0] =
+           g_realloc (jpegenc->line[0], height * sizeof (char *));
+       jpegenc->line[1] =
+           g_realloc (jpegenc->line[1], height * sizeof (char *) / 2);
+       jpegenc->line[2] =
+           g_realloc (jpegenc->line[2], height * sizeof (char *) / 2);
       }
 
       GST_DEBUG ("gst_jpegenc_resync: setting format done");
 #if 0
       break;
     default:
-      printf("gst_jpegenc_resync: unsupported colorspace, using RGB\n");
+      printf ("gst_jpegenc_resync: unsupported colorspace, using RGB\n");
       size = 3;
       jpegenc->cinfo.in_color_space = JCS_RGB;
       break;
   }
 #endif
-  jpegenc->bufsize = jpegenc->width*jpegenc->height*size;
+  jpegenc->bufsize = jpegenc->width * jpegenc->height * size;
 
-  jpeg_suppress_tables(&jpegenc->cinfo, TRUE);
+  jpeg_suppress_tables (&jpegenc->cinfo, TRUE);
   //jpeg_suppress_tables(&jpegenc->cinfo, FALSE);
 
   jpegenc->buffer = NULL;
@@ -335,17 +342,18 @@ gst_jpegenc_resync (GstJpegEnc *jpegenc)
 }
 
 static void
-gst_jpegenc_chain (GstPad *pad, GstData *_data)
+gst_jpegenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstJpegEnc *jpegenc;
   guchar *data, *outdata;
   gulong size, outsize;
   GstBuffer *outbuf;
+
 /*  GstMeta *meta; */
   guint height, width, width2;
   guchar *base[3];
-  gint i,j, k;
+  gint i, j, k;
 
   g_return_if_fail (pad != NULL);
   g_return_if_fail (GST_IS_PAD (pad));
@@ -355,53 +363,58 @@ gst_jpegenc_chain (GstPad *pad, GstData *_data)
   /*usleep(10000); */
   jpegenc = GST_JPEGENC (GST_OBJECT_PARENT (pad));
 
-  data = GST_BUFFER_DATA(buf);
-  size = GST_BUFFER_SIZE(buf);
+  data = GST_BUFFER_DATA (buf);
+  size = GST_BUFFER_SIZE (buf);
 
-  GST_DEBUG ("gst_jpegenc_chain: got buffer of %ld bytes in '%s'",size,
-          GST_OBJECT_NAME (jpegenc));
+  GST_DEBUG ("gst_jpegenc_chain: got buffer of %ld bytes in '%s'", size,
+      GST_OBJECT_NAME (jpegenc));
 
-  outbuf = gst_buffer_new();
-  outsize = GST_BUFFER_SIZE(outbuf) = jpegenc->bufsize;
-  outdata = GST_BUFFER_DATA(outbuf) = g_malloc(outsize);
-  GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf);
+  outbuf = gst_buffer_new ();
+  outsize = GST_BUFFER_SIZE (outbuf) = jpegenc->bufsize;
+  outdata = GST_BUFFER_DATA (outbuf) = g_malloc (outsize);
+  GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
 
   width = jpegenc->width;
   height = jpegenc->height;
 
   base[0] = data;
-  base[1] = base[0]+width*height;
-  base[2] = base[1]+width*height/4;
+  base[1] = base[0] + width * height;
+  base[2] = base[1] + width * height / 4;
 
   jpegenc->jdest.next_output_byte = outdata;
   jpegenc->jdest.free_in_buffer = outsize;
 
   jpegenc->cinfo.smoothing_factor = jpegenc->smoothing;
-  jpeg_set_quality(&jpegenc->cinfo, jpegenc->quality, TRUE);
-  jpeg_start_compress(&jpegenc->cinfo, TRUE);
+  jpeg_set_quality (&jpegenc->cinfo, jpegenc->quality, TRUE);
+  jpeg_start_compress (&jpegenc->cinfo, TRUE);
 
-  width2 = width>>1;
+  width2 = width >> 1;
   GST_DEBUG ("gst_jpegdec_chain: compressing");
 
-  for (i = 0; i < height; i += 2*DCTSIZE) {
-    for (j=0, k=0; j<2*DCTSIZE;j+=2, k++) {
-      jpegenc->line[0][j]   = base[0]; base[0] += width;
-      jpegenc->line[0][j+1] = base[0]; base[0] += width;
-      jpegenc->line[1][k]   = base[1]; base[1] += width2;
-      jpegenc->line[2][k]   = base[2]; base[2] += width2;
+  for (i = 0; i < height; i += 2 * DCTSIZE) {
+    for (j = 0, k = 0; j < 2 * DCTSIZE; j += 2, k++) {
+      jpegenc->line[0][j] = base[0];
+      base[0] += width;
+      jpegenc->line[0][j + 1] = base[0];
+      base[0] += width;
+      jpegenc->line[1][k] = base[1];
+      base[1] += width2;
+      jpegenc->line[2][k] = base[2];
+      base[2] += width2;
     }
-    jpeg_write_raw_data(&jpegenc->cinfo, jpegenc->line, 2*DCTSIZE);
+    jpeg_write_raw_data (&jpegenc->cinfo, jpegenc->line, 2 * DCTSIZE);
   }
-  jpeg_finish_compress(&jpegenc->cinfo);
+  jpeg_finish_compress (&jpegenc->cinfo);
   GST_DEBUG ("gst_jpegdec_chain: compressing done");
 
-  GST_BUFFER_SIZE(outbuf) = (((outsize - jpegenc->jdest.free_in_buffer)+3)&~3);
+  GST_BUFFER_SIZE (outbuf) =
+      (((outsize - jpegenc->jdest.free_in_buffer) + 3) & ~3);
 
-  gst_pad_push(jpegenc->srcpad, GST_DATA (outbuf));
+  gst_pad_push (jpegenc->srcpad, GST_DATA (outbuf));
 
-  g_signal_emit(G_OBJECT(jpegenc),gst_jpegenc_signals[FRAME_ENCODED], 0);
+  g_signal_emit (G_OBJECT (jpegenc), gst_jpegenc_signals[FRAME_ENCODED], 0);
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
 static void
@@ -412,7 +425,7 @@ gst_jpegenc_set_property (GObject * object, guint prop_id,
 
   g_return_if_fail (GST_IS_JPEGENC (object));
   jpegenc = GST_JPEGENC (object);
-  
+
   switch (prop_id) {
     case ARG_QUALITY:
       jpegenc->quality = g_value_get_int (value);
@@ -423,7 +436,7 @@ gst_jpegenc_set_property (GObject * object, guint prop_id,
     default:
       break;
   }
-} 
+}
 
 static void
 gst_jpegenc_get_property (GObject * object, guint prop_id, GValue * value,
@@ -446,4 +459,3 @@ gst_jpegenc_get_property (GObject * object, guint prop_id, GValue * value,
       break;
   }
 }
-
index b68b485..beeaf6f 100644 (file)
@@ -30,8 +30,9 @@
 #include <jpeglib.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_JPEGENC \
@@ -45,48 +46,50 @@ extern "C" {
 #define GST_IS_JPEGENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_JPEGENC))
 
-typedef struct _GstJpegEnc GstJpegEnc;
-typedef struct _GstJpegEncClass GstJpegEncClass;
+  typedef struct _GstJpegEnc GstJpegEnc;
+  typedef struct _GstJpegEncClass GstJpegEncClass;
 
-struct _GstJpegEnc {
-  GstElement element;
+  struct _GstJpegEnc
+  {
+    GstElement element;
 
-  /* pads */
-  GstPad *sinkpad,*srcpad;
+    /* pads */
+    GstPad *sinkpad, *srcpad;
 
-  /* video state */
-  gint format;
-  gint width;
-  gint height;
-  gdouble fps;
-  /* the video buffer */
-  gint bufsize;
-  GstBuffer *buffer;
-  guint row_stride;
-  /* the jpeg line buffer */
-  guchar **line[3];
+    /* video state */
+    gint format;
+    gint width;
+    gint height;
+    gdouble fps;
+    /* the video buffer */
+    gint bufsize;
+    GstBuffer *buffer;
+    guint row_stride;
+    /* the jpeg line buffer */
+    guchar **line[3];
 
-  struct jpeg_compress_struct cinfo;
-  struct jpeg_error_mgr jerr;
-  struct jpeg_destination_mgr jdest;
+    struct jpeg_compress_struct cinfo;
+    struct jpeg_error_mgr jerr;
+    struct jpeg_destination_mgr jdest;
 
-  int quality;
-  int smoothing;
-};
+    int quality;
+    int smoothing;
+  };
 
-struct _GstJpegEncClass {
-  GstElementClass parent_class;
+  struct _GstJpegEncClass
+  {
+    GstElementClass parent_class;
 
-  /* signals */
-  void (*frame_encoded) (GstElement *element);
-};
+    /* signals */
+    void (*frame_encoded) (GstElement * element);
+  };
 
-GType gst_jpegenc_get_type(void);
+  GType gst_jpegenc_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_JPEGENC_H__ */
+#endif                         /* __GST_JPEGENC_H__ */
index 020767f..4f6c1f0 100644 (file)
@@ -28,8 +28,8 @@
 #include <gst/audio/audio.h>
 
 #include "gstladspa.h"
-#include <ladspa.h>     /* main ladspa sdk include file */
-#include "utils.h"      /* ladspa sdk utility functions */
+#include <ladspa.h>            /* main ladspa sdk include file */
+#include "utils.h"             /* ladspa sdk utility functions */
 
 /* 1.0 and the 1.1 preliminary headers don't define a version, but 1.1 final
    does */
 static GstStaticCaps ladspa_pad_caps =
 GST_STATIC_CAPS (GST_AUDIO_FLOAT_STANDARD_PAD_TEMPLATE_CAPS);
 
-static void                    gst_ladspa_class_init           (GstLADSPAClass *klass);
-static void                    gst_ladspa_base_init            (GstLADSPAClass *klass);
-static void                    gst_ladspa_init                 (GstLADSPA *ladspa);
+static void gst_ladspa_class_init (GstLADSPAClass * klass);
+static void gst_ladspa_base_init (GstLADSPAClass * klass);
+static void gst_ladspa_init (GstLADSPA * ladspa);
 
-static void                    gst_ladspa_update_int           (const GValue *value, gpointer data);
-static GstPadLinkReturn                gst_ladspa_link                 (GstPad *pad, const GstCaps *caps);
+static void gst_ladspa_update_int (const GValue * value, gpointer data);
+static GstPadLinkReturn gst_ladspa_link (GstPad * pad, const GstCaps * caps);
 
-static void                    gst_ladspa_set_property         (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void                    gst_ladspa_get_property         (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_ladspa_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_ladspa_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static gboolean                        gst_ladspa_instantiate          (GstLADSPA *ladspa);
-static void                    gst_ladspa_activate             (GstLADSPA *ladspa);
-static void                    gst_ladspa_deactivate           (GstLADSPA *ladspa);
+static gboolean gst_ladspa_instantiate (GstLADSPA * ladspa);
+static void gst_ladspa_activate (GstLADSPA * ladspa);
+static void gst_ladspa_deactivate (GstLADSPA * ladspa);
 
-static GstElementStateReturn   gst_ladspa_change_state         (GstElement *element);
-static void                    gst_ladspa_loop                 (GstElement *element);
-static void                    gst_ladspa_chain                (GstPad *pad,GstData *_data);
-static GstData *               gst_ladspa_get                  (GstPad *pad);
+static GstElementStateReturn gst_ladspa_change_state (GstElement * element);
+static void gst_ladspa_loop (GstElement * element);
+static void gst_ladspa_chain (GstPad * pad, GstData * _data);
+static GstData *gst_ladspa_get (GstPad * pad);
 
 static GstElementClass *parent_class = NULL;
 
 static GstPlugin *ladspa_plugin;
 static GHashTable *ladspa_descriptors;
 
-enum {
+enum
+{
   ARG_0,
   ARG_SAMPLERATE,
   ARG_BUFFERSIZE,
@@ -78,38 +81,39 @@ GST_DEBUG_CATEGORY_STATIC (ladspa_debug);
     GST_CAT_LEVEL_LOG (ladspa_debug, GST_LEVEL_DEBUG, obj, __VA_ARGS__)
 
 static void
-gst_ladspa_base_init (GstLADSPAClass *klass)
+gst_ladspa_base_init (GstLADSPAClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstPadTemplate *templ;
   GstElementDetails *details;
   LADSPA_Descriptor *desc;
-  gint j, sinkcount,srccount;
+  gint j, sinkcount, srccount;
 
-  desc = g_hash_table_lookup(ladspa_descriptors,
-               GINT_TO_POINTER(G_TYPE_FROM_CLASS(klass)));
+  desc = g_hash_table_lookup (ladspa_descriptors,
+      GINT_TO_POINTER (G_TYPE_FROM_CLASS (klass)));
   if (!desc)
-    desc = g_hash_table_lookup(ladspa_descriptors, GINT_TO_POINTER(0));
+    desc = g_hash_table_lookup (ladspa_descriptors, GINT_TO_POINTER (0));
   g_assert (desc);
 
   /* pad templates */
   klass->numports = desc->PortCount;
   klass->numsinkpads = 0;
   klass->numsrcpads = 0;
-  for (j=0;j<desc->PortCount;j++) {
-    if (LADSPA_IS_PORT_AUDIO(desc->PortDescriptors[j])) {
-      gchar *name = g_strdup((gchar *)desc->PortNames[j]);
+  for (j = 0; j < desc->PortCount; j++) {
+    if (LADSPA_IS_PORT_AUDIO (desc->PortDescriptors[j])) {
+      gchar *name = g_strdup ((gchar *) desc->PortNames[j]);
+
       g_strcanon (name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
 
       /* the factories take ownership of the name */
-      if (LADSPA_IS_PORT_INPUT(desc->PortDescriptors[j])) {
-        templ = gst_pad_template_new (name, GST_PAD_SINK, GST_PAD_ALWAYS,
-            gst_caps_copy (gst_static_caps_get (&ladspa_pad_caps)));
-        klass->numsinkpads++;
+      if (LADSPA_IS_PORT_INPUT (desc->PortDescriptors[j])) {
+       templ = gst_pad_template_new (name, GST_PAD_SINK, GST_PAD_ALWAYS,
+           gst_caps_copy (gst_static_caps_get (&ladspa_pad_caps)));
+       klass->numsinkpads++;
       } else {
-        templ = gst_pad_template_new (name, GST_PAD_SRC, GST_PAD_ALWAYS,
-            gst_caps_copy (gst_static_caps_get (&ladspa_pad_caps)));
-        klass->numsrcpads++;
+       templ = gst_pad_template_new (name, GST_PAD_SRC, GST_PAD_ALWAYS,
+           gst_caps_copy (gst_static_caps_get (&ladspa_pad_caps)));
+       klass->numsrcpads++;
       }
 
       gst_element_class_add_pad_template (element_class, templ);
@@ -117,28 +121,32 @@ gst_ladspa_base_init (GstLADSPAClass *klass)
   }
 
   /* construct the element details struct */
-  details = g_new0(GstElementDetails,1);
-  details->longname = g_strdup(desc->Name);
+  details = g_new0 (GstElementDetails, 1);
+  details->longname = g_strdup (desc->Name);
   details->description = details->longname;
-  details->author = g_strdup(desc->Maker);
-  if     ((klass->numsinkpads >0) && (klass->numsrcpads >0)) details->klass = "Filter/Effect/Audio/LADSPA";
-  else if((klass->numsinkpads==0) && (klass->numsrcpads >0)) details->klass = "Source/Audio/LADSPA";
-  else if((klass->numsinkpads >0) && (klass->numsrcpads==0)) details->klass = "Sink/Audio/LADSPA";
-  else details->klass = "Filter/Effect/Audio/LADSPA"; /* whatever this is */
+  details->author = g_strdup (desc->Maker);
+  if ((klass->numsinkpads > 0) && (klass->numsrcpads > 0))
+    details->klass = "Filter/Effect/Audio/LADSPA";
+  else if ((klass->numsinkpads == 0) && (klass->numsrcpads > 0))
+    details->klass = "Source/Audio/LADSPA";
+  else if ((klass->numsinkpads > 0) && (klass->numsrcpads == 0))
+    details->klass = "Sink/Audio/LADSPA";
+  else
+    details->klass = "Filter/Effect/Audio/LADSPA";     /* whatever this is */
   gst_element_class_set_details (element_class, details);
 
-  klass->srcpad_portnums = g_new0(gint,klass->numsrcpads);
-  klass->sinkpad_portnums = g_new0(gint,klass->numsinkpads);
+  klass->srcpad_portnums = g_new0 (gint, klass->numsrcpads);
+  klass->sinkpad_portnums = g_new0 (gint, klass->numsinkpads);
   sinkcount = 0;
   srccount = 0;
 
   /* walk through the ports, note the portnums for srcpads, sinkpads */
-  for (j=0; j<desc->PortCount; j++) {
-    if (LADSPA_IS_PORT_AUDIO(desc->PortDescriptors[j])) {
-      if (LADSPA_IS_PORT_INPUT(desc->PortDescriptors[j]))
-        klass->sinkpad_portnums[sinkcount++] = j;
+  for (j = 0; j < desc->PortCount; j++) {
+    if (LADSPA_IS_PORT_AUDIO (desc->PortDescriptors[j])) {
+      if (LADSPA_IS_PORT_INPUT (desc->PortDescriptors[j]))
+       klass->sinkpad_portnums[sinkcount++] = j;
       else
-        klass->srcpad_portnums[srccount++] = j;
+       klass->srcpad_portnums[srccount++] = j;
     }
   }
 
@@ -146,19 +154,19 @@ gst_ladspa_base_init (GstLADSPAClass *klass)
 }
 
 static void
-gst_ladspa_class_init (GstLADSPAClass *klass)
+gst_ladspa_class_init (GstLADSPAClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
   LADSPA_Descriptor *desc;
-  gint i,current_portnum,controlcount;
+  gint i, current_portnum, controlcount;
   gint hintdesc;
-  gint argtype,argperms;
+  gint argtype, argperms;
   GParamSpec *paramspec = NULL;
   gchar *argname, *tempstr, *paren;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   gobject_class->set_property = gst_ladspa_set_property;
   gobject_class->get_property = gst_ladspa_get_property;
@@ -166,78 +174,85 @@ gst_ladspa_class_init (GstLADSPAClass *klass)
   gstelement_class->change_state = gst_ladspa_change_state;
 
   /* look up and store the ladspa descriptor */
-  desc = g_hash_table_lookup(ladspa_descriptors,
-               GINT_TO_POINTER(G_TYPE_FROM_CLASS(klass)));
+  desc = g_hash_table_lookup (ladspa_descriptors,
+      GINT_TO_POINTER (G_TYPE_FROM_CLASS (klass)));
   if (!desc)
-    desc = g_hash_table_lookup(ladspa_descriptors, GINT_TO_POINTER(0));
+    desc = g_hash_table_lookup (ladspa_descriptors, GINT_TO_POINTER (0));
   g_assert (desc);
 
   klass->numcontrols = 0;
 
   /* walk through the ports, count the input, output and control ports */
-  for (i=0; i<desc->PortCount; i++) {
-    if (!LADSPA_IS_PORT_AUDIO(desc->PortDescriptors[i]) &&
-        LADSPA_IS_PORT_INPUT(desc->PortDescriptors[i]))
+  for (i = 0; i < desc->PortCount; i++) {
+    if (!LADSPA_IS_PORT_AUDIO (desc->PortDescriptors[i]) &&
+       LADSPA_IS_PORT_INPUT (desc->PortDescriptors[i]))
       klass->numcontrols++;
   }
 
   DEBUG ("ladspa element class: init %s with %d sink, %d src, %d control\n",
-         g_type_name (G_TYPE_FROM_CLASS (klass)),
-         klass->numsinkpads, klass->numsrcpads, klass->numcontrols);
+      g_type_name (G_TYPE_FROM_CLASS (klass)),
+      klass->numsinkpads, klass->numsrcpads, klass->numcontrols);
 
-  klass->control_portnums = g_new0(gint,klass->numcontrols);
+  klass->control_portnums = g_new0 (gint, klass->numcontrols);
   controlcount = 0;
 
   /* walk through the ports, note the portnums for control params */
-  for (i=0; i<desc->PortCount; i++) {
-    if (!LADSPA_IS_PORT_AUDIO(desc->PortDescriptors[i]) &&
-        LADSPA_IS_PORT_INPUT(desc->PortDescriptors[i]))
+  for (i = 0; i < desc->PortCount; i++) {
+    if (!LADSPA_IS_PORT_AUDIO (desc->PortDescriptors[i]) &&
+       LADSPA_IS_PORT_INPUT (desc->PortDescriptors[i]))
       klass->control_portnums[controlcount++] = i;
   }
 
   /* now build the control info from the control ports */
-  klass->control_info = g_new0(ladspa_control_info,klass->numcontrols);
-    
-  for (i=0;i<klass->numcontrols;i++) {
+  klass->control_info = g_new0 (ladspa_control_info, klass->numcontrols);
+
+  for (i = 0; i < klass->numcontrols; i++) {
     current_portnum = klass->control_portnums[i];
-    
+
     /* short name for hint descriptor */
     hintdesc = desc->PortRangeHints[current_portnum].HintDescriptor;
 
     /* get the various bits */
-    if (LADSPA_IS_HINT_TOGGLED(hintdesc))
+    if (LADSPA_IS_HINT_TOGGLED (hintdesc))
       klass->control_info[i].toggled = TRUE;
-    if (LADSPA_IS_HINT_LOGARITHMIC(hintdesc))
+    if (LADSPA_IS_HINT_LOGARITHMIC (hintdesc))
       klass->control_info[i].logarithmic = TRUE;
-    if (LADSPA_IS_HINT_INTEGER(hintdesc))
+    if (LADSPA_IS_HINT_INTEGER (hintdesc))
       klass->control_info[i].integer = TRUE;
 
     /* figure out the argument details */
-    if (klass->control_info[i].toggled) argtype = G_TYPE_BOOLEAN;
-    else if (klass->control_info[i].integer) argtype = G_TYPE_INT;
-    else argtype = G_TYPE_FLOAT;
+    if (klass->control_info[i].toggled)
+      argtype = G_TYPE_BOOLEAN;
+    else if (klass->control_info[i].integer)
+      argtype = G_TYPE_INT;
+    else
+      argtype = G_TYPE_FLOAT;
 
     /* grab the bounds */
-    if (LADSPA_IS_HINT_BOUNDED_BELOW(hintdesc)) {
+    if (LADSPA_IS_HINT_BOUNDED_BELOW (hintdesc)) {
       klass->control_info[i].lower = TRUE;
       klass->control_info[i].lowerbound =
-        desc->PortRangeHints[current_portnum].LowerBound;
+         desc->PortRangeHints[current_portnum].LowerBound;
     } else {
-      if (argtype==G_TYPE_INT) klass->control_info[i].lowerbound = (gfloat)G_MININT;
-      if (argtype==G_TYPE_FLOAT) klass->control_info[i].lowerbound = -G_MAXFLOAT;
+      if (argtype == G_TYPE_INT)
+       klass->control_info[i].lowerbound = (gfloat) G_MININT;
+      if (argtype == G_TYPE_FLOAT)
+       klass->control_info[i].lowerbound = -G_MAXFLOAT;
     }
-    
-    if (LADSPA_IS_HINT_BOUNDED_ABOVE(hintdesc)) {
+
+    if (LADSPA_IS_HINT_BOUNDED_ABOVE (hintdesc)) {
       klass->control_info[i].upper = TRUE;
       klass->control_info[i].upperbound =
-        desc->PortRangeHints[current_portnum].UpperBound;
-      if (LADSPA_IS_HINT_SAMPLE_RATE(hintdesc)) {
-        klass->control_info[i].samplerate = TRUE;
-        klass->control_info[i].upperbound *= 44100; /* FIXME? */
+         desc->PortRangeHints[current_portnum].UpperBound;
+      if (LADSPA_IS_HINT_SAMPLE_RATE (hintdesc)) {
+       klass->control_info[i].samplerate = TRUE;
+       klass->control_info[i].upperbound *= 44100;     /* FIXME? */
       }
     } else {
-      if (argtype==G_TYPE_INT) klass->control_info[i].upperbound = (gfloat)G_MAXINT;
-      if (argtype==G_TYPE_FLOAT) klass->control_info[i].upperbound = G_MAXFLOAT;
+      if (argtype == G_TYPE_INT)
+       klass->control_info[i].upperbound = (gfloat) G_MAXINT;
+      if (argtype == G_TYPE_FLOAT)
+       klass->control_info[i].upperbound = G_MAXFLOAT;
     }
 
     /* use the lowerbound as the default value */
@@ -247,46 +262,51 @@ gst_ladspa_class_init (GstLADSPAClass *klass)
     /* figure out the defaults */
     if (LADSPA_IS_HINT_HAS_DEFAULT (hintdesc)) {
       if (LADSPA_IS_HINT_DEFAULT_MINIMUM (hintdesc))
-        klass->control_info[i].def = klass->control_info[i].lowerbound;
+       klass->control_info[i].def = klass->control_info[i].lowerbound;
       else if (LADSPA_IS_HINT_DEFAULT_LOW (hintdesc))
-        if (LADSPA_IS_HINT_LOGARITHMIC (hintdesc))
-          klass->control_info[i].def = exp (0.75*log(klass->control_info[i].lowerbound) +
-                                                0.25*log(klass->control_info[i].upperbound));
-        else
-          klass->control_info[i].def = (0.75*klass->control_info[i].lowerbound +
-                                            0.25*klass->control_info[i].upperbound);
+       if (LADSPA_IS_HINT_LOGARITHMIC (hintdesc))
+         klass->control_info[i].def =
+             exp (0.75 * log (klass->control_info[i].lowerbound) +
+             0.25 * log (klass->control_info[i].upperbound));
+       else
+         klass->control_info[i].def =
+             (0.75 * klass->control_info[i].lowerbound +
+             0.25 * klass->control_info[i].upperbound);
       else if (LADSPA_IS_HINT_DEFAULT_MIDDLE (hintdesc))
-        if (LADSPA_IS_HINT_LOGARITHMIC (hintdesc))
-          klass->control_info[i].def = exp (0.5*log(klass->control_info[i].lowerbound) +
-                                                0.5*log(klass->control_info[i].upperbound));
-        else
-          klass->control_info[i].def = (0.5*klass->control_info[i].lowerbound +
-                                            0.5*klass->control_info[i].upperbound);
+       if (LADSPA_IS_HINT_LOGARITHMIC (hintdesc))
+         klass->control_info[i].def =
+             exp (0.5 * log (klass->control_info[i].lowerbound) +
+             0.5 * log (klass->control_info[i].upperbound));
+       else
+         klass->control_info[i].def =
+             (0.5 * klass->control_info[i].lowerbound +
+             0.5 * klass->control_info[i].upperbound);
       else if (LADSPA_IS_HINT_DEFAULT_HIGH (hintdesc))
-        if (LADSPA_IS_HINT_LOGARITHMIC (hintdesc))
-          klass->control_info[i].def = exp (0.25*log(klass->control_info[i].lowerbound) +
-                                                0.75*log(klass->control_info[i].upperbound));
-        else
-          klass->control_info[i].def = (0.25*klass->control_info[i].lowerbound +
-                                            0.75*klass->control_info[i].upperbound);
+       if (LADSPA_IS_HINT_LOGARITHMIC (hintdesc))
+         klass->control_info[i].def =
+             exp (0.25 * log (klass->control_info[i].lowerbound) +
+             0.75 * log (klass->control_info[i].upperbound));
+       else
+         klass->control_info[i].def =
+             (0.25 * klass->control_info[i].lowerbound +
+             0.75 * klass->control_info[i].upperbound);
       else if (LADSPA_IS_HINT_DEFAULT_MAXIMUM (hintdesc))
-        klass->control_info[i].def = klass->control_info[i].upperbound;
+       klass->control_info[i].def = klass->control_info[i].upperbound;
       else if (LADSPA_IS_HINT_DEFAULT_0 (hintdesc))
-        klass->control_info[i].def = 0.0;
+       klass->control_info[i].def = 0.0;
       else if (LADSPA_IS_HINT_DEFAULT_1 (hintdesc))
-        klass->control_info[i].def = 1.0;
+       klass->control_info[i].def = 1.0;
       else if (LADSPA_IS_HINT_DEFAULT_100 (hintdesc))
-        klass->control_info[i].def = 100.0;
+       klass->control_info[i].def = 100.0;
       else if (LADSPA_IS_HINT_DEFAULT_440 (hintdesc))
-        klass->control_info[i].def = 440.0;
+       klass->control_info[i].def = 440.0;
     }
 #endif /* LADSPA_IS_HINT_HAS_DEFAULT */
 
-    klass->control_info[i].def = CLAMP(klass->control_info[i].def,
-                                       klass->control_info[i].lowerbound,
-                                       klass->control_info[i].upperbound);
-    
-    if (LADSPA_IS_PORT_INPUT(desc->PortDescriptors[current_portnum])) {
+    klass->control_info[i].def = CLAMP (klass->control_info[i].def,
+       klass->control_info[i].lowerbound, klass->control_info[i].upperbound);
+
+    if (LADSPA_IS_PORT_INPUT (desc->PortDescriptors[current_portnum])) {
       argperms = G_PARAM_READWRITE;
       klass->control_info[i].writable = TRUE;
     } else {
@@ -294,8 +314,8 @@ gst_ladspa_class_init (GstLADSPAClass *klass)
       klass->control_info[i].writable = FALSE;
     }
 
-    klass->control_info[i].name = g_strdup(desc->PortNames[current_portnum]);
-    argname = g_strdup(klass->control_info[i].name);
+    klass->control_info[i].name = g_strdup (desc->PortNames[current_portnum]);
+    argname = g_strdup (klass->control_info[i].name);
     /* find out if there is a (unitname) at the end of the argname and get rid
        of it */
     paren = g_strrstr (argname, " (");
@@ -305,123 +325,120 @@ gst_ladspa_class_init (GstLADSPAClass *klass)
     /* this is the same thing that param_spec_* will do */
     g_strcanon (argname, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
     /* satisfy glib2 (argname[0] must be [A-Za-z]) */
-    if (!((argname[0] >= 'a' && argname[0] <= 'z') || (argname[0] >= 'A' && argname[0] <= 'Z'))) {
+    if (!((argname[0] >= 'a' && argname[0] <= 'z') || (argname[0] >= 'A'
+               && argname[0] <= 'Z'))) {
       tempstr = argname;
-      argname = g_strconcat("param-", argname, NULL);
+      argname = g_strconcat ("param-", argname, NULL);
       g_free (tempstr);
     }
-    
+
     /* check for duplicate property names */
-    if (g_object_class_find_property(G_OBJECT_CLASS(klass), argname) != NULL){
-      gint numarg=1;
-      gchar *numargname = g_strdup_printf("%s_%d",argname,numarg++);
-      while (g_object_class_find_property(G_OBJECT_CLASS(klass), numargname) != NULL){
-        g_free(numargname);
-        numargname = g_strdup_printf("%s_%d",argname,numarg++);
+    if (g_object_class_find_property (G_OBJECT_CLASS (klass), argname) != NULL) {
+      gint numarg = 1;
+      gchar *numargname = g_strdup_printf ("%s_%d", argname, numarg++);
+
+      while (g_object_class_find_property (G_OBJECT_CLASS (klass),
+             numargname) != NULL) {
+       g_free (numargname);
+       numargname = g_strdup_printf ("%s_%d", argname, numarg++);
       }
       argname = numargname;
     }
-    
+
     klass->control_info[i].param_name = argname;
-    
+
     DEBUG ("adding arg %s from %s", argname, klass->control_info[i].name);
-    
-    if (argtype==G_TYPE_BOOLEAN){
-      paramspec = g_param_spec_boolean(argname,argname,argname, FALSE, argperms);
-    } else if (argtype==G_TYPE_INT){      
-      paramspec = g_param_spec_int(argname,argname,argname, 
-        (gint)klass->control_info[i].lowerbound, 
-        (gint)klass->control_info[i].upperbound, 
-        (gint)klass->control_info[i].def, argperms);
-    } else if (klass->control_info[i].samplerate){
-      paramspec = g_param_spec_float(argname,argname,argname, 
-        0.0, G_MAXFLOAT, 
-        0.0, argperms);
+
+    if (argtype == G_TYPE_BOOLEAN) {
+      paramspec =
+         g_param_spec_boolean (argname, argname, argname, FALSE, argperms);
+    } else if (argtype == G_TYPE_INT) {
+      paramspec = g_param_spec_int (argname, argname, argname,
+         (gint) klass->control_info[i].lowerbound,
+         (gint) klass->control_info[i].upperbound,
+         (gint) klass->control_info[i].def, argperms);
+    } else if (klass->control_info[i].samplerate) {
+      paramspec = g_param_spec_float (argname, argname, argname,
+         0.0, G_MAXFLOAT, 0.0, argperms);
     } else {
-      paramspec = g_param_spec_float(argname,argname,argname, 
-        klass->control_info[i].lowerbound, klass->control_info[i].upperbound, 
-        klass->control_info[i].def, argperms);
+      paramspec = g_param_spec_float (argname, argname, argname,
+         klass->control_info[i].lowerbound, klass->control_info[i].upperbound,
+         klass->control_info[i].def, argperms);
     }
-    
+
     /* properties have an offset of 1 */
-    g_object_class_install_property(G_OBJECT_CLASS(klass), i+1, paramspec);
+    g_object_class_install_property (G_OBJECT_CLASS (klass), i + 1, paramspec);
   }
 }
 
 static void
-gst_ladspa_init (GstLADSPA *ladspa)
+gst_ladspa_init (GstLADSPA * ladspa)
 {
   GstLADSPAClass *oclass;
   ladspa_control_info cinfo;
   GList *l;
   LADSPA_Descriptor *desc;
-  gint i,sinkcount,srccount;
+  gint i, sinkcount, srccount;
 
-  oclass = (GstLADSPAClass*)G_OBJECT_GET_CLASS (ladspa);
+  oclass = (GstLADSPAClass *) G_OBJECT_GET_CLASS (ladspa);
   desc = oclass->descriptor;
   ladspa->descriptor = oclass->descriptor;
-  
+
   /* allocate the various arrays */
-  ladspa->srcpads = g_new0(GstPad*,oclass->numsrcpads);
-  ladspa->sinkpads = g_new0(GstPad*,oclass->numsinkpads);
-  ladspa->controls = g_new(gfloat,oclass->numcontrols);
-  ladspa->dpman = gst_dpman_new ("ladspa_dpman", GST_ELEMENT(ladspa));
-  
+  ladspa->srcpads = g_new0 (GstPad *, oclass->numsrcpads);
+  ladspa->sinkpads = g_new0 (GstPad *, oclass->numsinkpads);
+  ladspa->controls = g_new (gfloat, oclass->numcontrols);
+  ladspa->dpman = gst_dpman_new ("ladspa_dpman", GST_ELEMENT (ladspa));
+
   /* set up pads */
   sinkcount = 0;
   srccount = 0;
-  for (l=GST_ELEMENT_CLASS (oclass)->padtemplates; l; l=l->next) {
+  for (l = GST_ELEMENT_CLASS (oclass)->padtemplates; l; l = l->next) {
     GstPad *pad = gst_pad_new_from_template (GST_PAD_TEMPLATE (l->data),
-                                             GST_PAD_TEMPLATE_NAME_TEMPLATE (l->data));
+       GST_PAD_TEMPLATE_NAME_TEMPLATE (l->data));
+
     gst_pad_set_link_function (pad, gst_ladspa_link);
-    gst_element_add_pad ((GstElement*)ladspa, pad);
+    gst_element_add_pad ((GstElement *) ladspa, pad);
 
     if (GST_PAD_DIRECTION (pad) == GST_PAD_SINK)
       ladspa->sinkpads[sinkcount++] = pad;
     else
       ladspa->srcpads[srccount++] = pad;
   }
-  
+
   /* set up dparams */
-  for (i=0; i<oclass->numcontrols; i++) {
-    if (LADSPA_IS_PORT_INPUT(desc->PortDescriptors[i])) {
+  for (i = 0; i < oclass->numcontrols; i++) {
+    if (LADSPA_IS_PORT_INPUT (desc->PortDescriptors[i])) {
       cinfo = oclass->control_info[i];
-      ladspa->controls[i]=cinfo.def;
-      
-      if (cinfo.toggled){
-        gst_dpman_add_required_dparam_callback (
-          ladspa->dpman, 
-          g_param_spec_int(cinfo.param_name, cinfo.name, cinfo.name,
-                           0, 1, (gint)(ladspa->controls[i]), G_PARAM_READWRITE),
-          "int", gst_ladspa_update_int, &(ladspa->controls[i])
-        );
-      }
-      else if (cinfo.integer){
-        gst_dpman_add_required_dparam_callback (
-          ladspa->dpman, 
-          g_param_spec_int(cinfo.param_name, cinfo.name, cinfo.name,
-                           (gint)cinfo.lowerbound, (gint)cinfo.upperbound,
-                           (gint)ladspa->controls[i], G_PARAM_READWRITE),
-          "int", gst_ladspa_update_int, &(ladspa->controls[i])
-        );
-      }
-      else if (cinfo.samplerate){
-        gst_dpman_add_required_dparam_direct (
-          ladspa->dpman, 
-          g_param_spec_float(cinfo.param_name, cinfo.name, cinfo.name,
-                           cinfo.lowerbound, cinfo.upperbound,
-                           ladspa->controls[i], G_PARAM_READWRITE),
-          "hertz-rate-bound", &(ladspa->controls[i])
-        );
-      }
-      else {
-        gst_dpman_add_required_dparam_direct (
-          ladspa->dpman, 
-          g_param_spec_float(cinfo.param_name, cinfo.name, cinfo.name,
-                           cinfo.lowerbound, cinfo.upperbound,
-                           ladspa->controls[i], G_PARAM_READWRITE),
-          "float", &(ladspa->controls[i])
-        );
+      ladspa->controls[i] = cinfo.def;
+
+      if (cinfo.toggled) {
+       gst_dpman_add_required_dparam_callback (ladspa->dpman,
+           g_param_spec_int (cinfo.param_name, cinfo.name, cinfo.name,
+               0, 1, (gint) (ladspa->controls[i]), G_PARAM_READWRITE),
+           "int", gst_ladspa_update_int, &(ladspa->controls[i])
+           );
+      } else if (cinfo.integer) {
+       gst_dpman_add_required_dparam_callback (ladspa->dpman,
+           g_param_spec_int (cinfo.param_name, cinfo.name, cinfo.name,
+               (gint) cinfo.lowerbound, (gint) cinfo.upperbound,
+               (gint) ladspa->controls[i], G_PARAM_READWRITE),
+           "int", gst_ladspa_update_int, &(ladspa->controls[i])
+           );
+      } else if (cinfo.samplerate) {
+       gst_dpman_add_required_dparam_direct (ladspa->dpman,
+           g_param_spec_float (cinfo.param_name, cinfo.name, cinfo.name,
+               cinfo.lowerbound, cinfo.upperbound,
+               ladspa->controls[i], G_PARAM_READWRITE),
+           "hertz-rate-bound", &(ladspa->controls[i])
+           );
+      } else {
+       gst_dpman_add_required_dparam_direct (ladspa->dpman,
+           g_param_spec_float (cinfo.param_name, cinfo.name, cinfo.name,
+               cinfo.lowerbound, cinfo.upperbound,
+               ladspa->controls[i], G_PARAM_READWRITE),
+           "float", &(ladspa->controls[i])
+           );
       }
     }
   }
@@ -429,58 +446,62 @@ gst_ladspa_init (GstLADSPA *ladspa)
   /* nonzero default needed to instantiate() some plugins */
   ladspa->samplerate = 44100;
 
-  ladspa->buffer_frames = 0; /* should be set with caps */
+  ladspa->buffer_frames = 0;   /* should be set with caps */
   ladspa->activated = FALSE;
-  ladspa->inplace_broken = LADSPA_IS_INPLACE_BROKEN(ladspa->descriptor->Properties);
+  ladspa->inplace_broken =
+      LADSPA_IS_INPLACE_BROKEN (ladspa->descriptor->Properties);
 
-  if (sinkcount==0 && srccount == 1) {
+  if (sinkcount == 0 && srccount == 1) {
     /* get mode (no sink pads) */
     DEBUG_OBJ (ladspa, "mono get mode with 1 src pad");
 
     gst_pad_set_get_function (ladspa->srcpads[0], gst_ladspa_get);
-  } else if (sinkcount==1){
+  } else if (sinkcount == 1) {
     /* with one sink we can use the chain function */
     DEBUG_OBJ (ladspa, "chain mode");
 
     gst_pad_set_chain_function (ladspa->sinkpads[0], gst_ladspa_chain);
-  } else if (sinkcount > 1){
+  } else if (sinkcount > 1) {
     /* more than one sink pad needs loop mode */
-    DEBUG_OBJ (ladspa, "loop mode with %d sink pads and %d src pads", sinkcount, srccount);
+    DEBUG_OBJ (ladspa, "loop mode with %d sink pads and %d src pads", sinkcount,
+       srccount);
 
     gst_element_set_loop_function (GST_ELEMENT (ladspa), gst_ladspa_loop);
-  } else if (sinkcount==0 && srccount == 0) {
+  } else if (sinkcount == 0 && srccount == 0) {
     /* for example, a plugin with only control inputs and output -- just ignore
      * it for now */
   } else {
-    g_warning ("%d sink pads, %d src pads not yet supported", sinkcount, srccount);
+    g_warning ("%d sink pads, %d src pads not yet supported", sinkcount,
+       srccount);
   }
 
   gst_ladspa_instantiate (ladspa);
 }
 
 static void
-gst_ladspa_update_int(const GValue *value, gpointer data)
+gst_ladspa_update_int (const GValue * value, gpointer data)
 {
-  gfloat *target = (gfloat*) data;
-  *target = (gfloat)g_value_get_int(value);
+  gfloat *target = (gfloat *) data;
+
+  *target = (gfloat) g_value_get_int (value);
 }
 
 static GstPadLinkReturn
-gst_ladspa_link (GstPad *pad, const GstCaps *caps)
+gst_ladspa_link (GstPad * pad, const GstCaps * caps)
 {
-  GstElement *element = (GstElement*)GST_PAD_PARENT (pad);
-  GstLADSPA *ladspa = (GstLADSPA*)element;
+  GstElement *element = (GstElement *) GST_PAD_PARENT (pad);
+  GstLADSPA *ladspa = (GstLADSPA *) element;
   const GList *l = NULL;
   gint rate;
   GstStructure *structure;
 
   /* if this fails in some other plugin, the graph is left in an inconsistent
      state */
-  for (l=gst_element_get_pad_list (element); l; l=l->next)
-    if (pad != (GstPad*)l->data)
-      if (gst_pad_try_set_caps ((GstPad*)l->data, caps) <= 0)
-        return GST_PAD_LINK_REFUSED;
-  
+  for (l = gst_element_get_pad_list (element); l; l = l->next)
+    if (pad != (GstPad *) l->data)
+      if (gst_pad_try_set_caps ((GstPad *) l->data, caps) <= 0)
+       return GST_PAD_LINK_REFUSED;
+
   /* we assume that the ladspa plugin can handle any sample rate, so this
      check gets put last */
   structure = gst_caps_get_structure (caps, 0);
@@ -488,48 +509,46 @@ gst_ladspa_link (GstPad *pad, const GstCaps *caps)
   /* have to instantiate ladspa plugin when samplerate changes (groan) */
   if (ladspa->samplerate != rate) {
     ladspa->samplerate = rate;
-    if (! gst_ladspa_instantiate(ladspa))
+    if (!gst_ladspa_instantiate (ladspa))
       return GST_PAD_LINK_REFUSED;
   }
-  
-  gst_structure_get_int  (structure, "buffer-frames", &ladspa->buffer_frames);
-  
+
+  gst_structure_get_int (structure, "buffer-frames", &ladspa->buffer_frames);
+
   return GST_PAD_LINK_OK;
 }
 
 #if 0
 static void
-gst_ladspa_force_src_caps(GstLADSPA *ladspa, GstPad *pad)
+gst_ladspa_force_src_caps (GstLADSPA * ladspa, GstPad * pad)
 {
   if (!ladspa->buffer_frames) {
-    ladspa->buffer_frames = 256; /* 5 ms at 44100 kHz (just a default...) */
+    ladspa->buffer_frames = 256;       /* 5 ms at 44100 kHz (just a default...) */
   }
 
   DEBUG_OBJ (ladspa, "forcing caps with rate=%d, buffer-frames=%d",
-             ladspa->samplerate, ladspa->buffer_frames);
+      ladspa->samplerate, ladspa->buffer_frames);
 
   gst_pad_try_set_caps (pad,
-    gst_caps_new (
-    "ladspa_src_caps",
-    "audio/x-raw-float",
-    gst_props_new (
-      "width",          G_TYPE_INT (32),
-      "endianness",     G_TYPE_INT (G_BYTE_ORDER),
-      "rate",           G_TYPE_INT (ladspa->samplerate),
-      "buffer-frames", G_TYPE_INT (ladspa->buffer_frames),
-      "channels",      G_TYPE_INT (1),
-      NULL)));
+      gst_caps_new ("ladspa_src_caps",
+         "audio/x-raw-float",
+         gst_props_new ("width", G_TYPE_INT (32),
+             "endianness", G_TYPE_INT (G_BYTE_ORDER),
+             "rate", G_TYPE_INT (ladspa->samplerate),
+             "buffer-frames", G_TYPE_INT (ladspa->buffer_frames),
+             "channels", G_TYPE_INT (1), NULL)));
 }
 #endif
 
 static void
-gst_ladspa_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_ladspa_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
-  GstLADSPA *ladspa = (GstLADSPA*)object;
+  GstLADSPA *ladspa = (GstLADSPA *) object;
   GstLADSPAClass *oclass;
   ladspa_control_info *control_info;
 
-  oclass = (GstLADSPAClass*)(G_OBJECT_GET_CLASS (object));
+  oclass = (GstLADSPAClass *) (G_OBJECT_GET_CLASS (object));
 
   /* remember, properties have an offset of 1 */
   prop_id--;
@@ -551,14 +570,16 @@ gst_ladspa_set_property (GObject *object, guint prop_id, const GValue *value, GP
   else
     ladspa->controls[prop_id] = g_value_get_float (value);
 
-  DEBUG_OBJ (object, "set arg %s to %f", control_info->name, ladspa->controls[prop_id]);
+  DEBUG_OBJ (object, "set arg %s to %f", control_info->name,
+      ladspa->controls[prop_id]);
 }
 
 static void
-gst_ladspa_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_ladspa_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
-  GstLADSPA *ladspa = (GstLADSPA*)object;
-  GstLADSPAClass *oclass = (GstLADSPAClass*)(G_OBJECT_GET_CLASS (object));
+  GstLADSPA *ladspa = (GstLADSPA *) object;
+  GstLADSPAClass *oclass = (GstLADSPAClass *) (G_OBJECT_GET_CLASS (object));
   ladspa_control_info *control_info;
 
   /* remember, properties have an offset of 1 */
@@ -574,62 +595,63 @@ gst_ladspa_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
   if (control_info->toggled)
     g_value_set_boolean (value, ladspa->controls[prop_id] == 1.0);
   else if (control_info->integer)
-    g_value_set_int (value, (gint)ladspa->controls[prop_id]);
+    g_value_set_int (value, (gint) ladspa->controls[prop_id]);
   else
     g_value_set_float (value, ladspa->controls[prop_id]);
 
-  DEBUG_OBJ (object, "got arg %s as %f", control_info->name, ladspa->controls[prop_id]);
+  DEBUG_OBJ (object, "got arg %s as %f", control_info->name,
+      ladspa->controls[prop_id]);
 }
 
 static gboolean
-gst_ladspa_instantiate (GstLADSPA *ladspa)
+gst_ladspa_instantiate (GstLADSPA * ladspa)
 {
   LADSPA_Descriptor *desc;
   int i;
-  GstLADSPAClass *oclass = (GstLADSPAClass*)(G_OBJECT_GET_CLASS (ladspa));
+  GstLADSPAClass *oclass = (GstLADSPAClass *) (G_OBJECT_GET_CLASS (ladspa));
   gboolean was_activated;
-  
+
   desc = ladspa->descriptor;
-  
+
   /* check for old handle */
   was_activated = ladspa->activated;
-  if (ladspa->handle != NULL){
-    gst_ladspa_deactivate(ladspa);
-    desc->cleanup(ladspa->handle);
+  if (ladspa->handle != NULL) {
+    gst_ladspa_deactivate (ladspa);
+    desc->cleanup (ladspa->handle);
   }
-        
-  /* instantiate the plugin */ 
+
+  /* instantiate the plugin */
   DEBUG_OBJ (ladspa, "instantiating the plugin at %d Hz", ladspa->samplerate);
-  
-  ladspa->handle = desc->instantiate(desc,ladspa->samplerate);
+
+  ladspa->handle = desc->instantiate (desc, ladspa->samplerate);
   g_return_val_if_fail (ladspa->handle != NULL, FALSE);
 
   /* connect the control ports */
-  for (i=0;i<oclass->numcontrols;i++)
-    desc->connect_port(ladspa->handle,
-                       oclass->control_portnums[i],
-                       &(ladspa->controls[i]));
+  for (i = 0; i < oclass->numcontrols; i++)
+    desc->connect_port (ladspa->handle,
+       oclass->control_portnums[i], &(ladspa->controls[i]));
 
   /* reactivate if it was activated before the reinstantiation */
   if (was_activated)
-    gst_ladspa_activate(ladspa);
+    gst_ladspa_activate (ladspa);
 
   return TRUE;
 }
 
 static GstElementStateReturn
-gst_ladspa_change_state (GstElement *element)
+gst_ladspa_change_state (GstElement * element)
 {
   LADSPA_Descriptor *desc;
-  GstLADSPA *ladspa = (GstLADSPA*)element;
+  GstLADSPA *ladspa = (GstLADSPA *) element;
+
   desc = ladspa->descriptor;
 
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
-      gst_ladspa_activate(ladspa);
+      gst_ladspa_activate (ladspa);
       break;
     case GST_STATE_READY_TO_NULL:
-      gst_ladspa_deactivate(ladspa);
+      gst_ladspa_deactivate (ladspa);
       break;
     default:
       break;
@@ -642,104 +664,109 @@ gst_ladspa_change_state (GstElement *element)
 }
 
 static void
-gst_ladspa_activate (GstLADSPA *ladspa)
+gst_ladspa_activate (GstLADSPA * ladspa)
 {
   LADSPA_Descriptor *desc;
+
   desc = ladspa->descriptor;
-  
+
   if (ladspa->activated)
-    gst_ladspa_deactivate(ladspa);
-  
+    gst_ladspa_deactivate (ladspa);
+
   DEBUG_OBJ (ladspa, "activating");
 
   /* activate the plugin (function might be null) */
   if (desc->activate != NULL)
-    desc->activate(ladspa->handle);
+    desc->activate (ladspa->handle);
 
   ladspa->activated = TRUE;
 }
 
 static void
-gst_ladspa_deactivate (GstLADSPA *ladspa)
+gst_ladspa_deactivate (GstLADSPA * ladspa)
 {
   LADSPA_Descriptor *desc;
+
   desc = ladspa->descriptor;
 
   DEBUG_OBJ (ladspa, "deactivating");
 
   /* deactivate the plugin (function might be null) */
   if (ladspa->activated && (desc->deactivate != NULL))
-    desc->deactivate(ladspa->handle);
+    desc->deactivate (ladspa->handle);
 
   ladspa->activated = FALSE;
 }
 
 static void
-gst_ladspa_loop (GstElement *element)
+gst_ladspa_loop (GstElement * element)
 {
-  guint        i, j, numsrcpads, numsinkpads;
-  guint        num_processed, num_to_process;
-  gint         largest_buffer;
-  LADSPA_Data  **data_in, **data_out;
-  GstBuffer    **buffers_in, **buffers_out;
-  GstLADSPA       *ladspa = (GstLADSPA *)element;
-  GstLADSPAClass  *oclass = (GstLADSPAClass*)(G_OBJECT_GET_CLASS (ladspa));
+  guint i, j, numsrcpads, numsinkpads;
+  guint num_processed, num_to_process;
+  gint largest_buffer;
+  LADSPA_Data **data_in, **data_out;
+  GstBuffer **buffers_in, **buffers_out;
+
+  GstLADSPA *ladspa = (GstLADSPA *) element;
+  GstLADSPAClass *oclass = (GstLADSPAClass *) (G_OBJECT_GET_CLASS (ladspa));
   LADSPA_Descriptor *desc = ladspa->descriptor;
 
   numsinkpads = oclass->numsinkpads;
   numsrcpads = oclass->numsrcpads;
-  
+
   /* fixme: these mallocs need to die */
-  data_in = g_new0(LADSPA_Data*, numsinkpads);
-  data_out = g_new0(LADSPA_Data*, numsrcpads);
-  buffers_in = g_new0(GstBuffer*, numsinkpads);
-  buffers_out = g_new0(GstBuffer*, numsrcpads);
-  
+  data_in = g_new0 (LADSPA_Data *, numsinkpads);
+  data_out = g_new0 (LADSPA_Data *, numsrcpads);
+  buffers_in = g_new0 (GstBuffer *, numsinkpads);
+  buffers_out = g_new0 (GstBuffer *, numsrcpads);
+
   largest_buffer = -1;
 
   /* first get all the necessary data from the input ports */
-  for (i=0 ; i<numsinkpads ; i++){  
+  for (i = 0; i < numsinkpads; i++) {
   get_buffer:
     buffers_in[i] = GST_BUFFER (gst_pad_pull (ladspa->sinkpads[i]));
-    
+
     if (GST_IS_EVENT (buffers_in[i])) {
       /* push it out on all pads */
-      gst_data_ref_by_count ((GstData*)buffers_in[i], numsrcpads);
-      for (j=0; j<numsrcpads; j++)
-        gst_pad_push (ladspa->srcpads[j], GST_DATA (buffers_in[i]));
+      gst_data_ref_by_count ((GstData *) buffers_in[i], numsrcpads);
+      for (j = 0; j < numsrcpads; j++)
+       gst_pad_push (ladspa->srcpads[j], GST_DATA (buffers_in[i]));
       if (GST_EVENT_TYPE (buffers_in[i]) == GST_EVENT_EOS) {
-        /* shut down */
-        gst_element_set_eos (element);
-        return;
+       /* shut down */
+       gst_element_set_eos (element);
+       return;
       } else {
-        goto get_buffer;
+       goto get_buffer;
       }
     }
 
     if (largest_buffer < 0)
-      largest_buffer = GST_BUFFER_SIZE (buffers_in[i])/sizeof(gfloat);
+      largest_buffer = GST_BUFFER_SIZE (buffers_in[i]) / sizeof (gfloat);
     else
-      largest_buffer = MIN (GST_BUFFER_SIZE (buffers_in[i])/sizeof(gfloat), largest_buffer);
-    data_in[i] = (LADSPA_Data *) GST_BUFFER_DATA(buffers_in[i]);
-    GST_BUFFER_TIMESTAMP(buffers_in[i]) = ladspa->timestamp;
+      largest_buffer =
+         MIN (GST_BUFFER_SIZE (buffers_in[i]) / sizeof (gfloat),
+         largest_buffer);
+    data_in[i] = (LADSPA_Data *) GST_BUFFER_DATA (buffers_in[i]);
+    GST_BUFFER_TIMESTAMP (buffers_in[i]) = ladspa->timestamp;
   }
 
-  i=0;
+  i = 0;
   if (!ladspa->inplace_broken) {
-    for (; i<numsrcpads && i<numsinkpads; i++) {
+    for (; i < numsrcpads && i < numsinkpads; i++) {
       /* reuse input buffers */
       buffers_out[i] = buffers_in[i];
       data_out[i] = data_in[i];
     }
   }
-  for (; i<numsrcpads; i++) {
-    buffers_out[i] = gst_buffer_new_and_alloc (ladspa->buffer_frames * sizeof(gfloat));
+  for (; i < numsrcpads; i++) {
+    buffers_out[i] =
+       gst_buffer_new_and_alloc (ladspa->buffer_frames * sizeof (gfloat));
     GST_BUFFER_TIMESTAMP (buffers_out[i]) = ladspa->timestamp;
-    data_out[i] = (LADSPA_Data*)GST_BUFFER_DATA (buffers_out[i]);
+    data_out[i] = (LADSPA_Data *) GST_BUFFER_DATA (buffers_out[i]);
   }
-  
-  GST_DPMAN_PREPROCESS(ladspa->dpman, largest_buffer, ladspa->timestamp);
+
+  GST_DPMAN_PREPROCESS (ladspa->dpman, largest_buffer, ladspa->timestamp);
   num_processed = 0;
 
   /* split up processing of the buffer into chunks so that dparams can
@@ -747,37 +774,39 @@ gst_ladspa_loop (GstElement *element)
    * In many cases the buffer will be processed in one chunk anyway.
    */
   while (GST_DPMAN_PROCESS (ladspa->dpman, num_processed)) {
-    num_to_process = GST_DPMAN_FRAMES_TO_PROCESS(ladspa->dpman);
+    num_to_process = GST_DPMAN_FRAMES_TO_PROCESS (ladspa->dpman);
 
-    for (i=0 ; i<numsinkpads ; i++)
-      desc->connect_port (ladspa->handle, oclass->sinkpad_portnums[i], data_in[i]);
-    for (i=0 ; i<numsrcpads ; i++)
-      desc->connect_port (ladspa->handle, oclass->srcpad_portnums[i], data_out[i]);
+    for (i = 0; i < numsinkpads; i++)
+      desc->connect_port (ladspa->handle, oclass->sinkpad_portnums[i],
+         data_in[i]);
+    for (i = 0; i < numsrcpads; i++)
+      desc->connect_port (ladspa->handle, oclass->srcpad_portnums[i],
+         data_out[i]);
 
-    desc->run(ladspa->handle, num_to_process);
+    desc->run (ladspa->handle, num_to_process);
 
-    for (i=0 ; i<numsinkpads ; i++)
+    for (i = 0; i < numsinkpads; i++)
       data_in[i] += num_to_process;
-    for (i=0 ; i<numsrcpads ; i++)
+    for (i = 0; i < numsrcpads; i++)
       data_out[i] += num_to_process;
-    
+
     num_processed += num_to_process;
   }
-    
-  for (i=0 ; i<numsinkpads ; i++) {
+
+  for (i = 0; i < numsinkpads; i++) {
     if (i >= numsrcpads || buffers_out[i] != buffers_in[i])
-      gst_buffer_unref(buffers_in[i]);
+      gst_buffer_unref (buffers_in[i]);
     data_in[i] = NULL;
     buffers_in[i] = NULL;
-  }      
-  for (i=0 ; i<numsrcpads ; i++) {
+  }
+  for (i = 0; i < numsrcpads; i++) {
     DEBUG_OBJ (ladspa, "pushing buffer (%p) on src pad %d", buffers_out[i], i);
     gst_pad_push (ladspa->srcpads[i], GST_DATA (buffers_out[i]));
-    
+
     data_out[i] = NULL;
     buffers_out[i] = NULL;
   }
-  
+
   ladspa->timestamp += ladspa->buffer_frames * GST_SECOND / ladspa->samplerate;
 
   /* FIXME: move these mallocs and frees to the state-change handler */
@@ -789,7 +818,7 @@ gst_ladspa_loop (GstElement *element)
 }
 
 static void
-gst_ladspa_chain (GstPad *pad, GstData *_data)
+gst_ladspa_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buffer_in = GST_BUFFER (_data);
   LADSPA_Descriptor *desc;
@@ -800,23 +829,23 @@ gst_ladspa_chain (GstPad *pad, GstData *_data)
   GstLADSPA *ladspa;
   GstLADSPAClass *oclass;
 
-  ladspa = (GstLADSPA*)GST_OBJECT_PARENT (pad);
+  ladspa = (GstLADSPA *) GST_OBJECT_PARENT (pad);
   oclass = (GstLADSPAClass *) (G_OBJECT_GET_CLASS (ladspa));
-  data_in = (LADSPA_Data *) GST_BUFFER_DATA(buffer_in);
-  num_samples = GST_BUFFER_SIZE(buffer_in) / sizeof(gfloat);
+  data_in = (LADSPA_Data *) GST_BUFFER_DATA (buffer_in);
+  num_samples = GST_BUFFER_SIZE (buffer_in) / sizeof (gfloat);
   numsrcpads = oclass->numsrcpads;
   desc = ladspa->descriptor;
 
   /* we shouldn't get events here... */
   g_return_if_fail (GST_IS_BUFFER (buffer_in));
-  
+
   /* FIXME: this function shouldn't need to malloc() anything */
   if (numsrcpads > 0) {
-    buffers_out = g_new(GstBuffer*, numsrcpads);
-    data_out = g_new(LADSPA_Data*, numsrcpads);
+    buffers_out = g_new (GstBuffer *, numsrcpads);
+    data_out = g_new (LADSPA_Data *, numsrcpads);
   }
 
-  i=0;
+  i = 0;
   if (!ladspa->inplace_broken && numsrcpads) {
     /* reuse the first (chained) buffer */
     buffers_out[i] = buffer_in;
@@ -824,54 +853,56 @@ gst_ladspa_chain (GstPad *pad, GstData *_data)
     data_out[i] = data_in;
     i++;
   }
-  for (; i<numsrcpads; i++) {
-    buffers_out[i] = gst_buffer_new_and_alloc (GST_BUFFER_SIZE(buffer_in));
+  for (; i < numsrcpads; i++) {
+    buffers_out[i] = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (buffer_in));
     DEBUG ("new %d", GST_BUFFER_SIZE (buffer_in));
     GST_BUFFER_TIMESTAMP (buffers_out[i]) = ladspa->timestamp;
-    data_out[i] = (LADSPA_Data*)GST_BUFFER_DATA (buffers_out[i]);
+    data_out[i] = (LADSPA_Data *) GST_BUFFER_DATA (buffers_out[i]);
   }
 
-  GST_DPMAN_PREPROCESS(ladspa->dpman, num_samples, GST_BUFFER_TIMESTAMP(buffer_in));
+  GST_DPMAN_PREPROCESS (ladspa->dpman, num_samples,
+      GST_BUFFER_TIMESTAMP (buffer_in));
   num_processed = 0;
 
   /* split up processing of the buffer into chunks so that dparams can
    * be updated when required.
    * In many cases the buffer will be processed in one chunk anyway.
    */
-  while(GST_DPMAN_PROCESS(ladspa->dpman, num_processed)) {
-    num_to_process = GST_DPMAN_FRAMES_TO_PROCESS(ladspa->dpman);
+  while (GST_DPMAN_PROCESS (ladspa->dpman, num_processed)) {
+    num_to_process = GST_DPMAN_FRAMES_TO_PROCESS (ladspa->dpman);
+
+    desc->connect_port (ladspa->handle, oclass->sinkpad_portnums[0], data_in);
+    for (i = 0; i < numsrcpads; i++)
+      desc->connect_port (ladspa->handle, oclass->srcpad_portnums[i],
+         data_out[i]);
 
-    desc->connect_port(ladspa->handle,oclass->sinkpad_portnums[0],data_in);  
-    for (i=0 ; i<numsrcpads ; i++)
-      desc->connect_port(ladspa->handle,oclass->srcpad_portnums[i],data_out[i]);
+    desc->run (ladspa->handle, num_to_process);
 
-    desc->run(ladspa->handle, num_to_process);
-    
     data_in += num_to_process;
-    for (i=0 ; i<numsrcpads ; i++)
+    for (i = 0; i < numsrcpads; i++)
       data_out[i] += num_to_process;
 
     num_processed += num_to_process;
   }
 
   if (!numsrcpads || buffers_out[0] != buffer_in)
-    gst_buffer_unref(buffer_in);
+    gst_buffer_unref (buffer_in);
 
   if (numsrcpads) {
-    for (i=0; i<numsrcpads; i++) {
+    for (i = 0; i < numsrcpads; i++) {
       DEBUG_OBJ (ladspa, "pushing buffer (%p, length %u bytes) on src pad %d",
-                 buffers_out[i], GST_BUFFER_SIZE (buffers_out[i]), i);
+         buffers_out[i], GST_BUFFER_SIZE (buffers_out[i]), i);
       gst_pad_push (ladspa->srcpads[i], GST_DATA (buffers_out[i]));
     }
 
-    g_free(buffers_out);
-    g_free(data_out);
+    g_free (buffers_out);
+    g_free (data_out);
   }
 }
 
 static GstData *
-gst_ladspa_get(GstPad *pad)
-{  
+gst_ladspa_get (GstPad * pad)
+{
   GstLADSPA *ladspa;
   GstLADSPAClass *oclass;
   GstBuffer *buf;
@@ -879,120 +910,111 @@ gst_ladspa_get(GstPad *pad)
   LADSPA_Descriptor *desc;
   guint num_to_process, num_processed;
 
-  ladspa = (GstLADSPA *)gst_pad_get_parent (pad);
-  oclass = (GstLADSPAClass*)(G_OBJECT_GET_CLASS(ladspa));
+  ladspa = (GstLADSPA *) gst_pad_get_parent (pad);
+  oclass = (GstLADSPAClass *) (G_OBJECT_GET_CLASS (ladspa));
   desc = ladspa->descriptor;
 
   /* 4096 is arbitrary */
   buf = gst_buffer_new_and_alloc (4096);
-  GST_BUFFER_TIMESTAMP(buf) = ladspa->timestamp;
-  data = (LADSPA_Data *) GST_BUFFER_DATA(buf);  
+  GST_BUFFER_TIMESTAMP (buf) = ladspa->timestamp;
+  data = (LADSPA_Data *) GST_BUFFER_DATA (buf);
 
-  GST_DPMAN_PREPROCESS(ladspa->dpman, ladspa->buffer_frames, ladspa->timestamp);
+  GST_DPMAN_PREPROCESS (ladspa->dpman, ladspa->buffer_frames,
+      ladspa->timestamp);
   num_processed = 0;
 
   /* split up processing of the buffer into chunks so that dparams can
    * be updated when required.
    * In many cases the buffer will be processed in one chunk anyway.
    */
-  while(GST_DPMAN_PROCESS(ladspa->dpman, num_processed)) {
-    num_to_process = GST_DPMAN_FRAMES_TO_PROCESS(ladspa->dpman);
+  while (GST_DPMAN_PROCESS (ladspa->dpman, num_processed)) {
+    num_to_process = GST_DPMAN_FRAMES_TO_PROCESS (ladspa->dpman);
 
-    /* update timestamp */  
+    /* update timestamp */
     ladspa->timestamp += num_to_process * GST_SECOND / ladspa->samplerate;
 
-    desc->connect_port(ladspa->handle,oclass->srcpad_portnums[0],data);  
+    desc->connect_port (ladspa->handle, oclass->srcpad_portnums[0], data);
+
+    desc->run (ladspa->handle, num_to_process);
 
-    desc->run(ladspa->handle, num_to_process);
-    
     data += num_to_process;
     num_processed = num_to_process;
   }
-  
+
   return GST_DATA (buf);
 }
 
 static void
-ladspa_describe_plugin(const char *pcFullFilename,
-                       void *pvPluginHandle,
-                       LADSPA_Descriptor_Function pfDescriptorFunction)
+ladspa_describe_plugin (const char *pcFullFilename,
+    void *pvPluginHandle, LADSPA_Descriptor_Function pfDescriptorFunction)
 {
   const LADSPA_Descriptor *desc;
   gint i;
   GTypeInfo typeinfo = {
-      sizeof(GstLADSPAClass),
-      (GBaseInitFunc)gst_ladspa_base_init,
-      NULL,
-      (GClassInitFunc)gst_ladspa_class_init,
-      NULL,
-      NULL,
-      sizeof(GstLADSPA),
-      0,
-      (GInstanceInitFunc)gst_ladspa_init,
+    sizeof (GstLADSPAClass),
+    (GBaseInitFunc) gst_ladspa_base_init,
+    NULL,
+    (GClassInitFunc) gst_ladspa_class_init,
+    NULL,
+    NULL,
+    sizeof (GstLADSPA),
+    0,
+    (GInstanceInitFunc) gst_ladspa_init,
   };
   GType type;
 
   /* walk through all the plugins in this pluginlibrary */
   i = 0;
-  while ((desc = pfDescriptorFunction(i++))) {
+  while ((desc = pfDescriptorFunction (i++))) {
     gchar *type_name;
 
     /* construct the type */
-    type_name = g_strdup_printf("ladspa-%s",desc->Label);
+    type_name = g_strdup_printf ("ladspa-%s", desc->Label);
     g_strcanon (type_name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-+", '-');
     /* if it's already registered, drop it */
-    if (g_type_from_name(type_name)) {
-      g_free(type_name);
+    if (g_type_from_name (type_name)) {
+      g_free (type_name);
       continue;
     }
 
     /* base-init temp alloc */
-    g_hash_table_insert(ladspa_descriptors,
-                        GINT_TO_POINTER(0),
-                        (gpointer)desc);
+    g_hash_table_insert (ladspa_descriptors,
+       GINT_TO_POINTER (0), (gpointer) desc);
 
     /* create the type now */
-    type = g_type_register_static(GST_TYPE_ELEMENT, type_name, &typeinfo, 0);
+    type = g_type_register_static (GST_TYPE_ELEMENT, type_name, &typeinfo, 0);
     if (!gst_element_register (ladspa_plugin, type_name, GST_RANK_NONE, type))
       continue;
 
     /* add this plugin to the hash */
-    g_hash_table_insert(ladspa_descriptors,
-                        GINT_TO_POINTER(type),
-                        (gpointer)desc);
+    g_hash_table_insert (ladspa_descriptors,
+       GINT_TO_POINTER (type), (gpointer) desc);
   }
 
   g_hash_table_remove (ladspa_descriptors, GINT_TO_POINTER (0));
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   GST_DEBUG_CATEGORY_INIT (ladspa_debug, "ladspa",
-                           GST_DEBUG_FG_GREEN | GST_DEBUG_BG_BLACK | GST_DEBUG_BOLD,
-                           "LADSPA");
+      GST_DEBUG_FG_GREEN | GST_DEBUG_BG_BLACK | GST_DEBUG_BOLD, "LADSPA");
 
-  ladspa_descriptors = g_hash_table_new(NULL,NULL);
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  ladspa_descriptors = g_hash_table_new (NULL, NULL);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   ladspa_plugin = plugin;
 
-  LADSPAPluginSearch(ladspa_describe_plugin);
+  LADSPAPluginSearch (ladspa_describe_plugin);
 
   /* initialize dparam support library */
-  gst_control_init(NULL,NULL);
-  
+  gst_control_init (NULL, NULL);
+
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "ladspa",
-  "All LADSPA plugins",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "ladspa",
+    "All LADSPA plugins",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index f3556f7..b40cd14 100644 (file)
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
-typedef struct _ladspa_control_info {
-  gchar *name;
-  gchar *param_name;
-  gfloat lowerbound, upperbound;
-  gfloat def;
-  gboolean lower,upper,samplerate;
-  gboolean toggled, logarithmic, integer, writable;
-} ladspa_control_info;
+  typedef struct _ladspa_control_info
+  {
+    gchar *name;
+    gchar *param_name;
+    gfloat lowerbound, upperbound;
+    gfloat def;
+    gboolean lower, upper, samplerate;
+    gboolean toggled, logarithmic, integer, writable;
+  } ladspa_control_info;
 
-typedef struct _GstLADSPA GstLADSPA;
-typedef struct _GstLADSPAClass GstLADSPAClass;
+  typedef struct _GstLADSPA GstLADSPA;
+  typedef struct _GstLADSPAClass GstLADSPAClass;
 
-struct _GstLADSPA {
-  GstElement element;
+  struct _GstLADSPA
+  {
+    GstElement element;
 
-  LADSPA_Descriptor *descriptor;
-  LADSPA_Handle *handle;
+    LADSPA_Descriptor *descriptor;
+    LADSPA_Handle *handle;
 
-  GstDParamManager *dpman;
+    GstDParamManager *dpman;
 
-  gfloat *controls;
-  
-  GstPad **sinkpads, 
-         **srcpads;
+    gfloat *controls;
 
-  gboolean activated;
+    GstPad **sinkpads, **srcpads;
 
-  gint samplerate, buffer_frames;
-  gint64 timestamp;
-  gboolean inplace_broken;
-};
+    gboolean activated;
 
-struct _GstLADSPAClass {
-  GstElementClass parent_class;
+    gint samplerate, buffer_frames;
+    gint64 timestamp;
+    gboolean inplace_broken;
+  };
 
-  LADSPA_Descriptor *descriptor;
+  struct _GstLADSPAClass
+  {
+    GstElementClass parent_class;
 
-  gint numports,
-       numsinkpads, 
-       numsrcpads, 
-       numcontrols;
+    LADSPA_Descriptor *descriptor;
 
-  gint *sinkpad_portnums, 
-       *srcpad_portnums, 
-       *control_portnums;
+    gint numports, numsinkpads, numsrcpads, numcontrols;
 
-  ladspa_control_info *control_info;
-};
+    gint *sinkpad_portnums, *srcpad_portnums, *control_portnums;
+
+    ladspa_control_info *control_info;
+  };
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_LADSPA_H__ */
+#endif                         /* __GST_LADSPA_H__ */
index bf52eb1..98337f5 100644 (file)
    not an absolute path (i.e. does not begin with / character), this
    routine will search the LADSPA_PATH for the file. */
 static void *
-dlopenLADSPA(const char * pcFilename, int iFlag) {
+dlopenLADSPA (const char *pcFilename, int iFlag)
+{
 
-  char * pcBuffer;
-  const char * pcEnd;
-  const char * pcLADSPAPath;
-  const char * pcStart;
+  char *pcBuffer;
+  const char *pcEnd;
+  const char *pcLADSPAPath;
+  const char *pcStart;
   int iEndsInSO;
   int iNeedSlash;
   size_t iFilenameLength;
-  void * pvResult;
+  void *pvResult;
 
-  iFilenameLength = strlen(pcFilename);
+  iFilenameLength = strlen (pcFilename);
   pvResult = NULL;
 
   if (pcFilename[0] == '/') {
@@ -45,12 +46,11 @@ dlopenLADSPA(const char * pcFilename, int iFlag) {
     /* The filename is absolute. Assume the user knows what he/she is
        doing and simply dlopen() it. */
 
-    pvResult = dlopen(pcFilename, iFlag);
+    pvResult = dlopen (pcFilename, iFlag);
     if (pvResult != NULL)
       return pvResult;
 
-  }
-  else {
+  } else {
 
     /* If the filename is not absolute then we wish to check along the
        LADSPA_PATH path to see if we can find the file there. We do
@@ -63,8 +63,8 @@ dlopenLADSPA(const char * pcFilename, int iFlag) {
      */
 
     pcLADSPAPath = g_strdup_printf ("%s:/usr/lib/ladspa:/usr/local/lib/ladspa",
-       getenv("LADSPA_PATH"));
-    
+       getenv ("LADSPA_PATH"));
+
     if (pcLADSPAPath) {
 
       pcStart = pcLADSPAPath;
@@ -72,24 +72,24 @@ dlopenLADSPA(const char * pcFilename, int iFlag) {
        pcEnd = pcStart;
        while (*pcEnd != ':' && *pcEnd != '\0')
          pcEnd++;
-       
-       pcBuffer = malloc(iFilenameLength + 2 + (pcEnd - pcStart));
+
+       pcBuffer = malloc (iFilenameLength + 2 + (pcEnd - pcStart));
        if (pcEnd > pcStart)
-         strncpy(pcBuffer, pcStart, pcEnd - pcStart);
+         strncpy (pcBuffer, pcStart, pcEnd - pcStart);
        iNeedSlash = 0;
        if (pcEnd > pcStart)
          if (*(pcEnd - 1) != '/') {
            iNeedSlash = 1;
            pcBuffer[pcEnd - pcStart] = '/';
          }
-       strcpy(pcBuffer + iNeedSlash + (pcEnd - pcStart), pcFilename);
-       
-       pvResult = dlopen(pcBuffer, iFlag);
-       
+       strcpy (pcBuffer + iNeedSlash + (pcEnd - pcStart), pcFilename);
+
+       pvResult = dlopen (pcBuffer, iFlag);
+
        free (pcBuffer);
        if (pvResult != NULL)
          return pvResult;
-       
+
        pcStart = pcEnd;
        if (*pcStart == ':')
          pcStart++;
@@ -101,13 +101,13 @@ dlopenLADSPA(const char * pcFilename, int iFlag) {
      ".so". In this case, add this suffix and recurse. */
   iEndsInSO = 0;
   if (iFilenameLength > 3)
-    iEndsInSO = (strcmp(pcFilename + iFilenameLength - 3, ".so") == 0);
+    iEndsInSO = (strcmp (pcFilename + iFilenameLength - 3, ".so") == 0);
   if (!iEndsInSO) {
-    pcBuffer = malloc(iFilenameLength + 4);
-    strcpy(pcBuffer, pcFilename);
-    strcat(pcBuffer, ".so");
-    pvResult = dlopenLADSPA(pcBuffer, iFlag);
-    free(pcBuffer);
+    pcBuffer = malloc (iFilenameLength + 4);
+    strcpy (pcBuffer, pcFilename);
+    strcat (pcBuffer, ".so");
+    pvResult = dlopenLADSPA (pcBuffer, iFlag);
+    free (pcBuffer);
   }
 
   if (pvResult != NULL)
@@ -120,23 +120,22 @@ dlopenLADSPA(const char * pcFilename, int iFlag) {
      will be kept when multiple calls are made to dlopen(). We've
      covered the former case - now we can handle the latter by calling
      dlopen() again here. */
-  return dlopen(pcFilename, iFlag);
+  return dlopen (pcFilename, iFlag);
 }
 
 /*****************************************************************************/
 
 void *
-loadLADSPAPluginLibrary(const char * pcPluginFilename) {
+loadLADSPAPluginLibrary (const char *pcPluginFilename)
+{
 
-  void * pvPluginHandle;
+  void *pvPluginHandle;
 
-  pvPluginHandle = dlopenLADSPA(pcPluginFilename, RTLD_NOW);
+  pvPluginHandle = dlopenLADSPA (pcPluginFilename, RTLD_NOW);
   if (!pvPluginHandle) {
-    fprintf(stderr, 
-           "Failed to load plugin \"%s\": %s\n", 
-           pcPluginFilename,
-           dlerror());
-    exit(1);
+    fprintf (stderr,
+       "Failed to load plugin \"%s\": %s\n", pcPluginFilename, dlerror ());
+    exit (1);
   }
 
   return pvPluginHandle;
@@ -144,49 +143,49 @@ loadLADSPAPluginLibrary(const char * pcPluginFilename) {
 
 /*****************************************************************************/
 
-void 
-unloadLADSPAPluginLibrary(void * pvLADSPAPluginLibrary) {
-  dlclose(pvLADSPAPluginLibrary);
+void
+unloadLADSPAPluginLibrary (void *pvLADSPAPluginLibrary)
+{
+  dlclose (pvLADSPAPluginLibrary);
 }
 
 /*****************************************************************************/
 
 const LADSPA_Descriptor *
-findLADSPAPluginDescriptor(void * pvLADSPAPluginLibrary,
-                          const char * pcPluginLibraryFilename,
-                          const char * pcPluginLabel) {
+findLADSPAPluginDescriptor (void *pvLADSPAPluginLibrary,
+    const char *pcPluginLibraryFilename, const char *pcPluginLabel)
+{
 
-  const LADSPA_Descriptor * psDescriptor;
+  const LADSPA_Descriptor *psDescriptor;
   LADSPA_Descriptor_Function pfDescriptorFunction;
   unsigned long lPluginIndex;
 
-  dlerror();
-  pfDescriptorFunction 
-    = (LADSPA_Descriptor_Function)dlsym(pvLADSPAPluginLibrary,
-                                       "ladspa_descriptor");
+  dlerror ();
+  pfDescriptorFunction
+      = (LADSPA_Descriptor_Function) dlsym (pvLADSPAPluginLibrary,
+      "ladspa_descriptor");
   if (!pfDescriptorFunction) {
-    const char * pcError = dlerror();
+    const char *pcError = dlerror ();
+
     if (pcError) {
-      fprintf(stderr,
-             "Unable to find ladspa_descriptor() function in plugin "
-             "library file \"%s\": %s.\n"
-             "Are you sure this is a LADSPA plugin file?\n", 
-             pcPluginLibraryFilename,
-             pcError);
-      exit(1);
+      fprintf (stderr,
+         "Unable to find ladspa_descriptor() function in plugin "
+         "library file \"%s\": %s.\n"
+         "Are you sure this is a LADSPA plugin file?\n",
+         pcPluginLibraryFilename, pcError);
+      exit (1);
     }
   }
 
   for (lPluginIndex = 0;; lPluginIndex++) {
-    psDescriptor = pfDescriptorFunction(lPluginIndex);
+    psDescriptor = pfDescriptorFunction (lPluginIndex);
     if (psDescriptor == NULL) {
-      fprintf(stderr,
-             "Unable to find label \"%s\" in plugin library file \"%s\".\n",
-             pcPluginLabel,
-             pcPluginLibraryFilename);
-      exit(1);      
+      fprintf (stderr,
+         "Unable to find label \"%s\" in plugin library file \"%s\".\n",
+         pcPluginLabel, pcPluginLibraryFilename);
+      exit (1);
     }
-    if (strcmp(psDescriptor->Label, pcPluginLabel) == 0)
+    if (strcmp (psDescriptor->Label, pcPluginLabel) == 0)
       return psDescriptor;
   }
 }
index 08b28d1..0f69027 100644 (file)
 
 /* Search just the one directory. */
 static void
-LADSPADirectoryPluginSearch
-(const char * pcDirectory, 
- LADSPAPluginSearchCallbackFunction fCallbackFunction) {
+    LADSPADirectoryPluginSearch
+    (const char *pcDirectory,
+    LADSPAPluginSearchCallbackFunction fCallbackFunction)
+{
 
-  char * pcFilename;
-  DIR * psDirectory;
+  char *pcFilename;
+  DIR *psDirectory;
   LADSPA_Descriptor_Function fDescriptorFunction;
   long lDirLength;
   long iNeedSlash;
-  struct dirent * psDirectoryEntry;
-  void * pvPluginHandle;
+  struct dirent *psDirectoryEntry;
+  void *pvPluginHandle;
 
-  lDirLength = strlen(pcDirectory);
+  lDirLength = strlen (pcDirectory);
   if (!lDirLength)
     return;
   if (pcDirectory[lDirLength - 1] == '/')
@@ -47,66 +48,63 @@ LADSPADirectoryPluginSearch
   else
     iNeedSlash = 1;
 
-  psDirectory = opendir(pcDirectory);
+  psDirectory = opendir (pcDirectory);
   if (!psDirectory)
     return;
 
   while (1) {
 
-    psDirectoryEntry = readdir(psDirectory);
+    psDirectoryEntry = readdir (psDirectory);
     if (!psDirectoryEntry) {
-      closedir(psDirectory);
+      closedir (psDirectory);
       return;
     }
 
-    pcFilename = malloc(lDirLength
-                       + strlen(psDirectoryEntry->d_name)
-                       + 1 + iNeedSlash);
-    strcpy(pcFilename, pcDirectory);
+    pcFilename = malloc (lDirLength + strlen (psDirectoryEntry->d_name)
+       + 1 + iNeedSlash);
+    strcpy (pcFilename, pcDirectory);
     if (iNeedSlash)
-      strcat(pcFilename, "/");
-    strcat(pcFilename, psDirectoryEntry->d_name);
-    
-    pvPluginHandle = dlopen(pcFilename, RTLD_LAZY);
+      strcat (pcFilename, "/");
+    strcat (pcFilename, psDirectoryEntry->d_name);
+
+    pvPluginHandle = dlopen (pcFilename, RTLD_LAZY);
     if (pvPluginHandle) {
       /* This is a file and the file is a shared library! */
 
-      dlerror();
+      dlerror ();
       fDescriptorFunction
-       = (LADSPA_Descriptor_Function)dlsym(pvPluginHandle,
-                                           "ladspa_descriptor");
-      if (dlerror() == NULL && fDescriptorFunction) {
+         = (LADSPA_Descriptor_Function) dlsym (pvPluginHandle,
+         "ladspa_descriptor");
+      if (dlerror () == NULL && fDescriptorFunction) {
        /* We've successfully found a ladspa_descriptor function. Pass
-           it to the callback function. */
-       fCallbackFunction(pcFilename,
-                         pvPluginHandle,
-                         fDescriptorFunction);
-      }
-      else {
+          it to the callback function. */
+       fCallbackFunction (pcFilename, pvPluginHandle, fDescriptorFunction);
+      } else {
        /* It was a library, but not a LADSPA one. Unload it. */
-       dlclose(pcFilename);
+       dlclose (pcFilename);
       }
     }
-    free(pcFilename);
+    free (pcFilename);
   }
 }
 
 /*****************************************************************************/
 
-void 
-LADSPAPluginSearch(LADSPAPluginSearchCallbackFunction fCallbackFunction) {
+void
+LADSPAPluginSearch (LADSPAPluginSearchCallbackFunction fCallbackFunction)
+{
 
-  char * pcBuffer;
-  const char * pcEnd;
-  const char * pcLADSPAPath;
-  const char * pcStart;
+  char *pcBuffer;
+  const char *pcEnd;
+  const char *pcLADSPAPath;
+  const char *pcStart;
 
   /* thomasvs: I'm sorry, but I'm going to add glib stuff here.
-  * I'm appending logical values for LADSPA_PATH here
-  */
+   * I'm appending logical values for LADSPA_PATH here
+   */
 
   pcLADSPAPath = g_strdup_printf ("%s:/usr/lib/ladspa:/usr/local/lib/ladspa",
-                 getenv("LADSPA_PATH"));
+      getenv ("LADSPA_PATH"));
 
   if (!pcLADSPAPath) {
 /*    fprintf(stderr, */
@@ -114,20 +112,20 @@ LADSPAPluginSearch(LADSPAPluginSearchCallbackFunction fCallbackFunction) {
 /*         "environment variable set.\n"); */
     return;
   }
-  
+
   pcStart = pcLADSPAPath;
   while (*pcStart != '\0') {
     pcEnd = pcStart;
     while (*pcEnd != ':' && *pcEnd != '\0')
       pcEnd++;
-    
-    pcBuffer = malloc(1 + pcEnd - pcStart);
+
+    pcBuffer = malloc (1 + pcEnd - pcStart);
     if (pcEnd > pcStart)
-      strncpy(pcBuffer, pcStart, pcEnd - pcStart);
+      strncpy (pcBuffer, pcStart, pcEnd - pcStart);
     pcBuffer[pcEnd - pcStart] = '\0';
-    
-    LADSPADirectoryPluginSearch(pcBuffer, fCallbackFunction);
-    free(pcBuffer);
+
+    LADSPADirectoryPluginSearch (pcBuffer, fCallbackFunction);
+    free (pcBuffer);
 
     pcStart = pcEnd;
     if (*pcStart == ':')
index d470eb0..7a22b50 100644 (file)
    unloadLADSPAPluginLibrary(). Errors are handled by writing a
    message to stderr and calling exit(1). It is alright (although
    inefficient) to call this more than once for the same file. */
-void * loadLADSPAPluginLibrary(const char * pcPluginFilename);
+void *loadLADSPAPluginLibrary (const char *pcPluginFilename);
 
 /* This function unloads a LADSPA plugin library. */
-void unloadLADSPAPluginLibrary(void * pvLADSPAPluginLibrary);
+void unloadLADSPAPluginLibrary (void *pvLADSPAPluginLibrary);
 
 /* This function locates a LADSPA plugin within a plugin library
    loaded with loadLADSPAPluginLibrary(). Errors are handled by
    writing a message to stderr and calling exit(1). Note that the
    plugin library filename is only included to help provide
    informative error messages. */
-const LADSPA_Descriptor *
-findLADSPAPluginDescriptor(void * pvLADSPAPluginLibrary,
-                          const char * pcPluginLibraryFilename,
-                          const char * pcPluginLabel);
+const LADSPA_Descriptor *findLADSPAPluginDescriptor (void
+    *pvLADSPAPluginLibrary, const char *pcPluginLibraryFilename,
+    const char *pcPluginLabel);
 
 /*****************************************************************************/
 
@@ -44,16 +43,15 @@ findLADSPAPluginDescriptor(void * pvLADSPAPluginLibrary,
    style) and a LADSPA_DescriptorFunction (from which
    LADSPA_Descriptors can be acquired). */
 typedef void LADSPAPluginSearchCallbackFunction
-(const char * pcFullFilename, 
- void * pvPluginHandle,
- LADSPA_Descriptor_Function fDescriptorFunction);
+    (const char *pcFullFilename,
+    void *pvPluginHandle, LADSPA_Descriptor_Function fDescriptorFunction);
 
 /* Search through the $(LADSPA_PATH) (or a default path) for any
    LADSPA plugin libraries. Each plugin library is tested using
    dlopen() and dlsym(,"ladspa_descriptor"). After loading each
    library, the callback function is called to process it. This
    function leaves items passed to the callback function open. */
-void LADSPAPluginSearch(LADSPAPluginSearchCallbackFunction fCallbackFunction);
+void LADSPAPluginSearch (LADSPAPluginSearchCallbackFunction fCallbackFunction);
 
 /*****************************************************************************/
 
index e45677d..4cb64e4 100644 (file)
@@ -36,12 +36,14 @@ static GstElementDetails gst_cacasink_details = {
 };
 
 /* cacasink signals and args */
-enum {
+enum
+{
   LAST_SIGNAL
 };
 
 
-enum {
+enum
+{
   ARG_0,
   ARG_SCREEN_WIDTH,
   ARG_SCREEN_HEIGHT,
@@ -49,33 +51,32 @@ enum {
   ARG_ANTIALIASING
 };
 
-static GstStaticPadTemplate sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_RGB_16 ";" GST_VIDEO_CAPS_RGB_15)
-);
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_RGBx ";"
+       GST_VIDEO_CAPS_RGB_16 ";" GST_VIDEO_CAPS_RGB_15)
+    );
 
 static void gst_cacasink_base_init (gpointer g_class);
-static void gst_cacasink_class_init (GstCACASinkClass *klass);
-static void gst_cacasink_init (GstCACASink *cacasink);
-static void gst_cacasink_interface_init        (GstImplementsInterfaceClass *klass);
-static gboolean        gst_cacasink_interface_supported (GstImplementsInterface *iface,
-                                                 GType type);
-static void gst_cacasink_navigation_init (GstNavigationInterface *iface);
-static void gst_cacasink_navigation_send_event (GstNavigation *navigation, 
-                               GstStructure *structure);
+static void gst_cacasink_class_init (GstCACASinkClass * klass);
+static void gst_cacasink_init (GstCACASink * cacasink);
+static void gst_cacasink_interface_init (GstImplementsInterfaceClass * klass);
+static gboolean gst_cacasink_interface_supported (GstImplementsInterface *
+    iface, GType type);
+static void gst_cacasink_navigation_init (GstNavigationInterface * iface);
+static void gst_cacasink_navigation_send_event (GstNavigation * navigation,
+    GstStructure * structure);
 
-static void gst_cacasink_chain (GstPad *pad, GstData *_data);
+static void gst_cacasink_chain (GstPad * pad, GstData * _data);
 
-static void gst_cacasink_set_property (GObject *object, guint prop_id, 
-                               const GValue *value, GParamSpec *pspec);
-static void gst_cacasink_get_property (GObject *object, guint prop_id, 
-                                GValue *value, GParamSpec *pspec);
-static void gst_cacasink_dispose (GObject *object);
+static void gst_cacasink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_cacasink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_cacasink_dispose (GObject * object);
 
-static GstElementStateReturn gst_cacasink_change_state (GstElement *element);
+static GstElementStateReturn gst_cacasink_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 
@@ -86,17 +87,17 @@ gst_cacasink_get_type (void)
 
   if (!cacasink_type) {
     static const GTypeInfo cacasink_info = {
-      sizeof(GstCACASinkClass),
+      sizeof (GstCACASinkClass),
       gst_cacasink_base_init,
       NULL,
       (GClassInitFunc) gst_cacasink_class_init,
       NULL,
       NULL,
-      sizeof(GstCACASink),
+      sizeof (GstCACASink),
       0,
       (GInstanceInitFunc) gst_cacasink_init,
     };
-    
+
     static const GInterfaceInfo iface_info = {
       (GInterfaceInitFunc) gst_cacasink_interface_init,
       NULL,
@@ -109,12 +110,14 @@ gst_cacasink_get_type (void)
       NULL,
     };
 
-    cacasink_type = g_type_register_static (GST_TYPE_VIDEOSINK, "GstCACASink", &cacasink_info, 0);
-    
+    cacasink_type =
+       g_type_register_static (GST_TYPE_VIDEOSINK, "GstCACASink",
+       &cacasink_info, 0);
+
     g_type_add_interface_static (cacasink_type, GST_TYPE_IMPLEMENTS_INTERFACE,
-        &iface_info);
+       &iface_info);
     g_type_add_interface_static (cacasink_type, GST_TYPE_NAVIGATION,
-        &navigation_info);
+       &navigation_info);
   }
   return cacasink_type;
 }
@@ -124,18 +127,20 @@ static GType
 gst_cacasink_dither_get_type (void)
 {
   static GType dither_type = 0;
+
   if (!dither_type) {
     GEnumValue *dithers;
     gint n_dithers;
     gint i;
     gchar *caca_dithernames[] = {
-       "NONE", "ORDERED2", "ORDERED4", "ORDERED8", "RANDOM", NULL};
+      "NONE", "ORDERED2", "ORDERED4", "ORDERED8", "RANDOM", NULL
+    };
 
     n_dithers = 5;
-    
-    dithers = g_new0(GEnumValue, n_dithers + 1);
 
-    for (i = 0; i < n_dithers; i++){
+    dithers = g_new0 (GEnumValue, n_dithers + 1);
+
+    for (i = 0; i < n_dithers; i++) {
       dithers[i].value = i;
       dithers[i].value_name = g_strdup (caca_dithernames[i]);
       dithers[i].value_nick = g_strdup (caca_dithernames[i]);
@@ -155,35 +160,31 @@ gst_cacasink_base_init (gpointer g_class)
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
   gst_element_class_set_details (element_class, &gst_cacasink_details);
-  gst_element_class_add_pad_template (element_class, 
-    gst_static_pad_template_get (&sink_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&sink_template));
 }
 
 static void
-gst_cacasink_class_init (GstCACASinkClass *klass)
+gst_cacasink_class_init (GstCACASinkClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
   GstVideoSinkClass *gstvs_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
-  gstvs_class = (GstVideoSinkClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
+  gstvs_class = (GstVideoSinkClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SCREEN_WIDTH,
-    g_param_spec_int("screen_width","screen_width","screen_width",
-                     G_MININT,G_MAXINT,0,G_PARAM_READABLE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SCREEN_HEIGHT,
-    g_param_spec_int("screen_height","screen_height","screen_height",
-                     G_MININT,G_MAXINT,0,G_PARAM_READABLE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DITHER,
-    g_param_spec_enum("dither","Dither Type","Set type of Dither",
-                      GST_TYPE_CACADITHER, 0, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SCREEN_WIDTH, g_param_spec_int ("screen_width", "screen_width", "screen_width", G_MININT, G_MAXINT, 0, G_PARAM_READABLE));      /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SCREEN_HEIGHT, g_param_spec_int ("screen_height", "screen_height", "screen_height", G_MININT, G_MAXINT, 0, G_PARAM_READABLE));  /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DITHER,
+      g_param_spec_enum ("dither", "Dither Type", "Set type of Dither",
+         GST_TYPE_CACADITHER, 0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ANTIALIASING,
-    g_param_spec_boolean ("anti_aliasing", "Anti-Aliasing", 
-                         "Enables Anti-Aliasing", TRUE, G_PARAM_READWRITE));
+      g_param_spec_boolean ("anti_aliasing", "Anti-Aliasing",
+         "Enables Anti-Aliasing", TRUE, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_cacasink_set_property;
   gobject_class->get_property = gst_cacasink_get_property;
@@ -193,13 +194,13 @@ gst_cacasink_class_init (GstCACASinkClass *klass)
 }
 
 static void
-gst_cacasink_interface_init (GstImplementsInterfaceClass *klass)
+gst_cacasink_interface_init (GstImplementsInterfaceClass * klass)
 {
   klass->supported = gst_cacasink_interface_supported;
 }
 
 static gboolean
-gst_cacasink_interface_supported (GstImplementsInterface *iface, GType type)
+gst_cacasink_interface_supported (GstImplementsInterface * iface, GType type)
 {
   g_assert (type == GST_TYPE_NAVIGATION);
 
@@ -207,31 +208,31 @@ gst_cacasink_interface_supported (GstImplementsInterface *iface, GType type)
 }
 
 static void
-gst_cacasink_navigation_init (GstNavigationInterface *iface)
+gst_cacasink_navigation_init (GstNavigationInterface * iface)
 {
   iface->send_event = gst_cacasink_navigation_send_event;
 }
 
 static void
-gst_cacasink_navigation_send_event (GstNavigation *navigation,
-    GstStructure *structure)
+gst_cacasink_navigation_send_event (GstNavigation * navigation,
+    GstStructure * structure)
 {
   GstCACASink *cacasink = GST_CACASINK (navigation);
   GstEvent *event;
 
   event = gst_event_new (GST_EVENT_NAVIGATION);
-  /*GST_EVENT_TIMESTAMP (event) = 0;*/
+  /*GST_EVENT_TIMESTAMP (event) = 0; */
   event->event_data.structure.structure = structure;
 
   /* FIXME 
    * Obviously, the pointer x,y coordinates need to be adjusted by the
    * window size and relation to the bounding window. */
 
-  gst_pad_send_event (gst_pad_get_peer (GST_VIDEOSINK_PAD(cacasink)),
-      event);
+  gst_pad_send_event (gst_pad_get_peer (GST_VIDEOSINK_PAD (cacasink)), event);
 }
+
 static GstPadLinkReturn
-gst_cacasink_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_cacasink_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstCACASink *cacasink;
   GstStructure *structure;
@@ -239,67 +240,62 @@ gst_cacasink_sinkconnect (GstPad *pad, const GstCaps *caps)
   cacasink = GST_CACASINK (gst_pad_get_parent (pad));
 
   /*if (!GST_CAPS_IS_FIXED (caps))
-    return GST_PAD_LINK_DELAYED;*/
-  
+     return GST_PAD_LINK_DELAYED; */
+
   structure = gst_caps_get_structure (caps, 0);
-  gst_structure_get_int (structure, "width",
-                    &(GST_VIDEOSINK_WIDTH (cacasink)));
+  gst_structure_get_int (structure, "width", &(GST_VIDEOSINK_WIDTH (cacasink)));
   gst_structure_get_int (structure, "height",
-                    &(GST_VIDEOSINK_HEIGHT (cacasink)));
+      &(GST_VIDEOSINK_HEIGHT (cacasink)));
   gst_structure_get_int (structure, "bpp", &cacasink->bpp);
   gst_structure_get_int (structure, "red_mask", &cacasink->red_mask);
   gst_structure_get_int (structure, "green_mask", &cacasink->green_mask);
   gst_structure_get_int (structure, "blue_mask", &cacasink->blue_mask);
 
   if (cacasink->bpp == 24) {
-    cacasink->red_mask   = GUINT32_FROM_BE (cacasink->red_mask) >> 8;
+    cacasink->red_mask = GUINT32_FROM_BE (cacasink->red_mask) >> 8;
     cacasink->green_mask = GUINT32_FROM_BE (cacasink->green_mask) >> 8;
-    cacasink->blue_mask  = GUINT32_FROM_BE (cacasink->blue_mask) >> 8;
+    cacasink->blue_mask = GUINT32_FROM_BE (cacasink->blue_mask) >> 8;
   }
 
   else if (cacasink->bpp == 32) {
-    cacasink->red_mask   = GUINT32_FROM_BE (cacasink->red_mask);
+    cacasink->red_mask = GUINT32_FROM_BE (cacasink->red_mask);
     cacasink->green_mask = GUINT32_FROM_BE (cacasink->green_mask);
-    cacasink->blue_mask  = GUINT32_FROM_BE (cacasink->blue_mask);
+    cacasink->blue_mask = GUINT32_FROM_BE (cacasink->blue_mask);
   }
 
   else if (cacasink->bpp == 16 || cacasink->bpp == 15) {
-    cacasink->red_mask   = GUINT16_FROM_BE (cacasink->red_mask);
+    cacasink->red_mask = GUINT16_FROM_BE (cacasink->red_mask);
     cacasink->green_mask = GUINT16_FROM_BE (cacasink->green_mask);
-    cacasink->blue_mask  = GUINT16_FROM_BE (cacasink->blue_mask);
+    cacasink->blue_mask = GUINT16_FROM_BE (cacasink->blue_mask);
   }
 
   if (cacasink->bitmap) {
     caca_free_bitmap (cacasink->bitmap);
   }
 
-  cacasink->bitmap = caca_create_bitmap (
-                       cacasink->bpp, 
-                       GST_VIDEOSINK_WIDTH (cacasink), 
-                       GST_VIDEOSINK_HEIGHT (cacasink), 
-                       GST_VIDEOSINK_WIDTH (cacasink) * cacasink->bpp/8, 
-                       cacasink->red_mask, 
-                       cacasink->green_mask, 
-                       cacasink->blue_mask,
-                       0);
+  cacasink->bitmap = caca_create_bitmap (cacasink->bpp,
+      GST_VIDEOSINK_WIDTH (cacasink),
+      GST_VIDEOSINK_HEIGHT (cacasink),
+      GST_VIDEOSINK_WIDTH (cacasink) * cacasink->bpp / 8,
+      cacasink->red_mask, cacasink->green_mask, cacasink->blue_mask, 0);
 
   if (!cacasink->bitmap) {
-     return GST_PAD_LINK_DELAYED;
+    return GST_PAD_LINK_DELAYED;
   }
-     
+
   return GST_PAD_LINK_OK;
 }
 
 static void
-gst_cacasink_init (GstCACASink *cacasink)
+gst_cacasink_init (GstCACASink * cacasink)
 {
-  GST_VIDEOSINK_PAD (cacasink) = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&sink_template), "sink");
+  GST_VIDEOSINK_PAD (cacasink) =
+      gst_pad_new_from_template (gst_static_pad_template_get (&sink_template),
+      "sink");
   gst_element_add_pad (GST_ELEMENT (cacasink), GST_VIDEOSINK_PAD (cacasink));
-  gst_pad_set_chain_function (GST_VIDEOSINK_PAD (cacasink), 
-                             gst_cacasink_chain);
-  gst_pad_set_link_function (GST_VIDEOSINK_PAD (cacasink), 
-                            gst_cacasink_sinkconnect);
+  gst_pad_set_chain_function (GST_VIDEOSINK_PAD (cacasink), gst_cacasink_chain);
+  gst_pad_set_link_function (GST_VIDEOSINK_PAD (cacasink),
+      gst_cacasink_sinkconnect);
 
   cacasink->screen_width = GST_CACA_DEFAULT_SCREEN_WIDTH;
   cacasink->screen_height = GST_CACA_DEFAULT_SCREEN_HEIGHT;
@@ -318,11 +314,11 @@ gst_cacasink_init (GstCACASink *cacasink)
   cacasink->dither = 0;
   caca_set_dithering (CACA_DITHERING_NONE);
 
-  GST_FLAG_SET(cacasink, GST_ELEMENT_THREAD_SUGGESTED);
+  GST_FLAG_SET (cacasink, GST_ELEMENT_THREAD_SUGGESTED);
 }
 
 static void
-gst_cacasink_chain (GstPad *pad, GstData *_data)
+gst_cacasink_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstCACASink *cacasink;
@@ -336,14 +332,15 @@ gst_cacasink_chain (GstPad *pad, GstData *_data)
   cacasink = GST_CACASINK (gst_pad_get_parent (pad));
 
   if (cacasink->id && GST_CLOCK_TIME_IS_VALID (time)) {
-    GST_DEBUG ("videosink: clock %s wait: %" G_GUINT64_FORMAT " %u", 
-               GST_OBJECT_NAME (GST_VIDEOSINK_CLOCK (cacasink)),
-               time, GST_BUFFER_SIZE (buf));
+    GST_DEBUG ("videosink: clock %s wait: %" G_GUINT64_FORMAT " %u",
+       GST_OBJECT_NAME (GST_VIDEOSINK_CLOCK (cacasink)),
+       time, GST_BUFFER_SIZE (buf));
     gst_element_wait (GST_ELEMENT (cacasink), GST_BUFFER_TIMESTAMP (buf));
   }
 
   caca_clear ();
-  caca_draw_bitmap (0, 0, cacasink->screen_width-1, cacasink->screen_height-1, cacasink->bitmap, GST_BUFFER_DATA (buf));
+  caca_draw_bitmap (0, 0, cacasink->screen_width - 1,
+      cacasink->screen_height - 1, cacasink->bitmap, GST_BUFFER_DATA (buf));
   caca_refresh ();
 
   if (GST_VIDEOSINK_CLOCK (cacasink)) {
@@ -353,12 +350,12 @@ gst_cacasink_chain (GstPad *pad, GstData *_data)
     cacasink->correction = 0;
   }
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
 
 static void
-gst_cacasink_dispose (GObject *object) 
+gst_cacasink_dispose (GObject * object)
 {
   GstCACASink *cacasink = GST_CACASINK (object);
 
@@ -367,12 +364,13 @@ gst_cacasink_dispose (GObject *object)
   }
 
   caca_end ();
-  
+
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
 static void
-gst_cacasink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_cacasink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstCACASink *cacasink;
 
@@ -382,17 +380,17 @@ gst_cacasink_set_property (GObject *object, guint prop_id, const GValue *value,
   cacasink = GST_CACASINK (object);
 
   switch (prop_id) {
-    case ARG_DITHER: {
+    case ARG_DITHER:{
       cacasink->dither = g_value_get_enum (value);
       caca_set_dithering (cacasink->dither + CACA_DITHERING_NONE);
       break;
     }
-    case ARG_ANTIALIASING: {
+    case ARG_ANTIALIASING:{
       cacasink->antialiasing = g_value_get_boolean (value);
       if (cacasink->antialiasing) {
        caca_set_feature (CACA_ANTIALIASING_MAX);
       }
-       
+
       else {
        caca_set_feature (CACA_ANTIALIASING_MIN);
       }
@@ -404,31 +402,32 @@ gst_cacasink_set_property (GObject *object, guint prop_id, const GValue *value,
 }
 
 static void
-gst_cacasink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_cacasink_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstCACASink *cacasink;
 
   /* it's not null if we got it, but it might not be ours */
-  cacasink = GST_CACASINK(object);
+  cacasink = GST_CACASINK (object);
 
   switch (prop_id) {
-    case ARG_SCREEN_WIDTH: {
+    case ARG_SCREEN_WIDTH:{
       g_value_set_int (value, cacasink->screen_width);
       break;
     }
-    case ARG_SCREEN_HEIGHT: {
+    case ARG_SCREEN_HEIGHT:{
       g_value_set_int (value, cacasink->screen_height);
       break;
     }
-    case ARG_DITHER: {
+    case ARG_DITHER:{
       g_value_set_enum (value, cacasink->dither);
       break;
     }
-    case ARG_ANTIALIASING: {
+    case ARG_ANTIALIASING:{
       g_value_set_boolean (value, cacasink->antialiasing);
       break;
     }
-    default: {
+    default:{
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
     }
@@ -436,9 +435,9 @@ gst_cacasink_get_property (GObject *object, guint prop_id, GValue *value, GParam
 }
 
 static gboolean
-gst_cacasink_open (GstCACASink *cacasink)
+gst_cacasink_open (GstCACASink * cacasink)
 {
-  g_return_val_if_fail (!GST_FLAG_IS_SET (cacasink ,GST_CACASINK_OPEN), FALSE);
+  g_return_val_if_fail (!GST_FLAG_IS_SET (cacasinkGST_CACASINK_OPEN), FALSE);
 
   GST_FLAG_SET (cacasink, GST_CACASINK_OPEN);
 
@@ -446,15 +445,15 @@ gst_cacasink_open (GstCACASink *cacasink)
 }
 
 static void
-gst_cacasink_close (GstCACASink *cacasink)
+gst_cacasink_close (GstCACASink * cacasink)
 {
-  g_return_if_fail (GST_FLAG_IS_SET (cacasink ,GST_CACASINK_OPEN));
+  g_return_if_fail (GST_FLAG_IS_SET (cacasinkGST_CACASINK_OPEN));
 
   GST_FLAG_UNSET (cacasink, GST_CACASINK_OPEN);
 }
 
 static GstElementStateReturn
-gst_cacasink_change_state (GstElement *element)
+gst_cacasink_change_state (GstElement * element)
 {
   g_return_val_if_fail (GST_IS_CACASINK (element), GST_STATE_FAILURE);
 
@@ -464,7 +463,7 @@ gst_cacasink_change_state (GstElement *element)
   } else {
     if (!GST_FLAG_IS_SET (element, GST_CACASINK_OPEN)) {
       if (!gst_cacasink_open (GST_CACASINK (element)))
-        return GST_STATE_FAILURE;
+       return GST_STATE_FAILURE;
     }
   }
 
@@ -475,26 +474,21 @@ gst_cacasink_change_state (GstElement *element)
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   /* Loading the library containing GstVideoSink, our parent object */
   if (!gst_library_load ("gstvideo"))
     return FALSE;
-  
-  if (!gst_element_register (plugin, "cacasink", GST_RANK_NONE, GST_TYPE_CACASINK))
+
+  if (!gst_element_register (plugin, "cacasink", GST_RANK_NONE,
+         GST_TYPE_CACASINK))
     return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "cacasink",
-  "Colored ASCII Art video sink",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "cacasink",
+    "Colored ASCII Art video sink",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 3a6d4f2..2080c28 100644 (file)
@@ -28,8 +28,9 @@
 #include <caca.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 #define GST_CACA_DEFAULT_SCREEN_WIDTH 80
 #define GST_CACA_DEFAULT_SCREEN_HEIGHT 25
@@ -53,44 +54,47 @@ extern "C" {
 #define GST_IS_CACASINK_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CACASINK))
 
-typedef enum {
-  GST_CACASINK_OPEN              = GST_ELEMENT_FLAG_LAST,
+  typedef enum
+  {
+    GST_CACASINK_OPEN = GST_ELEMENT_FLAG_LAST,
 
-  GST_CACASINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
-} GstCACASinkFlags;
+    GST_CACASINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
+  } GstCACASinkFlags;
 
-typedef struct _GstCACASink GstCACASink;
-typedef struct _GstCACASinkClass GstCACASinkClass;
+  typedef struct _GstCACASink GstCACASink;
+  typedef struct _GstCACASinkClass GstCACASinkClass;
 
-struct _GstCACASink {
-  GstVideoSink videosink;
+  struct _GstCACASink
+  {
+    GstVideoSink videosink;
 
-  GstPad *sinkpad;
+    GstPad *sinkpad;
 
-  gulong format;
-  gint screen_width, screen_height;
-  guint bpp;
-  guint dither;
-  gboolean antialiasing;
-  guint red_mask, green_mask, blue_mask;
+    gulong format;
+    gint screen_width, screen_height;
+    guint bpp;
+    guint dither;
+    gboolean antialiasing;
+    guint red_mask, green_mask, blue_mask;
 
-  gint64 correction;
-  GstClockID id;
+    gint64 correction;
+    GstClockID id;
 
-  struct caca_bitmap *bitmap;
-};
+    struct caca_bitmap *bitmap;
+  };
 
-struct _GstCACASinkClass {
-  GstVideoSinkClass parent_class;
+  struct _GstCACASinkClass
+  {
+    GstVideoSinkClass parent_class;
 
-  /* signals */
-};
+    /* signals */
+  };
 
-GType gst_cacasink_get_type(void);
+  GType gst_cacasink_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_CACASINKE_H__ */
+#endif                         /* __GST_CACASINKE_H__ */
index 38a492f..dab8d9d 100644 (file)
@@ -34,13 +34,7 @@ plugin_init (GstPlugin * plugin)
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "png",
-  "PNG plugin library",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "png",
+    "PNG plugin library", plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 393e642..78055cc 100644 (file)
@@ -47,29 +47,32 @@ enum
   ARG_0
 };
 
-static void     gst_pngenc_base_init    (gpointer g_class);
-static void    gst_pngenc_class_init   (GstPngEncClass *klass);
-static void    gst_pngenc_init         (GstPngEnc *pngenc);
+static void gst_pngenc_base_init (gpointer g_class);
+static void gst_pngenc_class_init (GstPngEncClass * klass);
+static void gst_pngenc_init (GstPngEnc * pngenc);
 
-static void    gst_pngenc_chain        (GstPad *pad, GstData *_data);
+static void gst_pngenc_chain (GstPad * pad, GstData * _data);
 
 GstPadTemplate *pngenc_src_template, *pngenc_sink_template;
 
 static GstElementClass *parent_class = NULL;
 
 
-static void user_error_fn (png_structp png_ptr, png_const_charp error_msg)
+static void
+user_error_fn (png_structp png_ptr, png_const_charp error_msg)
 {
-  g_warning("%s", error_msg);
+  g_warning ("%s", error_msg);
 }
 
-static void user_warning_fn (png_structp png_ptr, png_const_charp warning_msg)
+static void
+user_warning_fn (png_structp png_ptr, png_const_charp warning_msg)
 {
-  g_warning("%s", warning_msg);
+  g_warning ("%s", warning_msg);
 }
 
 
-GType gst_pngenc_get_type (void)
+GType
+gst_pngenc_get_type (void)
 {
   static GType pngenc_type = 0;
 
@@ -87,25 +90,24 @@ GType gst_pngenc_get_type (void)
     };
 
     pngenc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstPngEnc",
-                                         &pngenc_info, 0);
+       &pngenc_info, 0);
   }
   return pngenc_type;
 }
 
-static GstCaps*
+static GstCaps *
 png_caps_factory (void)
 {
   return gst_caps_new_simple ("video/x-png",
-      "width",     GST_TYPE_INT_RANGE, 16, 4096,
-      "height",    GST_TYPE_INT_RANGE, 16, 4096,
-      "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE,
-      NULL);
+      "width", GST_TYPE_INT_RANGE, 16, 4096,
+      "height", GST_TYPE_INT_RANGE, 16, 4096,
+      "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE, NULL);
 }
 
 
-static GstCaps*
+static GstCaps *
 raw_caps_factory (void)
-{ 
+{
   return gst_caps_from_string (GST_VIDEO_CAPS_RGB);
 }
 
@@ -114,25 +116,23 @@ gst_pngenc_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstCaps *raw_caps, *png_caps;
-  
+
   raw_caps = raw_caps_factory ();
   png_caps = png_caps_factory ();
 
   pngenc_sink_template = gst_pad_template_new ("sink", GST_PAD_SINK,
-                                              GST_PAD_ALWAYS,
-                                              raw_caps);
-  
+      GST_PAD_ALWAYS, raw_caps);
+
   pngenc_src_template = gst_pad_template_new ("src", GST_PAD_SRC,
-                                             GST_PAD_ALWAYS,
-                                             png_caps);
-  
+      GST_PAD_ALWAYS, png_caps);
+
   gst_element_class_add_pad_template (element_class, pngenc_sink_template);
   gst_element_class_add_pad_template (element_class, pngenc_src_template);
   gst_element_class_set_details (element_class, &gst_pngenc_details);
 }
 
 static void
-gst_pngenc_class_init (GstPngEncClass *klass)
+gst_pngenc_class_init (GstPngEncClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -145,7 +145,7 @@ gst_pngenc_class_init (GstPngEncClass *klass)
 
 
 static GstPadLinkReturn
-gst_pngenc_sinklink (GstPad *pad, const GstCaps *caps)
+gst_pngenc_sinklink (GstPad * pad, const GstCaps * caps)
 {
   GstPngEnc *pngenc;
   gdouble fps;
@@ -161,8 +161,8 @@ gst_pngenc_sinklink (GstPad *pad, const GstCaps *caps)
 
   caps = gst_caps_new_simple ("video/x-png",
       "framerate", G_TYPE_DOUBLE, fps,
-      "width",     G_TYPE_INT, pngenc->width,
-      "height",    G_TYPE_INT, pngenc->height, NULL);
+      "width", G_TYPE_INT, pngenc->width,
+      "height", G_TYPE_INT, pngenc->height, NULL);
 
   return gst_pad_try_set_caps (pngenc->srcpad, caps);
 }
@@ -184,9 +184,10 @@ gst_pngenc_init (GstPngEnc * pngenc)
 
 }
 
-void user_flush_data (png_structp png_ptr)
+void
+user_flush_data (png_structp png_ptr)
 {
-GstPngEnc *pngenc;
+  GstPngEnc *pngenc;
 
   pngenc = (GstPngEnc *) png_get_io_ptr (png_ptr);
 
@@ -194,31 +195,31 @@ GstPngEnc *pngenc;
 }
 
 
-void user_write_data (png_structp png_ptr, png_bytep data, png_uint_32 length)
+void
+user_write_data (png_structp png_ptr, png_bytep data, png_uint_32 length)
 {
   GstBuffer *buffer;
   GstPngEnc *pngenc;
 
   pngenc = (GstPngEnc *) png_get_io_ptr (png_ptr);
 
-  buffer = gst_buffer_new();
+  buffer = gst_buffer_new ();
   GST_BUFFER_DATA (buffer) = g_memdup (data, length);
   GST_BUFFER_SIZE (buffer) = length;
 
-  if (pngenc->buffer_out)
-  {
+  if (pngenc->buffer_out) {
     GstBuffer *merge;
+
     merge = gst_buffer_merge (pngenc->buffer_out, buffer);
     gst_buffer_unref (buffer);
     gst_buffer_unref (pngenc->buffer_out);
     pngenc->buffer_out = merge;
-  }
-  else
+  } else
     pngenc->buffer_out = buffer;
 }
 
 static void
-gst_pngenc_chain (GstPad *pad, GstData *_data)
+gst_pngenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstPngEnc *pngenc;
@@ -229,56 +230,50 @@ gst_pngenc_chain (GstPad *pad, GstData *_data)
   pngenc = GST_PNGENC (gst_pad_get_parent (pad));
 
   pngenc->buffer_out = NULL;
-  if (!GST_PAD_IS_USABLE (pngenc->srcpad))
-  {
+  if (!GST_PAD_IS_USABLE (pngenc->srcpad)) {
     gst_buffer_unref (buf);
     return;
   }
 
   /* initialize png struct stuff */
   pngenc->png_struct_ptr = png_create_write_struct (PNG_LIBPNG_VER_STRING,
-                          (png_voidp) NULL, user_error_fn, user_warning_fn);
+      (png_voidp) NULL, user_error_fn, user_warning_fn);
   /* FIXME: better error handling */
   if (pngenc->png_struct_ptr == NULL)
-     g_warning ("Failed to initialize png structure");
+    g_warning ("Failed to initialize png structure");
 
   pngenc->png_info_ptr = png_create_info_struct (pngenc->png_struct_ptr);
-  if (!pngenc->png_info_ptr)
-  {
+  if (!pngenc->png_info_ptr) {
     png_destroy_read_struct (&(pngenc->png_struct_ptr), (png_infopp) NULL,
-                            (png_infopp) NULL);
+       (png_infopp) NULL);
   }
 
   /* non-0 return is from a longjmp inside of libpng */
-  if (setjmp (pngenc->png_struct_ptr->jmpbuf) != 0)
-  {
+  if (setjmp (pngenc->png_struct_ptr->jmpbuf) != 0) {
     GST_DEBUG ("returning from longjmp");
     png_destroy_write_struct (&pngenc->png_struct_ptr, &pngenc->png_info_ptr);
     return;
   }
 
   png_set_filter (pngenc->png_struct_ptr, 0,
-                 PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE);
+      PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE);
   png_set_compression_level (pngenc->png_struct_ptr, 9);
 
-  png_set_IHDR(
-    pngenc->png_struct_ptr,
-    pngenc->png_info_ptr,
-    pngenc->width,
-    pngenc->height,
-    pngenc->bpp / 3,
-    PNG_COLOR_TYPE_RGB,
-    PNG_INTERLACE_NONE,
-    PNG_COMPRESSION_TYPE_DEFAULT,
-    PNG_FILTER_TYPE_DEFAULT
-  );
+  png_set_IHDR (pngenc->png_struct_ptr,
+      pngenc->png_info_ptr,
+      pngenc->width,
+      pngenc->height,
+      pngenc->bpp / 3,
+      PNG_COLOR_TYPE_RGB,
+      PNG_INTERLACE_NONE,
+      PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
 
   png_set_write_fn (pngenc->png_struct_ptr, pngenc,
-                   (png_rw_ptr) user_write_data, user_flush_data);
+      (png_rw_ptr) user_write_data, user_flush_data);
 
   for (row_index = 0; row_index < pngenc->height; row_index++)
     row_pointers[row_index] = GST_BUFFER_DATA (buf) +
-                             (pngenc->width * row_index * pngenc->bpp / 8);
+       (pngenc->width * row_index * pngenc->bpp / 8);
 
   png_write_info (pngenc->png_struct_ptr, pngenc->png_info_ptr);
   png_write_image (pngenc->png_struct_ptr, row_pointers);
index 59bc4ab..1c52126 100644 (file)
@@ -25,8 +25,9 @@
 #include <png.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_PNGENC        (gst_pngenc_get_type())
@@ -35,37 +36,37 @@ extern "C" {
 #define GST_IS_PNGENC(obj)     (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PNGENC))
 #define GST_IS_PNGENC_CLASS(obj)(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PNGENC))
 
-typedef struct _GstPngEnc GstPngEnc;
-typedef struct _GstPngEncClass GstPngEncClass;
+  typedef struct _GstPngEnc GstPngEnc;
+  typedef struct _GstPngEncClass GstPngEncClass;
 
-extern GstPadTemplate *pngenc_src_template, *pngenc_sink_template;
+  extern GstPadTemplate *pngenc_src_template, *pngenc_sink_template;
 
-struct _GstPngEnc
-{
-  GstElement element;
+  struct _GstPngEnc
+  {
+    GstElement element;
 
-  GstPad *sinkpad, *srcpad;
-  GstBuffer *buffer_out;
+    GstPad *sinkpad, *srcpad;
+    GstBuffer *buffer_out;
 
-  png_structp png_struct_ptr;
-  png_infop png_info_ptr;
+    png_structp png_struct_ptr;
+    png_infop png_info_ptr;
 
-  gint width;
-  gint height;
-  gint bpp;
-};
+    gint width;
+    gint height;
+    gint bpp;
+  };
 
-struct _GstPngEncClass
-{
-  GstElementClass parent_class;
-};
+  struct _GstPngEncClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_pngenc_get_type(void);
+  GType gst_pngenc_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_PNGENC_H__ */
+#endif                         /* __GST_PNGENC_H__ */
index 83d475b..2d7b8e6 100644 (file)
@@ -10,94 +10,96 @@ static int buffer_size;
 static SBYTE *audiobuffer = NULL;
 extern int need_sync;
 
-static BOOL mikmod_IsThere( void )
+static BOOL
+mikmod_IsThere (void)
 {
   return 1;
 }
 
-static BOOL mikmod_Init( void )
+static BOOL
+mikmod_Init (void)
 {
   buffer_size = 32768;
-  if (!( audiobuffer = ( SBYTE * ) g_malloc( buffer_size ) ))
+  if (!(audiobuffer = (SBYTE *) g_malloc (buffer_size)))
     return 1;
-    
-  return VC_Init();
+
+  return VC_Init ();
 }
 
-static void mikmod_Exit( void )
+static void
+mikmod_Exit (void)
 {
-  VC_Exit();
+  VC_Exit ();
 
-  if ( audiobuffer )
-  {
-    g_free(audiobuffer);
+  if (audiobuffer) {
+    g_free (audiobuffer);
     audiobuffer = NULL;
-  }    
+  }
 }
 
 
-static void mikmod_Update( void )
+static void
+mikmod_Update (void)
 {
   gint length;
   GstBuffer *outdata;
 
-  length = VC_WriteBytes((SBYTE *) audiobuffer, buffer_size);
-       
-  outdata = gst_buffer_new();
+  length = VC_WriteBytes ((SBYTE *) audiobuffer, buffer_size);
+
+  outdata = gst_buffer_new ();
 
-  GST_BUFFER_DATA( outdata ) = g_memdup( audiobuffer, length );
-  GST_BUFFER_SIZE( outdata ) = length;
+  GST_BUFFER_DATA (outdata) = g_memdup (audiobuffer, length);
+  GST_BUFFER_SIZE (outdata) = length;
 
-  GST_BUFFER_TIMESTAMP( outdata ) = timestamp;
+  GST_BUFFER_TIMESTAMP (outdata) = timestamp;
 
-  if ( need_sync == 1 )
-  {
+  if (need_sync == 1) {
     /* FIXME, send a flush event or something */
-    need_sync = 0 ;
+    need_sync = 0;
   }
-  gst_pad_push( srcpad, GST_DATA (outdata ));
-      
+  gst_pad_push (srcpad, GST_DATA (outdata));
+
 }
 
-static BOOL mikmod_Reset( void )
+static BOOL
+mikmod_Reset (void)
 {
-  VC_Exit();
-  return VC_Init();
+  VC_Exit ();
+  return VC_Init ();
 }
 
 
-MDRIVER drv_gst =
-{
-       NULL,
-       "mikmod",
-       "mikmod output driver v1.0",
-       0, 255,
+MDRIVER drv_gst = {
+  NULL,
+  "mikmod",
+  "mikmod output driver v1.0",
+  0, 255,
 #if (LIBMIKMOD_VERSION > 0x030106)
-        "mikmod",
-        NULL,
+  "mikmod",
+  NULL,
 #endif
-        mikmod_IsThere, 
-       VC_SampleLoad,
-       VC_SampleUnload,
-       VC_SampleSpace,
-       VC_SampleLength,
-       mikmod_Init,
-       mikmod_Exit,
-       mikmod_Reset,
-       VC_SetNumVoices,
-       VC_PlayStart,
-       VC_PlayStop,
-       mikmod_Update,
-       NULL,
-       VC_VoiceSetVolume,
-       VC_VoiceGetVolume,
-       VC_VoiceSetFrequency,
-       VC_VoiceGetFrequency,
-       VC_VoiceSetPanning,
-       VC_VoiceGetPanning,
-       VC_VoicePlay,
-       VC_VoiceStop,
-       VC_VoiceStopped,
-       VC_VoiceGetPosition,
-       VC_VoiceRealVolume
+  mikmod_IsThere,
+  VC_SampleLoad,
+  VC_SampleUnload,
+  VC_SampleSpace,
+  VC_SampleLength,
+  mikmod_Init,
+  mikmod_Exit,
+  mikmod_Reset,
+  VC_SetNumVoices,
+  VC_PlayStart,
+  VC_PlayStop,
+  mikmod_Update,
+  NULL,
+  VC_VoiceSetVolume,
+  VC_VoiceGetVolume,
+  VC_VoiceSetFrequency,
+  VC_VoiceGetFrequency,
+  VC_VoiceSetPanning,
+  VC_VoiceGetPanning,
+  VC_VoicePlay,
+  VC_VoiceStop,
+  VC_VoiceStopped,
+  VC_VoiceGetPosition,
+  VC_VoiceRealVolume
 };
index f8a6a4e..89e057c 100644 (file)
@@ -34,12 +34,14 @@ GstElementDetails mikmod_details = {
 
 
 /* Filter signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_SONGNAME,
   ARG_MODTYPE,
@@ -62,68 +64,67 @@ GstPad *srcpad;
 GstClockTime timestamp;
 int need_sync;
 
-static GstStaticPadTemplate mikmod_src_factory =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+static GstStaticPadTemplate mikmod_src_factory = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (
-      "audio/x-raw-int, "
+    GST_STATIC_CAPS ("audio/x-raw-int, "
        "endianness = (int) BYTE_ORDER, "
        "signed = (boolean) TRUE, "
        "width = (int) 16, "
        "depth = (int) 16, "
        "rate = (int) { 8000, 11025, 22050, 44100 }, "
        "channels = (int) [ 1, 2 ]; "
-      "audio/x-raw-int, "
+       "audio/x-raw-int, "
        "signed = (boolean) FALSE, "
        "width = (int) 8, "
        "depth = (int) 8, "
        "rate = (int) { 8000, 11025, 22050, 44100 }, "
-       "channels = (int) [ 1, 2 ]"
-    )
-);
+       "channels = (int) [ 1, 2 ]")
+    );
 
 static GstStaticPadTemplate mikmod_sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("audio/x-mod")
-);
+    );
 
-static void             gst_mikmod_base_init            (gpointer g_class);
-static void            gst_mikmod_class_init           (GstMikModClass *klass);
-static void            gst_mikmod_init                 (GstMikMod *filter);
-static void            gst_mikmod_set_property         (GObject *object, guint id, const GValue *value, GParamSpec *pspec );
-static void            gst_mikmod_get_property         (GObject *object, guint id, GValue *value, GParamSpec *pspec );
-static GstPadLinkReturn        gst_mikmod_srclink              (GstPad *pad, const GstCaps *caps);
-static GstCaps *       gst_mikmod_srcfixate            (GstPad *pad, const GstCaps *caps);
-static void             gst_mikmod_loop                 (GstElement *element);
-static gboolean                gst_mikmod_setup                (GstMikMod *mikmod);
-static GstElementStateReturn  gst_mikmod_change_state  (GstElement *element);
+static void gst_mikmod_base_init (gpointer g_class);
+static void gst_mikmod_class_init (GstMikModClass * klass);
+static void gst_mikmod_init (GstMikMod * filter);
+static void gst_mikmod_set_property (GObject * object, guint id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_mikmod_get_property (GObject * object, guint id, GValue * value,
+    GParamSpec * pspec);
+static GstPadLinkReturn gst_mikmod_srclink (GstPad * pad, const GstCaps * caps);
+static GstCaps *gst_mikmod_srcfixate (GstPad * pad, const GstCaps * caps);
+static void gst_mikmod_loop (GstElement * element);
+static gboolean gst_mikmod_setup (GstMikMod * mikmod);
+static GstElementStateReturn gst_mikmod_change_state (GstElement * element);
 
 
 
 static GstElementClass *parent_class = NULL;
 
 GType
-gst_mikmod_get_type(void) {
+gst_mikmod_get_type (void)
+{
   static GType mikmod_type = 0;
 
   if (!mikmod_type) {
     static const GTypeInfo mikmod_info = {
-      sizeof(GstMikModClass),
+      sizeof (GstMikModClass),
       gst_mikmod_base_init,
       NULL,
-      (GClassInitFunc)gst_mikmod_class_init,
+      (GClassInitFunc) gst_mikmod_class_init,
       NULL,
       NULL,
-      sizeof(GstMikMod),
+      sizeof (GstMikMod),
       0,
-      (GInstanceInitFunc)gst_mikmod_init,
+      (GInstanceInitFunc) gst_mikmod_init,
     };
-    mikmod_type = g_type_register_static(GST_TYPE_ELEMENT, "GstMikmod", &mikmod_info, 0);
+    mikmod_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstMikmod", &mikmod_info, 0);
   }
   return mikmod_type;
 }
@@ -141,58 +142,58 @@ gst_mikmod_base_init (gpointer g_class)
 }
 
 static void
-gst_mikmod_class_init (GstMikModClass *klass)
+gst_mikmod_class_init (GstMikModClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
-
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
-
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SONGNAME,
-    g_param_spec_string("songname","songname","songname",
-                        NULL, G_PARAM_READABLE));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MODTYPE,
-    g_param_spec_string("modtype", "modtype", "modtype",
-                       NULL, G_PARAM_READABLE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MUSICVOLUME,
-    g_param_spec_int("musicvolume", "musivolume", "musicvolume",
-                       0, 128, 128, G_PARAM_READWRITE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PANSEP,
-    g_param_spec_int("pansep", "pansep", "pansep",
-                       0, 128, 128, G_PARAM_READWRITE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_REVERB,
-    g_param_spec_int("reverb", "reverb", "reverb",
-                       0, 15, 0, G_PARAM_READWRITE ));                         
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SNDFXVOLUME,
-    g_param_spec_int("sndfxvolume", "sndfxvolume", "sndfxvolume",
-                       0, 128, 128, G_PARAM_READWRITE ));                      
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VOLUME,
-    g_param_spec_int("volume", "volume", "volume",
-                       0, 128, 96, G_PARAM_READWRITE ));
-                                                 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_INTERP,
-    g_param_spec_boolean("interp", "interp", "interp",
-                      FALSE, G_PARAM_READWRITE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_REVERSE,
-    g_param_spec_boolean("reverse", "reverse", "reverse",
-                      FALSE, G_PARAM_READWRITE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SURROUND,
-    g_param_spec_boolean("surround", "surround", "surround",
-                      TRUE, G_PARAM_READWRITE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HQMIXER,
-    g_param_spec_boolean("hqmixer", "hqmixer", "hqmixer",
-                      FALSE, G_PARAM_READWRITE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SOFT_MUSIC,
-    g_param_spec_boolean("soft_music", "soft_music", "soft_music",
-                      TRUE, G_PARAM_READWRITE ));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_SOFT_SNDFX,
-    g_param_spec_boolean("soft_sndfx", "soft_sndfx", "soft_sndfx",
-                      TRUE, G_PARAM_READWRITE ));
-
-  
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
+
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
+
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SONGNAME,
+      g_param_spec_string ("songname", "songname", "songname",
+         NULL, G_PARAM_READABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MODTYPE,
+      g_param_spec_string ("modtype", "modtype", "modtype",
+         NULL, G_PARAM_READABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MUSICVOLUME,
+      g_param_spec_int ("musicvolume", "musivolume", "musicvolume",
+         0, 128, 128, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PANSEP,
+      g_param_spec_int ("pansep", "pansep", "pansep",
+         0, 128, 128, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_REVERB,
+      g_param_spec_int ("reverb", "reverb", "reverb",
+         0, 15, 0, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SNDFXVOLUME,
+      g_param_spec_int ("sndfxvolume", "sndfxvolume", "sndfxvolume",
+         0, 128, 128, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_VOLUME,
+      g_param_spec_int ("volume", "volume", "volume",
+         0, 128, 96, G_PARAM_READWRITE));
+
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_INTERP,
+      g_param_spec_boolean ("interp", "interp", "interp",
+         FALSE, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_REVERSE,
+      g_param_spec_boolean ("reverse", "reverse", "reverse",
+         FALSE, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SURROUND,
+      g_param_spec_boolean ("surround", "surround", "surround",
+         TRUE, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HQMIXER,
+      g_param_spec_boolean ("hqmixer", "hqmixer", "hqmixer",
+         FALSE, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SOFT_MUSIC,
+      g_param_spec_boolean ("soft_music", "soft_music", "soft_music",
+         TRUE, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SOFT_SNDFX,
+      g_param_spec_boolean ("soft_sndfx", "soft_sndfx", "soft_sndfx",
+         TRUE, G_PARAM_READWRITE));
+
+
   gobject_class->set_property = gst_mikmod_set_property;
   gobject_class->get_property = gst_mikmod_get_property;
 
@@ -201,52 +202,54 @@ gst_mikmod_class_init (GstMikModClass *klass)
 
 
 static void
-gst_mikmod_init (GstMikMod *filter)
-{  
-  filter->sinkpad = gst_pad_new_from_template(
-      gst_static_pad_template_get (&mikmod_sink_factory),"sink");
-  filter->srcpad = gst_pad_new_from_template(
-    gst_static_pad_template_get (&mikmod_src_factory),"src");
-
-  gst_element_add_pad(GST_ELEMENT(filter),filter->sinkpad);
-  gst_element_add_pad(GST_ELEMENT(filter),filter->srcpad);
+gst_mikmod_init (GstMikMod * filter)
+{
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&mikmod_sink_factory), "sink");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&mikmod_src_factory), "src");
+
+  gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
+  gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
   gst_pad_set_link_function (filter->srcpad, gst_mikmod_srclink);
   gst_pad_set_fixate_function (filter->srcpad, gst_mikmod_srcfixate);
-  
+
   gst_element_set_loop_function (GST_ELEMENT (filter), gst_mikmod_loop);
-  
+
   filter->Buffer = NULL;
 
-  filter->stereo      = TRUE;
-  filter->surround    = TRUE;
-  filter->_16bit      = TRUE;
-  filter->soft_music  = TRUE;
-  filter->soft_sndfx  = TRUE;
-  filter->mixfreq     = 44100;
-  filter->reverb      = 0;
-  filter->pansep      = 128;
+  filter->stereo = TRUE;
+  filter->surround = TRUE;
+  filter->_16bit = TRUE;
+  filter->soft_music = TRUE;
+  filter->soft_sndfx = TRUE;
+  filter->mixfreq = 44100;
+  filter->reverb = 0;
+  filter->pansep = 128;
   filter->musicvolume = 128;
-  filter->volume      = 96;
+  filter->volume = 96;
   filter->sndfxvolume = 128;
-  filter->songname    = NULL;
-  filter->modtype     = NULL;
-  
+  filter->songname = NULL;
+  filter->modtype = NULL;
+
   filter->initialized = FALSE;
 }
 
 static GstCaps *
-gst_mikmod_srcfixate (GstPad *pad, const GstCaps *caps)
+gst_mikmod_srcfixate (GstPad * pad, const GstCaps * caps)
 {
   GstCaps *ret;
   GstStructure *structure;
-  
+
   /* FIXME: select est caps here */
   if (gst_caps_get_size (caps) > 1)
     return NULL;
 
   ret = gst_caps_copy (caps);
   structure = gst_caps_get_structure (ret, 0);
-  
+
   if (gst_caps_structure_fixate_field_nearest_int (structure, "channels", 2))
     return ret;
   if (gst_caps_structure_fixate_field_nearest_int (structure, "rate", 44100))
@@ -257,9 +260,9 @@ gst_mikmod_srcfixate (GstPad *pad, const GstCaps *caps)
 }
 
 static GstPadLinkReturn
-gst_mikmod_srclink (GstPad *pad, const GstCaps *caps)
+gst_mikmod_srclink (GstPad * pad, const GstCaps * caps)
 {
-  GstMikMod *filter; 
+  GstMikMod *filter;
   GstStructure *structure;
   gint depth;
   gint channels;
@@ -273,68 +276,69 @@ gst_mikmod_srclink (GstPad *pad, const GstCaps *caps)
   gst_structure_get_int (structure, "channels", &channels);
   filter->stereo = (channels == 2);
   gst_structure_get_int (structure, "rate", &filter->mixfreq);
-  
+
   return gst_mikmod_setup (filter) ? GST_PAD_LINK_OK : GST_PAD_LINK_REFUSED;
 }
 
 static void
-gst_mikmod_loop (GstElement *element)
+gst_mikmod_loop (GstElement * element)
 {
   GstMikMod *mikmod;
   GstBuffer *buffer_in;
 
   g_return_if_fail (element != NULL);
   g_return_if_fail (GST_IS_MIKMOD (element));
-       
+
   mikmod = GST_MIKMOD (element);
   srcpad = mikmod->srcpad;
   mikmod->Buffer = NULL;
-       
+
   if (!mikmod->initialized) {
-    while ((buffer_in = GST_BUFFER (gst_pad_pull( mikmod->sinkpad )))) {
-      if ( GST_IS_EVENT (buffer_in) ) {
+    while ((buffer_in = GST_BUFFER (gst_pad_pull (mikmod->sinkpad)))) {
+      if (GST_IS_EVENT (buffer_in)) {
        GstEvent *event = GST_EVENT (buffer_in);
-               
-       if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) 
-          break;
+
+       if (GST_EVENT_TYPE (event) == GST_EVENT_EOS)
+         break;
       } else {
-       if ( mikmod->Buffer ) {  
-         GstBuffer *merge;     
-         merge = gst_buffer_merge( mikmod->Buffer, buffer_in );
-         gst_buffer_unref( buffer_in );                
-         gst_buffer_unref( mikmod->Buffer );
+       if (mikmod->Buffer) {
+         GstBuffer *merge;
+
+         merge = gst_buffer_merge (mikmod->Buffer, buffer_in);
+         gst_buffer_unref (buffer_in);
+         gst_buffer_unref (mikmod->Buffer);
          mikmod->Buffer = merge;
        } else {
          mikmod->Buffer = buffer_in;
        }
       }
-    }  
-  
+    }
+
     if (!GST_PAD_CAPS (mikmod->srcpad)) {
       if (GST_PAD_LINK_SUCCESSFUL (gst_pad_renegotiate (mikmod->srcpad))) {
        GST_ELEMENT_ERROR (mikmod, CORE, NEGOTIATION, (NULL), (NULL));
        return;
       }
     }
-  
-    MikMod_RegisterDriver(&drv_gst);
-    MikMod_RegisterAllLoaders();
-
-    MikMod_Init("");
-    reader = GST_READER_new( mikmod );
-    module = Player_LoadGeneric ( reader, 64, 0 );
-  
+
+    MikMod_RegisterDriver (&drv_gst);
+    MikMod_RegisterAllLoaders ();
+
+    MikMod_Init ("");
+    reader = GST_READER_new (mikmod);
+    module = Player_LoadGeneric (reader, 64, 0);
+
     gst_buffer_unref (mikmod->Buffer);
-  
-    if ( ! Player_Active() )
-      Player_Start(module);
-    
+
+    if (!Player_Active ())
+      Player_Start (module);
+
     mikmod->initialized = TRUE;
   }
 
-  if ( Player_Active() ) {
-    timestamp = ( module->sngtime / 1024.0 ) * GST_SECOND;
-    drv_gst.Update();
+  if (Player_Active ()) {
+    timestamp = (module->sngtime / 1024.0) * GST_SECOND;
+    drv_gst.Update ();
   } else {
     gst_element_set_eos (GST_ELEMENT (mikmod));
     gst_pad_push (mikmod->srcpad, GST_DATA (gst_event_new (GST_EVENT_EOS)));
@@ -343,7 +347,7 @@ gst_mikmod_loop (GstElement *element)
 
 
 static gboolean
-gst_mikmod_setup (GstMikMod *mikmod)
+gst_mikmod_setup (GstMikMod * mikmod)
 {
   md_musicvolume = mikmod->musicvolume;
   md_pansep = mikmod->pansep;
@@ -354,28 +358,28 @@ gst_mikmod_setup (GstMikMod *mikmod)
 
   md_mode = 0;
 
-  if ( mikmod->interp )
+  if (mikmod->interp)
     md_mode = md_mode | DMODE_INTERP;
 
-  if ( mikmod->reverse )
+  if (mikmod->reverse)
     md_mode = md_mode | DMODE_REVERSE;
 
-  if ( mikmod->surround )
+  if (mikmod->surround)
     md_mode = md_mode | DMODE_SURROUND;
 
-  if ( mikmod->_16bit )
+  if (mikmod->_16bit)
     md_mode = md_mode | DMODE_16BITS;
 
-  if ( mikmod->hqmixer )
+  if (mikmod->hqmixer)
     md_mode = md_mode | DMODE_HQMIXER;
 
-  if ( mikmod->soft_music )
+  if (mikmod->soft_music)
     md_mode = md_mode | DMODE_SOFT_MUSIC;
 
-  if ( mikmod->soft_sndfx )
+  if (mikmod->soft_sndfx)
     md_mode = md_mode | DMODE_SOFT_SNDFX;
 
-  if ( mikmod->stereo )
+  if (mikmod->stereo)
     md_mode = md_mode | DMODE_STEREO;
 
   return TRUE;
@@ -383,9 +387,9 @@ gst_mikmod_setup (GstMikMod *mikmod)
 
 
 static GstElementStateReturn
-gst_mikmod_change_state (GstElement *element)
+gst_mikmod_change_state (GstElement * element)
 {
-GstMikMod *mikmod;
+  GstMikMod *mikmod;
 
   g_return_val_if_fail (GST_IS_MIKMOD (element), GST_STATE_FAILURE);
 
@@ -393,35 +397,31 @@ GstMikMod *mikmod;
 
   GST_DEBUG ("state pending %d", GST_STATE_PENDING (element));
 
-  if (GST_STATE_PENDING (element) == GST_STATE_READY) 
-  {
-     gst_mikmod_setup(mikmod);
-         
-        if ( Player_Active() )
-        {
-               Player_TogglePause();
-               Player_SetPosition( 0 );
-        }
-     mikmod->initialized = FALSE;      
+  if (GST_STATE_PENDING (element) == GST_STATE_READY) {
+    gst_mikmod_setup (mikmod);
+
+    if (Player_Active ()) {
+      Player_TogglePause ();
+      Player_SetPosition (0);
+    }
+    mikmod->initialized = FALSE;
   }
-  
-  if (GST_STATE_PENDING (element) == GST_STATE_PLAYING) 
-  {     
-        if ( Player_Active() && Player_Paused() )       
-               Player_TogglePause();
-        else
-          if ( ! Player_Active() )
-            Player_Start(module);
-        
+
+  if (GST_STATE_PENDING (element) == GST_STATE_PLAYING) {
+    if (Player_Active () && Player_Paused ())
+      Player_TogglePause ();
+    else if (!Player_Active ())
+      Player_Start (module);
+
   }
-       
-  if (GST_STATE_PENDING (element) == GST_STATE_PAUSED) 
-    if ( Player_Active() && ! Player_Paused() )
-       Player_TogglePause();
 
-  if (GST_STATE_PENDING (element) == GST_STATE_NULL) 
-         MikMod_Exit();    
-  
+  if (GST_STATE_PENDING (element) == GST_STATE_PAUSED)
+    if (Player_Active () && !Player_Paused ())
+      Player_TogglePause ();
+
+  if (GST_STATE_PENDING (element) == GST_STATE_NULL)
+    MikMod_Exit ();
+
 
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
     return GST_ELEMENT_CLASS (parent_class)->change_state (element);
@@ -432,13 +432,14 @@ GstMikMod *mikmod;
 
 
 static void
-gst_mikmod_set_property (GObject *object, guint id, const GValue *value, GParamSpec *pspec )
+gst_mikmod_set_property (GObject * object, guint id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstMikMod *filter;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MIKMOD(object));
-  filter = GST_MIKMOD(object);
+  g_return_if_fail (GST_IS_MIKMOD (object));
+  filter = GST_MIKMOD (object);
 
   switch (id) {
     case ARG_SONGNAME:
@@ -488,13 +489,14 @@ gst_mikmod_set_property (GObject *object, guint id, const GValue *value, GParamS
 }
 
 static void
-gst_mikmod_get_property (GObject *object, guint id, GValue *value, GParamSpec *pspec )
+gst_mikmod_get_property (GObject * object, guint id, GValue * value,
+    GParamSpec * pspec)
 {
   GstMikMod *filter;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MIKMOD(object));
-  filter = GST_MIKMOD(object);
+  g_return_if_fail (GST_IS_MIKMOD (object));
+  filter = GST_MIKMOD (object);
 
   switch (id) {
     case ARG_MUSICVOLUME:
@@ -536,21 +538,17 @@ gst_mikmod_get_property (GObject *object, guint id, GValue *value, GParamSpec *p
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  if (!gst_element_register (plugin, "mikmod", GST_RANK_SECONDARY, GST_TYPE_MIKMOD))
+  if (!gst_element_register (plugin, "mikmod", GST_RANK_SECONDARY,
+         GST_TYPE_MIKMOD))
     return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "mikmod",
-  "Mikmod plugin library",
-  plugin_init,
-  VERSION,
-  "GPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "mikmod",
+    "Mikmod plugin library",
+    plugin_init, VERSION, "GPL", GST_PACKAGE, GST_ORIGIN)
index 208fc5b..ce65f8e 100644 (file)
 #include <gst/gst.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_MIKMOD \
   (gst_mikmod_get_type())
-  
+
 #define GST_MIKMOD(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MIKMOD,GstMikMod))
 #define GST_MIKMOD_CLASS(klass) \
@@ -40,68 +41,70 @@ extern "C" {
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MIKMOD))
 #define GST_IS_MIKMOD_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MIKMOD))
-  
-struct _GstMikMod {
-  GstElement element;
-  GstPad *sinkpad, *srcpad;
-  GstBuffer *Buffer;
-
-  gchar *songname;
-  gchar *modtype;
-  gint musicvolume;
-  gint pansep;
-  gint reverb;
-  gint sndfxvolume;
-  gint volume;
-  gint mixfreq;
-  gint mode;
-  gboolean interp;
-  gboolean reverse;
-  gboolean surround;
-  gboolean _16bit;
-  gboolean hqmixer;
-  gboolean soft_music;
-  gboolean soft_sndfx;
-  gboolean stereo;
-
-  gboolean initialized;
-};
-
-struct _GstMikModClass {
-  GstElementClass parent_class;
-};
-
-typedef struct _GstMikMod GstMikMod;
-typedef struct _GstMikModClass GstMikModClass;
-
-extern MODULE *module;
-extern MREADER *reader;
-extern GstPad *srcpad;
-extern GstClockTime timestamp;
-extern int need_sync;
-
-GType gst_mikmod_get_type(void);
+
+  struct _GstMikMod
+  {
+    GstElement element;
+    GstPad *sinkpad, *srcpad;
+    GstBuffer *Buffer;
+
+    gchar *songname;
+    gchar *modtype;
+    gint musicvolume;
+    gint pansep;
+    gint reverb;
+    gint sndfxvolume;
+    gint volume;
+    gint mixfreq;
+    gint mode;
+    gboolean interp;
+    gboolean reverse;
+    gboolean surround;
+    gboolean _16bit;
+    gboolean hqmixer;
+    gboolean soft_music;
+    gboolean soft_sndfx;
+    gboolean stereo;
+
+    gboolean initialized;
+  };
+
+  struct _GstMikModClass
+  {
+    GstElementClass parent_class;
+  };
+
+  typedef struct _GstMikMod GstMikMod;
+  typedef struct _GstMikModClass GstMikModClass;
+
+  extern MODULE *module;
+  extern MREADER *reader;
+  extern GstPad *srcpad;
+  extern GstClockTime timestamp;
+  extern int need_sync;
+
+  GType gst_mikmod_get_type (void);
 
 /* symbols for mikmod_reader.h */
-struct _GST_READER
-{
-  MREADER core;
-  GstMikMod *mik;
-  guint64 offset;
-  gshort  eof;
-};
+  struct _GST_READER
+  {
+    MREADER core;
+    GstMikMod *mik;
+    guint64 offset;
+    gshort eof;
+  };
 
 
-typedef struct _GST_READER GST_READER;
+  typedef struct _GST_READER GST_READER;
 
 
-MREADER *GST_READER_new( GstMikMod *mik );
+  MREADER *GST_READER_new (GstMikMod * mik);
 
 /* symbols for drv_gst.c */
-extern MDRIVER drv_gst;
+  extern MDRIVER drv_gst;
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
-#endif /* __GST_MIKMOD_H__ */
+#endif                         /* __GST_MIKMOD_H__ */
index 38b8402..f8e83de 100644 (file)
@@ -9,57 +9,62 @@
 
 extern int need_sync;
 
-static BOOL GST_READER_Eof ( MREADER *reader );
-static BOOL GST_READER_Read( MREADER *reader, void *ptr, size_t size );
-static int  GST_READER_Get ( MREADER *reader );
-static BOOL GST_READER_Seek( MREADER* reader,long offset,int whence );
-static long GST_READER_Tell( MREADER* reader );
+static BOOL GST_READER_Eof (MREADER * reader);
+static BOOL GST_READER_Read (MREADER * reader, void *ptr, size_t size);
+static int GST_READER_Get (MREADER * reader);
+static BOOL GST_READER_Seek (MREADER * reader, long offset, int whence);
+static long GST_READER_Tell (MREADER * reader);
 
 
-static BOOL GST_READER_Eof( MREADER *reader )
+static BOOL
+GST_READER_Eof (MREADER * reader)
 {
-GST_READER *gst_reader;
+  GST_READER *gst_reader;
 
-  gst_reader = ( GST_READER * ) reader;
+  gst_reader = (GST_READER *) reader;
 
   return gst_reader->eof;
 }
 
 
-static BOOL GST_READER_Read( MREADER *reader, void *ptr, size_t size )
+static BOOL
+GST_READER_Read (MREADER * reader, void *ptr, size_t size)
 {
-GST_READER *gst_reader;
+  GST_READER *gst_reader;
 
-  gst_reader = ( GST_READER * ) reader;
-       
-  memcpy( ptr, GST_BUFFER_DATA( gst_reader->mik->Buffer ) + gst_reader->offset, size);
-  gst_reader->offset = gst_reader->offset + size;   
+  gst_reader = (GST_READER *) reader;
+
+  memcpy (ptr, GST_BUFFER_DATA (gst_reader->mik->Buffer) + gst_reader->offset,
+      size);
+  gst_reader->offset = gst_reader->offset + size;
 
   return 1;
 }
 
 
-static int GST_READER_Get ( MREADER *reader )
+static int
+GST_READER_Get (MREADER * reader)
 {
-GST_READER *gst_reader;
-int res;
+  GST_READER *gst_reader;
+  int res;
+
+  gst_reader = (GST_READER *) reader;
 
-  gst_reader = ( GST_READER * ) reader;
-        
-  res = *( GST_BUFFER_DATA( gst_reader->mik->Buffer ) + gst_reader->offset );
+  res = *(GST_BUFFER_DATA (gst_reader->mik->Buffer) + gst_reader->offset);
   gst_reader->offset += 1;
-        
+
   return res;
 }
 
 
-static BOOL GST_READER_Seek( MREADER *reader, long offset, int whence )
+static BOOL
+GST_READER_Seek (MREADER * reader, long offset, int whence)
 {
-GST_READER *gst_reader;
-    
-  gst_reader = ( GST_READER * ) reader;
+  GST_READER *gst_reader;
 
-  if ( whence == SEEK_SET )
+  gst_reader = (GST_READER *) reader;
+
+  if (whence == SEEK_SET)
     gst_reader->offset = offset;
   else
     gst_reader->offset += offset;
@@ -68,39 +73,41 @@ GST_READER *gst_reader;
 }
 
 
-static long GST_READER_Tell( MREADER *reader )
+static long
+GST_READER_Tell (MREADER * reader)
 {
-GST_READER *gst_reader;
+  GST_READER *gst_reader;
 
-  gst_reader = ( GST_READER * ) reader;
+  gst_reader = (GST_READER *) reader;
 
   return gst_reader->offset;
 }
 
 
-MREADER *GST_READER_new( GstMikMod *mik )
+MREADER *
+GST_READER_new (GstMikMod * mik)
 {
-GST_READER *gst_reader;
-       
-  gst_reader = ( GST_READER * ) g_malloc( sizeof( GST_READER ));
+  GST_READER *gst_reader;
+
+  gst_reader = (GST_READER *) g_malloc (sizeof (GST_READER));
   gst_reader->offset = 0;
-  gst_reader->eof    = 0;
-  gst_reader->mik    = mik;
-  if ( gst_reader ) 
-  {
-     gst_reader->core.Eof  = &GST_READER_Eof;
-     gst_reader->core.Read = &GST_READER_Read;
-     gst_reader->core.Get  = &GST_READER_Get;
-     gst_reader->core.Seek = &GST_READER_Seek;
-     gst_reader->core.Tell = &GST_READER_Tell;
+  gst_reader->eof = 0;
+  gst_reader->mik = mik;
+  if (gst_reader) {
+    gst_reader->core.Eof = &GST_READER_Eof;
+    gst_reader->core.Read = &GST_READER_Read;
+    gst_reader->core.Get = &GST_READER_Get;
+    gst_reader->core.Seek = &GST_READER_Seek;
+    gst_reader->core.Tell = &GST_READER_Tell;
   }
 
-  return ( MREADER *)gst_reader;
+  return (MREADER *) gst_reader;
 }
 
 
-void GST_READER_free ( MREADER *reader )
+void
+GST_READER_free (MREADER * reader)
 {
-  if ( reader ) 
-    g_free( reader );
+  if (reader)
+    g_free (reader);
 }
index f583d08..370f59c 100644 (file)
 
 #define MODULEHEADERSIZE 0x438
 
-gboolean MOD_CheckType( GstBuffer *buf )
+
+gboolean
+MOD_CheckType (GstBuffer * buf)
 {
-gchar *data;
-               
-       data = GST_BUFFER_DATA( buf ) + MODULEHEADERSIZE;       
-       
-       /* Protracker and variants */
-       if (( ! memcmp( data, "M.K.", 4 )) || ( ! memcmp( data, "M!K!", 4 )))
-               return TRUE;
-       
-       /* Star Tracker */
-       if ((( ! memcmp( data, "FLT", 3 )) || ( ! memcmp( data, "EXO", 3 ))) && ( isdigit( data[3] )))
-               return TRUE;
-       
-       /* Oktalyzer (Amiga) */
-       if (! memcmp( data, "OKTA", 4 )) 
-               return TRUE;
-       
-       /* Oktalyser (Atari) */
-       if ( ! memcmp( data, "CD81", 4 ))
-               return TRUE;
-       
-       /* Fasttracker */
-       if (( ! memcmp( data + 1, "CHN", 3 )) && ( isdigit( data[0] ))) 
-               return TRUE;
-               
-       /* Fasttracker or Taketracker */
-       if ((( ! memcmp( data + 2, "CH", 2 )) || ( ! memcmp( data + 2, "CN", 2 ))) && ( isdigit( data[0] )) && ( isdigit( data[1] ))) 
-               return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf) + MODULEHEADERSIZE;
+
+  /* Protracker and variants */
+  if ((!memcmp (data, "M.K.", 4)) || (!memcmp (data, "M!K!", 4)))
+    return TRUE;
+
+  /* Star Tracker */
+  if (((!memcmp (data, "FLT", 3)) || (!memcmp (data, "EXO", 3)))
+      && (isdigit (data[3])))
+    return TRUE;
+
+  /* Oktalyzer (Amiga) */
+  if (!memcmp (data, "OKTA", 4))
+    return TRUE;
+
+  /* Oktalyser (Atari) */
+  if (!memcmp (data, "CD81", 4))
+    return TRUE;
+
+  /* Fasttracker */
+  if ((!memcmp (data + 1, "CHN", 3)) && (isdigit (data[0])))
+    return TRUE;
+
+  /* Fasttracker or Taketracker */
+  if (((!memcmp (data + 2, "CH", 2)) || (!memcmp (data + 2, "CN", 2)))
+      && (isdigit (data[0])) && (isdigit (data[1])))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Mod_669_CheckType( GstBuffer *buf )
+gboolean
+Mod_669_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf );
-       
-       if( ! memcmp( data, "if", 2 ) || ! memcmp( data, "JN", 2 )) 
-               return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if (!memcmp (data, "if", 2) || !memcmp (data, "JN", 2))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Amf_CheckType( GstBuffer *buf )
+gboolean
+Amf_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-    data = GST_BUFFER_DATA( buf );
-       
-    if( memcmp( data, "AMF", 3) ) 
-      return FALSE;   
-       
-    data = GST_BUFFER_DATA( buf ) + 3;
-               
-       if (( (gint)*data >= 10 ) && ( (gint)*data <= 14 )) 
-         return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if (memcmp (data, "AMF", 3))
+    return FALSE;
+
+  data = GST_BUFFER_DATA (buf) + 3;
+
+  if (((gint) * data >= 10) && ((gint) * data <= 14))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Dsm_CheckType( GstBuffer *buf )
+gboolean
+Dsm_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-    data = GST_BUFFER_DATA( buf );
-       
-       if( ! memcmp( data, "RIFF", 4 ) && ! memcmp( data + 8, "DSMF", 4 )) 
-         return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if (!memcmp (data, "RIFF", 4) && !memcmp (data + 8, "DSMF", 4))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Fam_CheckType( GstBuffer *buf )
+gboolean
+Fam_CheckType (GstBuffer * buf)
 {
-gchar *data;   
-static unsigned char FARSIG[4+3]={'F','A','R',0xfe,13,10,26};
-
-       data = GST_BUFFER_DATA( buf );
-       
-       if(( memcmp( data, FARSIG, 4 )) || ( memcmp( data + 44, FARSIG + 4, 3 )))
-         return FALSE;
-       
-       return 1;
+  gchar *data;
+  static unsigned char FARSIG[4 + 3] = { 'F', 'A', 'R', 0xfe, 13, 10, 26 };
+
+  data = GST_BUFFER_DATA (buf);
+
+  if ((memcmp (data, FARSIG, 4)) || (memcmp (data + 44, FARSIG + 4, 3)))
+    return FALSE;
+
+  return 1;
 }
 
-gboolean Gdm_CheckType( GstBuffer *buf )
+gboolean
+Gdm_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf );
-       
-       if ( ! memcmp( data, "GDM\xfe", 4 ) &&  ! memcmp( data + 71, "GMFS", 4 ))
-               return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if (!memcmp (data, "GDM\xfe", 4) && !memcmp (data + 71, "GMFS", 4))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Imf_CheckType( GstBuffer *buf )
+gboolean
+Imf_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf ) + 0x3c;
-               
-       if( ! memcmp( data, "IM10", 4))
-               return TRUE;
-               
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf) + 0x3c;
+
+  if (!memcmp (data, "IM10", 4))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean It_CheckType( GstBuffer *buf )
+gboolean
+It_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf );
-               
-       if( ! memcmp( data, "IMPM", 4 )) 
-               return TRUE;
-               
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if (!memcmp (data, "IMPM", 4))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean M15_CheckType( GstBuffer *buf )
+gboolean
+M15_CheckType (GstBuffer * buf)
 {
-       /* FIXME: M15 CheckType to do */
-       return FALSE;
+  /* FIXME: M15 CheckType to do */
+  return FALSE;
 }
 
-gboolean Med_CheckType( GstBuffer *buf )
+gboolean
+Med_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf );
-               
-       if(( ! memcmp(data, "MMD0", 4 )) || ( memcmp( data, "MMD1", 4 )))
-               return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if ((!memcmp (data, "MMD0", 4)) || (memcmp (data, "MMD1", 4)))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Mtm_CheckType( GstBuffer *buf )
+gboolean
+Mtm_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf );
-
-       if( ! memcmp( data, "MTM", 3 ))
-               return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if (!memcmp (data, "MTM", 3))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Okt_CheckType( GstBuffer *buf )
+gboolean
+Okt_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf );
-
-       if( ! memcmp( data, "OKTSONG", 8 ))
-               return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf);
+
+  if (!memcmp (data, "OKTSONG", 8))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean S3m_CheckType( GstBuffer *buf )
+gboolean
+S3m_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf ) + 0x2c;
-
-       if( ! memcmp( data, "SCRM", 4 ))
-               return TRUE;
-       
-       return FALSE;
+  gchar *data;
+
+  data = GST_BUFFER_DATA (buf) + 0x2c;
+
+  if (!memcmp (data, "SCRM", 4))
+    return TRUE;
+
+  return FALSE;
 }
 
-gboolean Xm_CheckType( GstBuffer *buf )
+gboolean
+Xm_CheckType (GstBuffer * buf)
 {
-gchar *data;
-       
-       data = GST_BUFFER_DATA( buf );
-
-       if( memcmp( data, "Extended Module: ", 17 ))
-               return FALSE;
-       
-       if( data[ 37 ] == 0x1a )
-               return TRUE;
-       
-       return FALSE;
-}
+  gchar *data;
 
+  data = GST_BUFFER_DATA (buf);
 
+  if (memcmp (data, "Extended Module: ", 17))
+    return FALSE;
+
+  if (data[37] == 0x1a)
+    return TRUE;
+
+  return FALSE;
+}
index c431faf..8559455 100644 (file)
 #define __MIKMOD_TYPES_H__
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
-gboolean MOD_CheckType (GstBuffer *buf);
-gboolean Mod_669_CheckType (GstBuffer *buf);
-gboolean Amf_CheckType (GstBuffer *buf);
-gboolean Dsm_CheckType (GstBuffer *buf);
-gboolean Fam_CheckType (GstBuffer *buf);
-gboolean Gdm_CheckType (GstBuffer *buf);
-gboolean Imf_CheckType (GstBuffer *buf);
-gboolean It_CheckType (GstBuffer *buf);
-gboolean M15_CheckType (GstBuffer *buf);
-gboolean Mtm_CheckType (GstBuffer *buf);
-gboolean Okt_CheckType (GstBuffer *buf);
-gboolean S3m_CheckType (GstBuffer *buf);
-gboolean Xm_CheckType (GstBuffer *buf);
+  gboolean MOD_CheckType (GstBuffer * buf);
+  gboolean Mod_669_CheckType (GstBuffer * buf);
+  gboolean Amf_CheckType (GstBuffer * buf);
+  gboolean Dsm_CheckType (GstBuffer * buf);
+  gboolean Fam_CheckType (GstBuffer * buf);
+  gboolean Gdm_CheckType (GstBuffer * buf);
+  gboolean Imf_CheckType (GstBuffer * buf);
+  gboolean It_CheckType (GstBuffer * buf);
+  gboolean M15_CheckType (GstBuffer * buf);
+  gboolean Mtm_CheckType (GstBuffer * buf);
+  gboolean Okt_CheckType (GstBuffer * buf);
+  gboolean S3m_CheckType (GstBuffer * buf);
+  gboolean Xm_CheckType (GstBuffer * buf);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
-#endif /* __MIKMOD_TYPES_H__ */
+#endif                         /* __MIKMOD_TYPES_H__ */
index 4264e81..d0b4029 100644 (file)
 /*#include "SDL_blit.h"*/
 
 static GstElementDetails textoverlay_details = {
-    "Text Overlay",
-    "Filter/Editor/Video",
-    "Adds text strings on top of a video buffer",
-    "Gustavo J. A. M. Carneiro <gjc@inescporto.pt>"
+  "Text Overlay",
+  "Filter/Editor/Video",
+  "Adds text strings on top of a video buffer",
+  "Gustavo J. A. M. Carneiro <gjc@inescporto.pt>"
 };
 
-enum {
-    ARG_0,
-    ARG_TEXT, 
-    ARG_VALIGN, 
-    ARG_HALIGN, 
-    ARG_X0, 
-    ARG_Y0, 
-    ARG_FONT_DESC, 
+enum
+{
+  ARG_0,
+  ARG_TEXT,
+  ARG_VALIGN,
+  ARG_HALIGN,
+  ARG_X0,
+  ARG_Y0,
+  ARG_FONT_DESC,
 };
 
 
 static GstStaticPadTemplate textoverlay_src_template_factory =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("video/x-raw-yuv, "
-      "format = (fourcc) I420, "
-      "width = (int) [ 1, MAX ], "
-      "height = (int) [ 1, MAX ]")
-);
+       "format = (fourcc) I420, "
+       "width = (int) [ 1, MAX ], " "height = (int) [ 1, MAX ]")
+    );
 
 static GstStaticPadTemplate video_sink_template_factory =
-GST_STATIC_PAD_TEMPLATE (
-    "video_sink",
+GST_STATIC_PAD_TEMPLATE ("video_sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("video/x-raw-yuv, "
-      "format = (fourcc) I420, "
-      "width = (int) [ 1, MAX ], "
-      "height = (int) [ 1, MAX ]")
-);
+       "format = (fourcc) I420, "
+       "width = (int) [ 1, MAX ], " "height = (int) [ 1, MAX ]")
+    );
 
 static GstStaticPadTemplate text_sink_template_factory =
-GST_STATIC_PAD_TEMPLATE (
-    "text_sink",
+    GST_STATIC_PAD_TEMPLATE ("text_sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("text/x-pango-markup; text/plain")
-);
-
-static void                  gst_textoverlay_base_init (gpointer g_class);
-static void                  gst_textoverlay_class_init(GstTextOverlayClass *klass);
-static void                  gst_textoverlay_init(GstTextOverlay      *overlay);
-static void                  gst_textoverlay_set_property(GObject             *object, 
-                                                          guint                prop_id, 
-                                                          const GValue        *value, 
-                                                          GParamSpec          *pspec);
-static void                  gst_textoverlay_get_property(GObject             *object, 
-                                                          guint                prop_id, 
-                                                          GValue              *value, 
-                                                          GParamSpec          *pspec);
-static GstElementStateReturn gst_textoverlay_change_state(GstElement          *element);
-static void                  gst_textoverlay_finalize(GObject             *object);
+    );
+
+static void gst_textoverlay_base_init (gpointer g_class);
+static void gst_textoverlay_class_init (GstTextOverlayClass * klass);
+static void gst_textoverlay_init (GstTextOverlay * overlay);
+static void gst_textoverlay_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_textoverlay_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_textoverlay_change_state (GstElement *
+    element);
+static void gst_textoverlay_finalize (GObject * object);
 
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_textoverlay_signals[LAST_SIGNAL] = { 0 }; */
 
 
 GType
-gst_textoverlay_get_type(void)
+gst_textoverlay_get_type (void)
 {
-    static GType textoverlay_type = 0;
-
-    if (!textoverlay_type) {
-       static const GTypeInfo textoverlay_info = {
-           sizeof(GstTextOverlayClass), 
-           gst_textoverlay_base_init,
-           NULL,
-           (GClassInitFunc)gst_textoverlay_class_init,
-           NULL,
-           NULL,
-           sizeof(GstTextOverlay),
-           0,
-           (GInstanceInitFunc)gst_textoverlay_init,
-       };
-       textoverlay_type = g_type_register_static(GST_TYPE_ELEMENT, "GstTextOverlay", 
-                                                 &textoverlay_info, 0);
-    }
-    return textoverlay_type;
+  static GType textoverlay_type = 0;
+
+  if (!textoverlay_type) {
+    static const GTypeInfo textoverlay_info = {
+      sizeof (GstTextOverlayClass),
+      gst_textoverlay_base_init,
+      NULL,
+      (GClassInitFunc) gst_textoverlay_class_init,
+      NULL,
+      NULL,
+      sizeof (GstTextOverlay),
+      0,
+      (GInstanceInitFunc) gst_textoverlay_init,
+    };
+    textoverlay_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstTextOverlay",
+       &textoverlay_info, 0);
+  }
+  return textoverlay_type;
 }
 
 static void
 gst_textoverlay_base_init (gpointer g_class)
 {
-    GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
+  GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-    gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&textoverlay_src_template_factory));
-    gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&video_sink_template_factory));
-    gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&text_sink_template_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&textoverlay_src_template_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&video_sink_template_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&text_sink_template_factory));
 
-    gst_element_class_set_details (element_class, &textoverlay_details);
+  gst_element_class_set_details (element_class, &textoverlay_details);
 }
 
 static void
-gst_textoverlay_class_init(GstTextOverlayClass *klass)
+gst_textoverlay_class_init (GstTextOverlayClass * klass)
 {
-    GObjectClass *gobject_class;
-    GstElementClass *gstelement_class;
-
-    gobject_class = (GObjectClass*)klass;
-    gstelement_class = (GstElementClass*)klass;
-
-    parent_class = g_type_class_peek_parent(klass);
-
-    gobject_class->finalize = gst_textoverlay_finalize;
-    gobject_class->set_property = gst_textoverlay_set_property;
-    gobject_class->get_property = gst_textoverlay_get_property;
-
-    gstelement_class->change_state = gst_textoverlay_change_state;
-    klass->pango_context = pango_ft2_get_context(72, 72);
-    g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_TEXT, 
-                                   g_param_spec_string("text", "text", 
-                                                       "Text to be display,"
-                                                       " in pango markup format.", 
-                                                       "", G_PARAM_WRITABLE));
-    g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VALIGN, 
-                                   g_param_spec_string("valign", "vertical alignment", 
-                                                       "Vertical alignment of the text. "
-                                                       "Can be either 'baseline', 'bottom', or 'top'", 
-                                                       "baseline", G_PARAM_WRITABLE));
-    g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HALIGN, 
-                                   g_param_spec_string("halign", "horizontal alignment", 
-                                                       "Horizontal alignment of the text. "
-                                                       "Can be either 'left', 'right', or 'center'", 
-                                                       "center", G_PARAM_WRITABLE));
-    g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_X0, 
-                                   g_param_spec_int("x0", "X position", 
-                                                    "Initial X position."
-                                                    " Horizontal aligment takes this point"
-                                                    " as reference.", 
-                                                    G_MININT, G_MAXINT, 0, G_PARAM_WRITABLE));
-    g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_Y0, 
-                                   g_param_spec_int("y0", "Y position", 
-                                                    "Initial Y position."
-                                                    " Vertical aligment takes this point"
-                                                    " as reference.", 
-                                                    G_MININT, G_MAXINT, 0, G_PARAM_WRITABLE));
-    g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FONT_DESC, 
-                                   g_param_spec_string("font-desc", "font description", 
-                                                       "Pango font description of font "
-                                                       "to be used for rendering. "
-                                                       "See documentation of "
-                                                       "pango_font_description_from_string"
-                                                       " for syntax.", 
-                                                       "", G_PARAM_WRITABLE));
+  GObjectClass *gobject_class;
+  GstElementClass *gstelement_class;
+
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
+
+  parent_class = g_type_class_peek_parent (klass);
+
+  gobject_class->finalize = gst_textoverlay_finalize;
+  gobject_class->set_property = gst_textoverlay_set_property;
+  gobject_class->get_property = gst_textoverlay_get_property;
+
+  gstelement_class->change_state = gst_textoverlay_change_state;
+  klass->pango_context = pango_ft2_get_context (72, 72);
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_TEXT,
+      g_param_spec_string ("text", "text",
+         "Text to be display,"
+         " in pango markup format.", "", G_PARAM_WRITABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_VALIGN,
+      g_param_spec_string ("valign", "vertical alignment",
+         "Vertical alignment of the text. "
+         "Can be either 'baseline', 'bottom', or 'top'",
+         "baseline", G_PARAM_WRITABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HALIGN,
+      g_param_spec_string ("halign", "horizontal alignment",
+         "Horizontal alignment of the text. "
+         "Can be either 'left', 'right', or 'center'",
+         "center", G_PARAM_WRITABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_X0,
+      g_param_spec_int ("x0", "X position",
+         "Initial X position."
+         " Horizontal aligment takes this point"
+         " as reference.", G_MININT, G_MAXINT, 0, G_PARAM_WRITABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_Y0,
+      g_param_spec_int ("y0", "Y position",
+         "Initial Y position."
+         " Vertical aligment takes this point"
+         " as reference.", G_MININT, G_MAXINT, 0, G_PARAM_WRITABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FONT_DESC,
+      g_param_spec_string ("font-desc", "font description",
+         "Pango font description of font "
+         "to be used for rendering. "
+         "See documentation of "
+         "pango_font_description_from_string"
+         " for syntax.", "", G_PARAM_WRITABLE));
 }
 
 
 static void
-resize_bitmap(GstTextOverlay *overlay, int width, int height)
+resize_bitmap (GstTextOverlay * overlay, int width, int height)
 {
-    FT_Bitmap *bitmap = &overlay->bitmap;
-    int        pitch = (width|3) + 1;
-    int        size = pitch*height;
-
-    /* no need to keep reallocating; just keep the maximum size so far */
-    if (size <= overlay->bitmap_buffer_size) {
-       bitmap->rows = height;
-       bitmap->width = width;
-       bitmap->pitch = pitch;
-       memset(bitmap->buffer, 0, overlay->bitmap_buffer_size);
-       return;
-    }
-    if (!bitmap->buffer) {
-       /* initialize */
-       bitmap->pixel_mode = ft_pixel_mode_grays;
-       bitmap->num_grays = 256;
-    }
-    if (bitmap->buffer)
-       bitmap->buffer = g_realloc(bitmap->buffer, size);
-    else
-       bitmap->buffer = g_malloc(size);
+  FT_Bitmap *bitmap = &overlay->bitmap;
+  int pitch = (width | 3) + 1;
+  int size = pitch * height;
+
+  /* no need to keep reallocating; just keep the maximum size so far */
+  if (size <= overlay->bitmap_buffer_size) {
     bitmap->rows = height;
     bitmap->width = width;
     bitmap->pitch = pitch;
-    memset(bitmap->buffer, 0, size);
-    overlay->bitmap_buffer_size = size;
+    memset (bitmap->buffer, 0, overlay->bitmap_buffer_size);
+    return;
+  }
+  if (!bitmap->buffer) {
+    /* initialize */
+    bitmap->pixel_mode = ft_pixel_mode_grays;
+    bitmap->num_grays = 256;
+  }
+  if (bitmap->buffer)
+    bitmap->buffer = g_realloc (bitmap->buffer, size);
+  else
+    bitmap->buffer = g_malloc (size);
+  bitmap->rows = height;
+  bitmap->width = width;
+  bitmap->pitch = pitch;
+  memset (bitmap->buffer, 0, size);
+  overlay->bitmap_buffer_size = size;
 }
 
 static void
-render_text(GstTextOverlay *overlay)
+render_text (GstTextOverlay * overlay)
 {
-    PangoRectangle ink_rect, logical_rect;
+  PangoRectangle ink_rect, logical_rect;
 
-    pango_layout_get_pixel_extents(overlay->layout, &ink_rect, &logical_rect);
-    resize_bitmap(overlay, ink_rect.width, ink_rect.height + ink_rect.y);
-    pango_ft2_render_layout(&overlay->bitmap, overlay->layout, 0, 0);
-    overlay->baseline_y = ink_rect.y;
+  pango_layout_get_pixel_extents (overlay->layout, &ink_rect, &logical_rect);
+  resize_bitmap (overlay, ink_rect.width, ink_rect.height + ink_rect.y);
+  pango_ft2_render_layout (&overlay->bitmap, overlay->layout, 0, 0);
+  overlay->baseline_y = ink_rect.y;
 }
 
 /* static GstPadLinkReturn */
@@ -220,154 +211,157 @@ render_text(GstTextOverlay *overlay)
 
 
 static GstPadLinkReturn
-gst_textoverlay_video_sinkconnect(GstPad *pad, const GstCaps *caps)
+gst_textoverlay_video_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
-    GstTextOverlay *overlay;
-    GstStructure *structure;
+  GstTextOverlay *overlay;
+  GstStructure *structure;
 
-    overlay = GST_TEXTOVERLAY(gst_pad_get_parent(pad));
+  overlay = GST_TEXTOVERLAY (gst_pad_get_parent (pad));
 
-    structure = gst_caps_get_structure (caps, 0);
-    overlay->width = overlay->height = 0;
-    gst_structure_get_int (structure, "width", &overlay->width);
-    gst_structure_get_int (structure, "height", &overlay->height);
+  structure = gst_caps_get_structure (caps, 0);
+  overlay->width = overlay->height = 0;
+  gst_structure_get_int (structure, "width", &overlay->width);
+  gst_structure_get_int (structure, "height", &overlay->height);
 
-    return gst_pad_try_set_caps(overlay->srcpad, caps);
+  return gst_pad_try_set_caps (overlay->srcpad, caps);
 }
 
 
 static void
-gst_text_overlay_blit_yuv420(GstTextOverlay *overlay, FT_Bitmap *bitmap,
-                            guchar *pixbuf, int x0, int y0)
+gst_text_overlay_blit_yuv420 (GstTextOverlay * overlay, FT_Bitmap * bitmap,
+    guchar * pixbuf, int x0, int y0)
 {
-    int y;                     /* text bitmap coordinates */
-    int x1, y1;                        /* video buffer coordinates */
-    int rowinc, bit_rowinc, uv_rowinc;
-    guchar *p, *bitp, *u_p;
-    int video_width = overlay->width, video_height = overlay->height;
-    int bitmap_x0 = x0 < 1? -(x0 - 1) : 1; /* 1 pixel border */
-    int bitmap_y0 = y0 < 1? -(y0 - 1) : 1; /* 1 pixel border */
-    int bitmap_width = bitmap->width - bitmap_x0;
-    int bitmap_height = bitmap->rows - bitmap_y0;
-    int u_plane_size;
-    int skip_y, skip_x;
-    guchar v;
-
-    if (x0 + bitmap_x0 + bitmap_width > video_width - 1) /* 1 pixel border */
-       bitmap_width -= x0 + bitmap_x0 + bitmap_width - video_width + 1;
-    if (y0 + bitmap_y0 + bitmap_height > video_height - 1) /* 1 pixel border */
-       bitmap_height -= y0 + bitmap_y0 + bitmap_height - video_height + 1;
-
-    rowinc = video_width - bitmap_width;
-    uv_rowinc = video_width / 2 - bitmap_width / 2;
-    bit_rowinc = bitmap->pitch - bitmap_width;
-    u_plane_size = (video_width / 2)*(video_height / 2);
-
-    y1 = y0 + bitmap_y0;
-    x1 = x0 + bitmap_x0;
-    p = pixbuf + video_width*y1 + x1;
-    bitp = bitmap->buffer + bitmap->pitch*bitmap_y0 + bitmap_x0;
-    for (y = bitmap_y0; y < bitmap_height; y++){
-      int n;
-      for(n=bitmap_width; n>0; --n){
-       v = *bitp;
-       if (v) {
-         p[-1] = CLAMP(p[-1] - v, 0, 255);
-         p[ 1] = CLAMP(p[ 1] - v, 0, 255);
-         p[-video_width] = CLAMP(p[-video_width] - v, 0, 255);
-         p[ video_width] = CLAMP(p[ video_width] - v, 0, 255);
-       }
-       p++;
-       bitp++;
+  int y;                       /* text bitmap coordinates */
+  int x1, y1;                  /* video buffer coordinates */
+  int rowinc, bit_rowinc, uv_rowinc;
+  guchar *p, *bitp, *u_p;
+  int video_width = overlay->width, video_height = overlay->height;
+  int bitmap_x0 = x0 < 1 ? -(x0 - 1) : 1;      /* 1 pixel border */
+  int bitmap_y0 = y0 < 1 ? -(y0 - 1) : 1;      /* 1 pixel border */
+  int bitmap_width = bitmap->width - bitmap_x0;
+  int bitmap_height = bitmap->rows - bitmap_y0;
+  int u_plane_size;
+  int skip_y, skip_x;
+  guchar v;
+
+  if (x0 + bitmap_x0 + bitmap_width > video_width - 1) /* 1 pixel border */
+    bitmap_width -= x0 + bitmap_x0 + bitmap_width - video_width + 1;
+  if (y0 + bitmap_y0 + bitmap_height > video_height - 1)       /* 1 pixel border */
+    bitmap_height -= y0 + bitmap_y0 + bitmap_height - video_height + 1;
+
+  rowinc = video_width - bitmap_width;
+  uv_rowinc = video_width / 2 - bitmap_width / 2;
+  bit_rowinc = bitmap->pitch - bitmap_width;
+  u_plane_size = (video_width / 2) * (video_height / 2);
+
+  y1 = y0 + bitmap_y0;
+  x1 = x0 + bitmap_x0;
+  p = pixbuf + video_width * y1 + x1;
+  bitp = bitmap->buffer + bitmap->pitch * bitmap_y0 + bitmap_x0;
+  for (y = bitmap_y0; y < bitmap_height; y++) {
+    int n;
+
+    for (n = bitmap_width; n > 0; --n) {
+      v = *bitp;
+      if (v) {
+       p[-1] = CLAMP (p[-1] - v, 0, 255);
+       p[1] = CLAMP (p[1] - v, 0, 255);
+       p[-video_width] = CLAMP (p[-video_width] - v, 0, 255);
+       p[video_width] = CLAMP (p[video_width] - v, 0, 255);
       }
-      p += rowinc;
-      bitp += bit_rowinc;
+      p++;
+      bitp++;
     }
+    p += rowinc;
+    bitp += bit_rowinc;
+  }
+
+  y = bitmap_y0;
+  y1 = y0 + bitmap_y0;
+  x1 = x0 + bitmap_x0;
+  bitp = bitmap->buffer + bitmap->pitch * bitmap_y0 + bitmap_x0;
+  p = pixbuf + video_width * y1 + x1;
+  u_p =
+      pixbuf + video_width * video_height + (video_width >> 1) * (y1 >> 1) +
+      (x1 >> 1);
+  skip_y = 0;
+  skip_x = 0;
+
+  for (; y < bitmap_height; y++) {
+    int n;
 
-    y = bitmap_y0;
-    y1 = y0 + bitmap_y0;
     x1 = x0 + bitmap_x0;
-    bitp = bitmap->buffer + bitmap->pitch*bitmap_y0 + bitmap_x0;
-    p = pixbuf + video_width*y1 + x1;
-    u_p = pixbuf + video_width*video_height + (video_width >> 1)*(y1 >> 1) + (x1 >> 1);
-    skip_y = 0;
     skip_x = 0;
-
-    for ( ; y < bitmap_height; y++){
-      int n;
-      x1 = x0 + bitmap_x0;
-      skip_x = 0;
-      for(n = bitmap_width; n>0; --n){
-       v = *bitp;
-       if (v) {
-         *p = v;
-         if (!skip_y) {
-           u_p[0] = u_p[u_plane_size] = 0x80;
-         }
-       }
+    for (n = bitmap_width; n > 0; --n) {
+      v = *bitp;
+      if (v) {
+       *p = v;
        if (!skip_y) {
-         skip_x = !skip_x;
-         if (!skip_x) u_p++;
+         u_p[0] = u_p[u_plane_size] = 0x80;
        }
-       p++;
-       bitp++;
       }
-      /*if (!skip_x && !skip_y) u_p--; */
-      p += rowinc;
-      bitp += bit_rowinc;
-      skip_y = !skip_y;
-      u_p += skip_y? uv_rowinc : 0;
+      if (!skip_y) {
+       skip_x = !skip_x;
+       if (!skip_x)
+         u_p++;
+      }
+      p++;
+      bitp++;
     }
+    /*if (!skip_x && !skip_y) u_p--; */
+    p += rowinc;
+    bitp += bit_rowinc;
+    skip_y = !skip_y;
+    u_p += skip_y ? uv_rowinc : 0;
+  }
 }
 
 
 static void
-gst_textoverlay_video_chain(GstPad *pad, GstData *_data)
+gst_textoverlay_video_chain (GstPad * pad, GstData * _data)
 {
-    GstBuffer *buf = GST_BUFFER (_data);
-    GstTextOverlay *overlay;
-    guchar         *pixbuf;
-    gint            x0, y0;
-
-    g_return_if_fail(pad != NULL);
-    g_return_if_fail(GST_IS_PAD(pad));
-    g_return_if_fail(buf != NULL);
-    overlay = GST_TEXTOVERLAY(gst_pad_get_parent(pad));
-    g_return_if_fail(overlay != NULL);
-    g_return_if_fail(GST_IS_TEXTOVERLAY(overlay));
-
-    pixbuf = GST_BUFFER_DATA(buf);
-
-    x0 = overlay->x0;
-    y0 = overlay->y0;
-    switch (overlay->valign)
-    {
+  GstBuffer *buf = GST_BUFFER (_data);
+  GstTextOverlay *overlay;
+  guchar *pixbuf;
+  gint x0, y0;
+
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
+  overlay = GST_TEXTOVERLAY (gst_pad_get_parent (pad));
+  g_return_if_fail (overlay != NULL);
+  g_return_if_fail (GST_IS_TEXTOVERLAY (overlay));
+
+  pixbuf = GST_BUFFER_DATA (buf);
+
+  x0 = overlay->x0;
+  y0 = overlay->y0;
+  switch (overlay->valign) {
     case GST_TEXT_OVERLAY_VALIGN_BOTTOM:
-       y0 += overlay->bitmap.rows;
-       break;
+      y0 += overlay->bitmap.rows;
+      break;
     case GST_TEXT_OVERLAY_VALIGN_BASELINE:
-       y0 -= (overlay->bitmap.rows - overlay->baseline_y);
-       break;
+      y0 -= (overlay->bitmap.rows - overlay->baseline_y);
+      break;
     case GST_TEXT_OVERLAY_VALIGN_TOP:
-       break;
-    }
+      break;
+  }
 
-    switch (overlay->halign)
-    {
+  switch (overlay->halign) {
     case GST_TEXT_OVERLAY_HALIGN_LEFT:
-       break;
+      break;
     case GST_TEXT_OVERLAY_HALIGN_RIGHT:
-       x0 -= overlay->bitmap.width;
-       break;
+      x0 -= overlay->bitmap.width;
+      break;
     case GST_TEXT_OVERLAY_HALIGN_CENTER:
-       x0 -= overlay->bitmap.width / 2;
-       break;
-    }
+      x0 -= overlay->bitmap.width / 2;
+      break;
+  }
 
-    if (overlay->bitmap.buffer)
-       gst_text_overlay_blit_yuv420(overlay, &overlay->bitmap, pixbuf, x0, y0);
+  if (overlay->bitmap.buffer)
+    gst_text_overlay_blit_yuv420 (overlay, &overlay->bitmap, pixbuf, x0, y0);
 
-    gst_pad_push(overlay->srcpad, GST_DATA (buf));
+  gst_pad_push (overlay->srcpad, GST_DATA (buf));
 }
 
 #define PAST_END(buffer, time) \
@@ -377,270 +371,271 @@ gst_textoverlay_video_chain(GstPad *pad, GstData *_data)
      < (time))
 
 static void
-gst_textoverlay_loop(GstElement *element)
+gst_textoverlay_loop (GstElement * element)
 {
-    GstTextOverlay *overlay;
-    GstBuffer      *video_frame;
-    guint64         now;
-
-    g_return_if_fail(element != NULL);
-    g_return_if_fail(GST_IS_TEXTOVERLAY(element));
-    overlay = GST_TEXTOVERLAY(element);
-
-    video_frame = GST_BUFFER (gst_pad_pull(overlay->video_sinkpad));
-    now = GST_BUFFER_TIMESTAMP(video_frame);
-
-    /*
-     * This state machine has a bug that can't be resolved easily.
-     * (Needs a more complicated state machine.)  Basically, if the
-     * text that came from a buffer from the sink pad is being
-     * displayed, and the default text is changed by set_parameter,
-     * we'll incorrectly display the default text.
-     *
-     * Otherwise, this is a pretty decent state machine that handles
-     * buffer timestamps and durations correctly.  (I think)
-     */
-
-    while (overlay->next_buffer == NULL){
-      GST_DEBUG("attempting to pull a buffer");
-
-      /* read all text buffers until we get one "in the future" */
-      if(!GST_PAD_IS_USABLE(overlay->text_sinkpad)){
-        break;
-      }
-      overlay->next_buffer = GST_BUFFER (gst_pad_pull(overlay->text_sinkpad));
-      if (!overlay->next_buffer)
-       break;
-
-      if (PAST_END(overlay->next_buffer, now)){
-       gst_buffer_unref(overlay->next_buffer);
-       overlay->next_buffer = NULL;
-      }
+  GstTextOverlay *overlay;
+  GstBuffer *video_frame;
+  guint64 now;
+
+  g_return_if_fail (element != NULL);
+  g_return_if_fail (GST_IS_TEXTOVERLAY (element));
+  overlay = GST_TEXTOVERLAY (element);
+
+  video_frame = GST_BUFFER (gst_pad_pull (overlay->video_sinkpad));
+  now = GST_BUFFER_TIMESTAMP (video_frame);
+
+  /*
+   * This state machine has a bug that can't be resolved easily.
+   * (Needs a more complicated state machine.)  Basically, if the
+   * text that came from a buffer from the sink pad is being
+   * displayed, and the default text is changed by set_parameter,
+   * we'll incorrectly display the default text.
+   *
+   * Otherwise, this is a pretty decent state machine that handles
+   * buffer timestamps and durations correctly.  (I think)
+   */
+
+  while (overlay->next_buffer == NULL) {
+    GST_DEBUG ("attempting to pull a buffer");
+
+    /* read all text buffers until we get one "in the future" */
+    if (!GST_PAD_IS_USABLE (overlay->text_sinkpad)) {
+      break;
     }
+    overlay->next_buffer = GST_BUFFER (gst_pad_pull (overlay->text_sinkpad));
+    if (!overlay->next_buffer)
+      break;
 
-    if (overlay->next_buffer && 
-       (GST_BUFFER_TIMESTAMP(overlay->next_buffer) <= now ||
-        GST_BUFFER_TIMESTAMP(overlay->next_buffer) == GST_CLOCK_TIME_NONE)){
-      GST_DEBUG("using new buffer");
-
-      if (overlay->current_buffer){
-       gst_buffer_unref (overlay->current_buffer);
-      }
-      overlay->current_buffer = overlay->next_buffer;
+    if (PAST_END (overlay->next_buffer, now)) {
+      gst_buffer_unref (overlay->next_buffer);
       overlay->next_buffer = NULL;
+    }
+  }
 
-      GST_DEBUG ( "rendering '%*s'", 
-         GST_BUFFER_SIZE(overlay->current_buffer),
-         GST_BUFFER_DATA(overlay->current_buffer));
-      pango_layout_set_markup(overlay->layout,
-         GST_BUFFER_DATA(overlay->current_buffer),
-         GST_BUFFER_SIZE(overlay->current_buffer));
-      render_text(overlay);
-      overlay->need_render = FALSE;
+  if (overlay->next_buffer &&
+      (GST_BUFFER_TIMESTAMP (overlay->next_buffer) <= now ||
+         GST_BUFFER_TIMESTAMP (overlay->next_buffer) == GST_CLOCK_TIME_NONE)) {
+    GST_DEBUG ("using new buffer");
+
+    if (overlay->current_buffer) {
+      gst_buffer_unref (overlay->current_buffer);
     }
+    overlay->current_buffer = overlay->next_buffer;
+    overlay->next_buffer = NULL;
 
-    if (overlay->current_buffer && PAST_END(overlay->current_buffer, now)){
-      GST_DEBUG("dropping old buffer");
+    GST_DEBUG ("rendering '%*s'",
+       GST_BUFFER_SIZE (overlay->current_buffer),
+       GST_BUFFER_DATA (overlay->current_buffer));
+    pango_layout_set_markup (overlay->layout,
+       GST_BUFFER_DATA (overlay->current_buffer),
+       GST_BUFFER_SIZE (overlay->current_buffer));
+    render_text (overlay);
+    overlay->need_render = FALSE;
+  }
 
-      gst_buffer_unref(overlay->current_buffer);
-      overlay->current_buffer = NULL;
+  if (overlay->current_buffer && PAST_END (overlay->current_buffer, now)) {
+    GST_DEBUG ("dropping old buffer");
 
-      overlay->need_render = TRUE;
-    }
+    gst_buffer_unref (overlay->current_buffer);
+    overlay->current_buffer = NULL;
 
-    if(overlay->need_render){
-      GST_DEBUG ( "rendering '%s'", overlay->default_text);
-      pango_layout_set_markup(overlay->layout,
-         overlay->default_text, strlen(overlay->default_text));
-      render_text(overlay);
+    overlay->need_render = TRUE;
+  }
 
-      overlay->need_render = FALSE;
-    }
+  if (overlay->need_render) {
+    GST_DEBUG ("rendering '%s'", overlay->default_text);
+    pango_layout_set_markup (overlay->layout,
+       overlay->default_text, strlen (overlay->default_text));
+    render_text (overlay);
+
+    overlay->need_render = FALSE;
+  }
 
-    gst_textoverlay_video_chain(overlay->srcpad, GST_DATA (video_frame));
+  gst_textoverlay_video_chain (overlay->srcpad, GST_DATA (video_frame));
 }
 
 
 static GstElementStateReturn
-gst_textoverlay_change_state(GstElement *element)
+gst_textoverlay_change_state (GstElement * element)
 {
-    GstTextOverlay *overlay;
+  GstTextOverlay *overlay;
 
-    overlay = GST_TEXTOVERLAY(element);
+  overlay = GST_TEXTOVERLAY (element);
 
-    switch (GST_STATE_TRANSITION(element))
-    {
+  switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_PAUSED_TO_PLAYING:
-       break;
+      break;
     case GST_STATE_PLAYING_TO_PAUSED:
-       break;
+      break;
     case GST_STATE_PAUSED_TO_READY:
-       break;
-    }
+      break;
+  }
 
-    parent_class->change_state(element);
+  parent_class->change_state (element);
 
-    return GST_STATE_SUCCESS;
+  return GST_STATE_SUCCESS;
 }
 
 static void
-gst_textoverlay_finalize(GObject *object)
+gst_textoverlay_finalize (GObject * object)
 {
-    GstTextOverlay *overlay = GST_TEXTOVERLAY(object);
-
-    if (overlay->layout) {
-       g_object_unref(overlay->layout);
-       overlay->layout = NULL;
-    }
-    if (overlay->bitmap.buffer) {
-       g_free(overlay->bitmap.buffer);
-       overlay->bitmap.buffer = NULL;
-    }
-
-    G_OBJECT_CLASS(parent_class)->finalize(object);
+  GstTextOverlay *overlay = GST_TEXTOVERLAY (object);
+
+  if (overlay->layout) {
+    g_object_unref (overlay->layout);
+    overlay->layout = NULL;
+  }
+  if (overlay->bitmap.buffer) {
+    g_free (overlay->bitmap.buffer);
+    overlay->bitmap.buffer = NULL;
+  }
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
 static void
-gst_textoverlay_init(GstTextOverlay *overlay)
+gst_textoverlay_init (GstTextOverlay * overlay)
 {
-    /* video sink */
-    overlay->video_sinkpad = gst_pad_new_from_template(
-       gst_static_pad_template_get (&video_sink_template_factory), "video_sink");
+  /* video sink */
+  overlay->video_sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&video_sink_template_factory), "video_sink");
 /*     gst_pad_set_chain_function(overlay->video_sinkpad, gst_textoverlay_video_chain); */
-    gst_pad_set_link_function(overlay->video_sinkpad, gst_textoverlay_video_sinkconnect);
-    gst_element_add_pad(GST_ELEMENT(overlay), overlay->video_sinkpad);
-
-    /* text sink */
-    overlay->text_sinkpad = gst_pad_new_from_template(
-       gst_static_pad_template_get (&text_sink_template_factory), "text_sink");
+  gst_pad_set_link_function (overlay->video_sinkpad,
+      gst_textoverlay_video_sinkconnect);
+  gst_element_add_pad (GST_ELEMENT (overlay), overlay->video_sinkpad);
+
+  /* text sink */
+  overlay->text_sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&text_sink_template_factory), "text_sink");
 /*     gst_pad_set_link_function(overlay->text_sinkpad, gst_textoverlay_text_sinkconnect); */
-    gst_element_add_pad(GST_ELEMENT(overlay), overlay->text_sinkpad);
+  gst_element_add_pad (GST_ELEMENT (overlay), overlay->text_sinkpad);
 
-    /* (video) source */
-    overlay->srcpad = gst_pad_new_from_template(
-       gst_static_pad_template_get (&textoverlay_src_template_factory), "src");
-    gst_element_add_pad(GST_ELEMENT(overlay), overlay->srcpad);
+  /* (video) source */
+  overlay->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&textoverlay_src_template_factory), "src");
+  gst_element_add_pad (GST_ELEMENT (overlay), overlay->srcpad);
 
-    overlay->layout = pango_layout_new(GST_TEXTOVERLAY_GET_CLASS(overlay)->pango_context);
-    memset(&overlay->bitmap, 0, sizeof(overlay->bitmap));
+  overlay->layout =
+      pango_layout_new (GST_TEXTOVERLAY_GET_CLASS (overlay)->pango_context);
+  memset (&overlay->bitmap, 0, sizeof (overlay->bitmap));
 
-    overlay->halign = GST_TEXT_OVERLAY_HALIGN_CENTER;
-    overlay->valign = GST_TEXT_OVERLAY_VALIGN_BASELINE;
-    overlay->x0 = overlay->y0 = 0;
+  overlay->halign = GST_TEXT_OVERLAY_HALIGN_CENTER;
+  overlay->valign = GST_TEXT_OVERLAY_VALIGN_BASELINE;
+  overlay->x0 = overlay->y0 = 0;
 
-    overlay->default_text = g_strdup("");
-    overlay->need_render = TRUE;
+  overlay->default_text = g_strdup ("");
+  overlay->need_render = TRUE;
 
-    gst_element_set_loop_function(GST_ELEMENT(overlay), gst_textoverlay_loop);
+  gst_element_set_loop_function (GST_ELEMENT (overlay), gst_textoverlay_loop);
 }
 
 
 static void
-gst_textoverlay_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_textoverlay_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
-    GstTextOverlay *overlay;
+  GstTextOverlay *overlay;
 
-    /* it's not null if we got it, but it might not be ours */
-    g_return_if_fail(GST_IS_TEXTOVERLAY(object));
-    overlay = GST_TEXTOVERLAY(object);
+  /* it's not null if we got it, but it might not be ours */
+  g_return_if_fail (GST_IS_TEXTOVERLAY (object));
+  overlay = GST_TEXTOVERLAY (object);
 
-    switch (prop_id)
-    {
+  switch (prop_id) {
 
     case ARG_TEXT:
-        if(overlay->default_text){
-         g_free(overlay->default_text);
-       }
-        overlay->default_text = g_strdup(g_value_get_string(value));
-       overlay->need_render = TRUE;
-       break;
+      if (overlay->default_text) {
+       g_free (overlay->default_text);
+      }
+      overlay->default_text = g_strdup (g_value_get_string (value));
+      overlay->need_render = TRUE;
+      break;
 
     case ARG_VALIGN:
-       if (strcasecmp(g_value_get_string(value), "baseline") == 0)
-           overlay->valign = GST_TEXT_OVERLAY_VALIGN_BASELINE;
-       else if (strcasecmp(g_value_get_string(value), "bottom") == 0)
-           overlay->valign = GST_TEXT_OVERLAY_VALIGN_BOTTOM;
-       else if (strcasecmp(g_value_get_string(value), "top") == 0)
-           overlay->valign = GST_TEXT_OVERLAY_VALIGN_TOP;
-       else
-           g_warning("Invalid 'valign' property value: %s", 
-                     g_value_get_string(value));
-       break;
+      if (strcasecmp (g_value_get_string (value), "baseline") == 0)
+       overlay->valign = GST_TEXT_OVERLAY_VALIGN_BASELINE;
+      else if (strcasecmp (g_value_get_string (value), "bottom") == 0)
+       overlay->valign = GST_TEXT_OVERLAY_VALIGN_BOTTOM;
+      else if (strcasecmp (g_value_get_string (value), "top") == 0)
+       overlay->valign = GST_TEXT_OVERLAY_VALIGN_TOP;
+      else
+       g_warning ("Invalid 'valign' property value: %s",
+           g_value_get_string (value));
+      break;
 
     case ARG_HALIGN:
-       if (strcasecmp(g_value_get_string(value), "left") == 0)
-           overlay->halign = GST_TEXT_OVERLAY_HALIGN_LEFT;
-       else if (strcasecmp(g_value_get_string(value), "right") == 0)
-           overlay->halign = GST_TEXT_OVERLAY_HALIGN_RIGHT;
-       else if (strcasecmp(g_value_get_string(value), "center") == 0)
-           overlay->halign = GST_TEXT_OVERLAY_HALIGN_CENTER;
-       else
-           g_warning("Invalid 'halign' property value: %s", 
-                     g_value_get_string(value));
-       break;
+      if (strcasecmp (g_value_get_string (value), "left") == 0)
+       overlay->halign = GST_TEXT_OVERLAY_HALIGN_LEFT;
+      else if (strcasecmp (g_value_get_string (value), "right") == 0)
+       overlay->halign = GST_TEXT_OVERLAY_HALIGN_RIGHT;
+      else if (strcasecmp (g_value_get_string (value), "center") == 0)
+       overlay->halign = GST_TEXT_OVERLAY_HALIGN_CENTER;
+      else
+       g_warning ("Invalid 'halign' property value: %s",
+           g_value_get_string (value));
+      break;
 
     case ARG_X0:
-       overlay->x0 = g_value_get_int(value);
-       break;
+      overlay->x0 = g_value_get_int (value);
+      break;
 
     case ARG_Y0:
-       overlay->y0 = g_value_get_int(value);
-       break;
+      overlay->y0 = g_value_get_int (value);
+      break;
 
     case ARG_FONT_DESC:
     {
-       PangoFontDescription *desc;
-       desc = pango_font_description_from_string(g_value_get_string(value));
-       if (desc) {
-           g_message("font description set: %s", g_value_get_string(value));
-           pango_layout_set_font_description(overlay->layout, desc);
-           pango_font_description_free(desc);
-           render_text(overlay);
-       } else
-           g_warning("font description parse failed: %s", g_value_get_string(value));
-       break;
+      PangoFontDescription *desc;
+
+      desc = pango_font_description_from_string (g_value_get_string (value));
+      if (desc) {
+       g_message ("font description set: %s", g_value_get_string (value));
+       pango_layout_set_font_description (overlay->layout, desc);
+       pango_font_description_free (desc);
+       render_text (overlay);
+      } else
+       g_warning ("font description parse failed: %s",
+           g_value_get_string (value));
+      break;
     }
 
     default:
-       break;
-    }
+      break;
+  }
 }
 
 static void
-gst_textoverlay_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_textoverlay_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
-    GstTextOverlay *overlay;
+  GstTextOverlay *overlay;
 
-    /* it's not null if we got it, but it might not be ours */
-    g_return_if_fail(GST_IS_TEXTOVERLAY(object));
-    overlay = GST_TEXTOVERLAY(object);
+  /* it's not null if we got it, but it might not be ours */
+  g_return_if_fail (GST_IS_TEXTOVERLAY (object));
+  overlay = GST_TEXTOVERLAY (object);
 
-    switch (prop_id) {
+  switch (prop_id) {
     default:
-       G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
-       break;
-    }
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
 }
 
 static gboolean
-plugin_init(GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-    if (!gst_element_register (plugin, "textoverlay", GST_RANK_PRIMARY, GST_TYPE_TEXTOVERLAY))
-       return FALSE;
+  if (!gst_element_register (plugin, "textoverlay", GST_RANK_PRIMARY,
+         GST_TYPE_TEXTOVERLAY))
+    return FALSE;
 
-    /*texttestsrc_plugin_init(module, plugin);*/
-    /*subparse_plugin_init(module, plugin);*/
-    return TRUE;
+  /*texttestsrc_plugin_init(module, plugin); */
+  /*subparse_plugin_init(module, plugin); */
+  return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-    GST_VERSION_MAJOR,
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
     GST_VERSION_MINOR,
     "textoverlay",
-    "Text overlay",
-    plugin_init,
-    VERSION,
-    "GPL",
-    GST_PACKAGE,
-    GST_ORIGIN)
-
+    "Text overlay", plugin_init, VERSION, "GPL", GST_PACKAGE, GST_ORIGIN)
index b039aca..08ad814 100644 (file)
@@ -6,7 +6,6 @@
 #include <pango/pangoft2.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_TEXTOVERLAY           (gst_textoverlay_get_type())
 #define GST_TEXTOVERLAY(obj)           (G_TYPE_CHECK_INSTANCE_CAST((obj),\
                                         GST_TYPE_TEXTOVERLAY, GstTextOverlay))
@@ -18,56 +17,60 @@ G_BEGIN_DECLS
                                         GST_TYPE_TEXTOVERLAY))
 #define GST_IS_TEXTOVERLAY_CLASS(obj)  (G_TYPE_CHECK_CLASS_TYPE((klass),\
                                         GST_TYPE_TEXTOVERLAY))
-
-typedef struct _GstTextOverlay      GstTextOverlay;
+typedef struct _GstTextOverlay GstTextOverlay;
 typedef struct _GstTextOverlayClass GstTextOverlayClass;
 
 typedef enum _GstTextOverlayVAlign GstTextOverlayVAlign;
 typedef enum _GstTextOverlayHAlign GstTextOverlayHAlign;
 
-enum _GstTextOverlayVAlign {
-    GST_TEXT_OVERLAY_VALIGN_BASELINE,
-    GST_TEXT_OVERLAY_VALIGN_BOTTOM,
-    GST_TEXT_OVERLAY_VALIGN_TOP,
+enum _GstTextOverlayVAlign
+{
+  GST_TEXT_OVERLAY_VALIGN_BASELINE,
+  GST_TEXT_OVERLAY_VALIGN_BOTTOM,
+  GST_TEXT_OVERLAY_VALIGN_TOP,
 };
 
-enum _GstTextOverlayHAlign {
-    GST_TEXT_OVERLAY_HALIGN_LEFT,
-    GST_TEXT_OVERLAY_HALIGN_CENTER,
-    GST_TEXT_OVERLAY_HALIGN_RIGHT,
+enum _GstTextOverlayHAlign
+{
+  GST_TEXT_OVERLAY_HALIGN_LEFT,
+  GST_TEXT_OVERLAY_HALIGN_CENTER,
+  GST_TEXT_OVERLAY_HALIGN_RIGHT,
 };
 
 
-struct _GstTextOverlay {
-    GstElement            element;
+struct _GstTextOverlay
+{
+  GstElement element;
 
-    GstPad               *video_sinkpad;
-    GstPad               *text_sinkpad;
-    GstPad               *srcpad;
-    gint                  width;
-    gint                  height;
-    PangoLayout          *layout;
-    FT_Bitmap             bitmap;
-    gint                  bitmap_buffer_size;
-    gint                  baseline_y;
-    GstTextOverlayVAlign  valign;
-    GstTextOverlayHAlign  halign;
-    gint                  x0;
-    gint                  y0;
-    GstBuffer           *current_buffer;
-    GstBuffer           *next_buffer;
-    gchar               *default_text;
-    gboolean             need_render;
+  GstPad *video_sinkpad;
+  GstPad *text_sinkpad;
+  GstPad *srcpad;
+  gint width;
+  gint height;
+  PangoLayout *layout;
+  FT_Bitmap bitmap;
+  gint bitmap_buffer_size;
+  gint baseline_y;
+  GstTextOverlayVAlign valign;
+  GstTextOverlayHAlign halign;
+  gint x0;
+  gint y0;
+  GstBuffer *current_buffer;
+  GstBuffer *next_buffer;
+  gchar *default_text;
+  gboolean need_render;
 };
 
-struct _GstTextOverlayClass {
-    GstElementClass parent_class;
+struct _GstTextOverlayClass
+{
+  GstElementClass parent_class;
 
-    PangoContext *pango_context;
+  PangoContext *pango_context;
 };
 
-GType gst_textoverlay_get_type(void) G_GNUC_CONST;
+GType
+gst_textoverlay_get_type (void)
+    G_GNUC_CONST;
 
 G_END_DECLS
-
 #endif /* __GST_TEXTOVERLAY_H */
index 9a3b292..9ce5c89 100644 (file)
 
 
 /* GstTimeoverlay signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void    gst_timeoverlay_base_init       (gpointer g_class);
-static void    gst_timeoverlay_class_init      (gpointer g_class, gpointer class_data);
-static void    gst_timeoverlay_init            (GTypeInstance *instance, gpointer g_class);
+static void gst_timeoverlay_base_init (gpointer g_class);
+static void gst_timeoverlay_class_init (gpointer g_class, gpointer class_data);
+static void gst_timeoverlay_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_timeoverlay_set_property            (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_timeoverlay_get_property            (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_timeoverlay_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_timeoverlay_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_timeoverlay_planar411(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_timeoverlay_setup(GstVideofilter *videofilter);
+static void gst_timeoverlay_planar411 (GstVideofilter * videofilter, void *dest,
+    void *src);
+static void gst_timeoverlay_setup (GstVideofilter * videofilter);
 
 GType
 gst_timeoverlay_get_type (void)
@@ -72,44 +77,43 @@ gst_timeoverlay_get_type (void)
 
   if (!timeoverlay_type) {
     static const GTypeInfo timeoverlay_info = {
-      sizeof(GstTimeoverlayClass),
+      sizeof (GstTimeoverlayClass),
       gst_timeoverlay_base_init,
       NULL,
       gst_timeoverlay_class_init,
       NULL,
       NULL,
-      sizeof(GstTimeoverlay),
+      sizeof (GstTimeoverlay),
       0,
       gst_timeoverlay_init,
     };
-    timeoverlay_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstTimeoverlay", &timeoverlay_info, 0);
+    timeoverlay_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstTimeoverlay", &timeoverlay_info, 0);
   }
   return timeoverlay_type;
 }
 
 static GstVideofilterFormat gst_timeoverlay_formats[] = {
-  { "I420", 12, gst_timeoverlay_planar411, },
+  {"I420", 12, gst_timeoverlay_planar411,},
 };
 
-  
+
 static void
 gst_timeoverlay_base_init (gpointer g_class)
 {
-  static GstElementDetails timeoverlay_details = GST_ELEMENT_DETAILS (
-    "Time Overlay",
-    "Filter/Editor/Video",
-    "Overlays the time on a video stream",
-    "David Schleef <ds@schleef.org>"
-  );
+  static GstElementDetails timeoverlay_details =
+      GST_ELEMENT_DETAILS ("Time Overlay",
+      "Filter/Editor/Video",
+      "Overlays the time on a video stream",
+      "David Schleef <ds@schleef.org>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &timeoverlay_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_timeoverlay_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_timeoverlay_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_timeoverlay_formats + i);
   }
 
@@ -126,10 +130,10 @@ gst_timeoverlay_class_init (gpointer g_class, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
 #if 0
-  g_object_class_install_property(gobject_class, ARG_METHOD,
-      g_param_spec_enum("method","method","method",
-      GST_TYPE_TIMEOVERLAY_METHOD, GST_TIMEOVERLAY_METHOD_1,
-      G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_METHOD,
+      g_param_spec_enum ("method", "method", "method",
+         GST_TYPE_TIMEOVERLAY_METHOD, GST_TIMEOVERLAY_METHOD_1,
+         G_PARAM_READWRITE));
 #endif
 
   gobject_class->set_property = gst_timeoverlay_set_property;
@@ -139,28 +143,29 @@ gst_timeoverlay_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_timeoverlay_init (GTypeInstance *instance, gpointer g_class)
+gst_timeoverlay_init (GTypeInstance * instance, gpointer g_class)
 {
   GstTimeoverlay *timeoverlay = GST_TIMEOVERLAY (instance);
   GstVideofilter *videofilter;
 
-  GST_DEBUG("gst_timeoverlay_init");
+  GST_DEBUG ("gst_timeoverlay_init");
 
-  videofilter = GST_VIDEOFILTER(timeoverlay);
+  videofilter = GST_VIDEOFILTER (timeoverlay);
 
   /* do stuff */
 }
 
 static void
-gst_timeoverlay_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_timeoverlay_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstTimeoverlay *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_TIMEOVERLAY(object));
-  src = GST_TIMEOVERLAY(object);
+  g_return_if_fail (GST_IS_TIMEOVERLAY (object));
+  src = GST_TIMEOVERLAY (object);
 
-  GST_DEBUG("gst_timeoverlay_set_property");
+  GST_DEBUG ("gst_timeoverlay_set_property");
   switch (prop_id) {
 #if 0
     case ARG_METHOD:
@@ -173,13 +178,14 @@ gst_timeoverlay_set_property (GObject *object, guint prop_id, const GValue *valu
 }
 
 static void
-gst_timeoverlay_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_timeoverlay_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstTimeoverlay *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_TIMEOVERLAY(object));
-  src = GST_TIMEOVERLAY(object);
+  g_return_if_fail (GST_IS_TIMEOVERLAY (object));
+  src = GST_TIMEOVERLAY (object);
 
   switch (prop_id) {
 #if 0
@@ -193,35 +199,29 @@ gst_timeoverlay_get_property (GObject *object, guint prop_id, GValue *value, GPa
   }
 }
 
-static gboolean plugin_init (GstPlugin *plugin)
+static gboolean
+plugin_init (GstPlugin * plugin)
 {
-  if(!gst_library_load("gstvideofilter"))
+  if (!gst_library_load ("gstvideofilter"))
     return FALSE;
 
   return gst_element_register (plugin, "timeoverlay", GST_RANK_NONE,
       GST_TYPE_TIMEOVERLAY);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "timeoverlay",
-  "Time overlay",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
-
-static void gst_timeoverlay_setup(GstVideofilter *videofilter)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "timeoverlay",
+    "Time overlay", plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
+
+     static void gst_timeoverlay_setup (GstVideofilter * videofilter)
 {
   GstTimeoverlay *timeoverlay;
   PangoFontDescription *font_description;
   PangoContext *context;
 
-  g_return_if_fail(GST_IS_TIMEOVERLAY(videofilter));
-  timeoverlay = GST_TIMEOVERLAY(videofilter);
+  g_return_if_fail (GST_IS_TIMEOVERLAY (videofilter));
+  timeoverlay = GST_TIMEOVERLAY (videofilter);
 
   /* if any setup needs to be done, do it here */
 
@@ -246,7 +246,8 @@ static void gst_timeoverlay_setup(GstVideofilter *videofilter)
 
 }
 
-static char *gst_timeoverlay_print_smpte_time(guint64 time)
+static char *
+gst_timeoverlay_print_smpte_time (guint64 time)
 {
   int hours;
   int minutes;
@@ -254,21 +255,21 @@ static char *gst_timeoverlay_print_smpte_time(guint64 time)
   int ms;
   double x;
 
-  x = rint((time + 500000)*1e-6);
+  x = rint ((time + 500000) * 1e-6);
 
-  hours = floor(x/(60*60*1000));
-  x -= hours*60*60*1000;
-  minutes = floor(x/(60*1000));
-  x -= minutes*60*1000;
-  seconds = floor(x/(1000));
-  x -= seconds*1000;
-  ms = rint(x);
+  hours = floor (x / (60 * 60 * 1000));
+  x -= hours * 60 * 60 * 1000;
+  minutes = floor (x / (60 * 1000));
+  x -= minutes * 60 * 1000;
+  seconds = floor (x / (1000));
+  x -= seconds * 1000;
+  ms = rint (x);
 
-  return g_strdup_printf("%02d:%02d:%02d.%03d",hours,minutes,seconds,ms);
+  return g_strdup_printf ("%02d:%02d:%02d.%03d", hours, minutes, seconds, ms);
 }
 
-static void gst_timeoverlay_planar411(GstVideofilter *videofilter,
-    void *dest, void *src)
+static void
+gst_timeoverlay_planar411 (GstVideofilter * videofilter, void *dest, void *src)
 {
   GstTimeoverlay *timeoverlay;
   int width;
@@ -280,19 +281,21 @@ static void gst_timeoverlay_planar411(GstVideofilter *videofilter,
   char *string;
   int i;
 
-  g_return_if_fail(GST_IS_TIMEOVERLAY(videofilter));
-  timeoverlay = GST_TIMEOVERLAY(videofilter);
+  g_return_if_fail (GST_IS_TIMEOVERLAY (videofilter));
+  timeoverlay = GST_TIMEOVERLAY (videofilter);
 
-  width = gst_videofilter_get_input_width(videofilter);
-  height = gst_videofilter_get_input_height(videofilter);
+  width = gst_videofilter_get_input_width (videofilter);
+  height = gst_videofilter_get_input_height (videofilter);
 
-  width = gst_videofilter_get_input_width(videofilter);
-  height = gst_videofilter_get_input_height(videofilter);
+  width = gst_videofilter_get_input_width (videofilter);
+  height = gst_videofilter_get_input_height (videofilter);
 
   layout = pango_layout_new (timeoverlay->context);
-  string = gst_timeoverlay_print_smpte_time(GST_BUFFER_TIMESTAMP(videofilter->in_buf));
-  pango_layout_set_text (layout, string, strlen(string));
-  g_free(string);
+  string =
+      gst_timeoverlay_print_smpte_time (GST_BUFFER_TIMESTAMP (videofilter->
+         in_buf));
+  pango_layout_set_text (layout, string, strlen (string));
+  g_free (string);
 
   pango_layout_set_alignment (layout, PANGO_ALIGN_LEFT);
   pango_layout_set_width (layout, -1);
@@ -303,15 +306,15 @@ static void gst_timeoverlay_planar411(GstVideofilter *videofilter,
 
   //hheight = 20;
 
-  memcpy(dest, src, videofilter->from_buf_size);
+  memcpy (dest, src, videofilter->from_buf_size);
 
-  for(i=0;i<b_height;i++){
-    memset(dest + i*width, 0, b_width);
+  for (i = 0; i < b_height; i++) {
+    memset (dest + i * width, 0, b_width);
   }
-  for(i=0;i<b_height/2;i++){
-    memset(dest + width*height + i*(width/2), 128, b_width/2);
-    memset(dest + width*height + (width/2)*(height/2) + i*(width/2), 128,
-       b_width/2);
+  for (i = 0; i < b_height / 2; i++) {
+    memset (dest + width * height + i * (width / 2), 128, b_width / 2);
+    memset (dest + width * height + (width / 2) * (height / 2) +
+       i * (width / 2), 128, b_width / 2);
   }
   bitmap.rows = b_height;
   bitmap.width = b_width;
@@ -322,4 +325,3 @@ static void gst_timeoverlay_planar411(GstVideofilter *videofilter,
 
   pango_ft2_render_layout (&bitmap, layout, 0, 0);
 }
-
index 505f8f0..a591bd6 100644 (file)
@@ -29,7 +29,6 @@
 
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_TIMEOVERLAY \
   (gst_timeoverlay_get_type())
 #define GST_TIMEOVERLAY(obj) \
@@ -40,11 +39,11 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TIMEOVERLAY))
 #define GST_IS_TIMEOVERLAY_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TIMEOVERLAY))
-
 typedef struct _GstTimeoverlay GstTimeoverlay;
 typedef struct _GstTimeoverlayClass GstTimeoverlayClass;
 
-struct _GstTimeoverlay {
+struct _GstTimeoverlay
+{
   GstVideofilter videofilter;
 
   PangoFontDescription *font_description;
@@ -52,13 +51,12 @@ struct _GstTimeoverlay {
 
 };
 
-struct _GstTimeoverlayClass {
+struct _GstTimeoverlayClass
+{
   GstVideofilterClass parent_class;
 };
 
-GType gst_timeoverlay_get_type(void);
+GType gst_timeoverlay_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_TIMEOVERLAY_H__ */
-
index 0a5a8b7..250a576 100644 (file)
 #include "gstdv1394src.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  if (!gst_element_register(plugin, "dv1394src", GST_RANK_NONE, GST_TYPE_DV1394SRC))
+  if (!gst_element_register (plugin, "dv1394src", GST_RANK_NONE,
+         GST_TYPE_DV1394SRC))
     return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE(
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "gst1394",
-  "Source for DV data via IEEE1394 interface",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-);
-
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "gst1394",
+    "Source for DV data via IEEE1394 interface",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN);
index a044d0f..9509ea2 100644 (file)
 #define NTSC_FRAMESIZE 120000
 
 /* Filter signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_CONSECUTIVE,
   ARG_SKIP,
   ARG_DROP_INCOMPLETE,
 };
 
-static GstElementDetails gst_dv1394src_details = GST_ELEMENT_DETAILS (
-  "Firewire (1394) DV Source",
-  "Source/Video",
-  "Source for DV video data from firewire port",
-  "Erik Walthinsen <omega@temple-baptist.com>\n"
-  "Daniel Fischer <dan@f3c.com>"
-);
+static GstElementDetails gst_dv1394src_details =
+GST_ELEMENT_DETAILS ("Firewire (1394) DV Source",
+    "Source/Video",
+    "Source for DV video data from firewire port",
+    "Erik Walthinsen <omega@temple-baptist.com>\n"
+    "Daniel Fischer <dan@f3c.com>");
 
 #if 0
-static GstPadTemplate*
+static GstPadTemplate *
 gst_dv1394src_factory (void)
 {
   static GstPadTemplate *template = NULL;
 
   if (!template) {
-    template = gst_pad_template_new (
-      "src",
-      GST_PAD_SRC,
-      GST_PAD_ALWAYS,
-      GST_STATIC_CAPS (
-        "dv1394src",
-        "video/dv",
-       gst_props_new (
-          "format", GST_PROPS_LIST (
-                       G_TYPE_STRING ("NTSC"),
-                       G_TYPE_STRING ("PAL")
-                       ), 
-         NULL)
-       ),
-      NULL);
+    template = gst_pad_template_new ("src",
+       GST_PAD_SRC,
+       GST_PAD_ALWAYS,
+       GST_STATIC_CAPS ("dv1394src",
+           "video/dv",
+           gst_props_new ("format", GST_PROPS_LIST (G_TYPE_STRING ("NTSC"),
+                   G_TYPE_STRING ("PAL")
+               ), NULL)
+       ), NULL);
   }
   return template;
 }
 #endif
 
-static void            gst_dv1394src_base_init         (gpointer g_class);
-static void            gst_dv1394src_class_init                (GstDV1394SrcClass *klass);
-static void            gst_dv1394src_init              (GstDV1394Src *filter);
+static void gst_dv1394src_base_init (gpointer g_class);
+static void gst_dv1394src_class_init (GstDV1394SrcClass * klass);
+static void gst_dv1394src_init (GstDV1394Src * filter);
 
-static void            gst_dv1394src_set_property              (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void            gst_dv1394src_get_property              (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_dv1394src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_dv1394src_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static GstElementStateReturn   gst_dv1394src_change_state      (GstElement *element);
+static GstElementStateReturn gst_dv1394src_change_state (GstElement * element);
 
-static GstData *       gst_dv1394src_get                       (GstPad *pad);
+static GstData *gst_dv1394src_get (GstPad * pad);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_filter_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_dv1394src_get_type(void) {
+gst_dv1394src_get_type (void)
+{
   static GType gst_dv1394src_type = 0;
 
   if (!gst_dv1394src_type) {
     static const GTypeInfo gst_dv1394src_info = {
-      sizeof(GstDV1394Src), 
+      sizeof (GstDV1394Src),
       gst_dv1394src_base_init,
       NULL,
-      (GClassInitFunc)gst_dv1394src_class_init,
+      (GClassInitFunc) gst_dv1394src_class_init,
       NULL,
       NULL,
-      sizeof(GstDV1394Src),
+      sizeof (GstDV1394Src),
       0,
-      (GInstanceInitFunc)gst_dv1394src_init,
+      (GInstanceInitFunc) gst_dv1394src_init,
     };
-    gst_dv1394src_type = g_type_register_static(GST_TYPE_ELEMENT, "DV1394Src", &gst_dv1394src_info, 0);
+    gst_dv1394src_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "DV1394Src",
+       &gst_dv1394src_info, 0);
   }
   return gst_dv1394src_type;
 }
@@ -122,25 +123,26 @@ gst_dv1394src_base_init (gpointer g_class)
 }
 
 static void
-gst_dv1394src_class_init (GstDV1394SrcClass *klass)
+gst_dv1394src_class_init (GstDV1394SrcClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  g_object_class_install_property( G_OBJECT_CLASS(klass), ARG_CONSECUTIVE,
-       g_param_spec_int("consecutive","consecutive frames","send n consecutive frames after skipping",
-                       1, G_MAXINT,1,G_PARAM_READWRITE));
-  g_object_class_install_property( G_OBJECT_CLASS(klass), ARG_SKIP,
-       g_param_spec_int("skip","skip frames","skip n frames",
-                       0, G_MAXINT,1,G_PARAM_READWRITE));
-  g_object_class_install_property( G_OBJECT_CLASS(klass), ARG_DROP_INCOMPLETE,
-       g_param_spec_boolean("drop_incomplete","drop_incomplete","drop incomplete frames",
-                       TRUE, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_CONSECUTIVE,
+      g_param_spec_int ("consecutive", "consecutive frames",
+         "send n consecutive frames after skipping", 1, G_MAXINT, 1,
+         G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SKIP,
+      g_param_spec_int ("skip", "skip frames", "skip n frames", 0, G_MAXINT, 1,
+         G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DROP_INCOMPLETE,
+      g_param_spec_boolean ("drop_incomplete", "drop_incomplete",
+         "drop incomplete frames", TRUE, G_PARAM_READWRITE));
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_dv1394src_set_property;
   gobject_class->get_property = gst_dv1394src_get_property;
@@ -149,7 +151,7 @@ gst_dv1394src_class_init (GstDV1394SrcClass *klass)
 }
 
 static void
-gst_dv1394src_init (GstDV1394Src *dv1394src)
+gst_dv1394src_init (GstDV1394Src * dv1394src)
 {
   dv1394src->srcpad = gst_pad_new ("src", GST_PAD_SRC);
   gst_pad_set_get_function (dv1394src->srcpad, gst_dv1394src_get);
@@ -158,188 +160,199 @@ gst_dv1394src_init (GstDV1394Src *dv1394src)
   dv1394src->card = 0;
   dv1394src->port = 0;
   dv1394src->channel = 63;
-  
+
   dv1394src->consecutive = 1;
   dv1394src->skip = 0;
   dv1394src->drop_incomplete = TRUE;
-  
+
   /* initialized when first header received */
-  dv1394src->frameSize=0; 
+  dv1394src->frameSize = 0;
+
   dv1394src->buf = NULL;
   dv1394src->frame = NULL;
   dv1394src->frameSequence = 0;
 }
 
 static void
-gst_dv1394src_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_dv1394src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstDV1394Src *filter;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_DV1394SRC(object));
-  filter = GST_DV1394SRC(object);
+  g_return_if_fail (GST_IS_DV1394SRC (object));
+  filter = GST_DV1394SRC (object);
 
   switch (prop_id) {
     case ARG_SKIP:
-       filter->skip = g_value_get_int(value);
-       break;
+      filter->skip = g_value_get_int (value);
+      break;
     case ARG_CONSECUTIVE:
-       filter->consecutive = g_value_get_int(value);
-       break;
+      filter->consecutive = g_value_get_int (value);
+      break;
     case ARG_DROP_INCOMPLETE:
-       filter->drop_incomplete = g_value_get_boolean(value);
-       break;
+      filter->drop_incomplete = g_value_get_boolean (value);
+      break;
     default:
       break;
   }
 }
 
 static void
-gst_dv1394src_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_dv1394src_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstDV1394Src *filter;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_DV1394SRC(object));
-  filter = GST_DV1394SRC(object);
+  g_return_if_fail (GST_IS_DV1394SRC (object));
+  filter = GST_DV1394SRC (object);
 
   switch (prop_id) {
     case ARG_SKIP:
-       g_value_set_int( value, filter->skip );
-        break;
+      g_value_set_int (value, filter->skip);
+      break;
     case ARG_CONSECUTIVE:
-       g_value_set_int( value, filter->consecutive );
-        break;
+      g_value_set_int (value, filter->consecutive);
+      break;
     case ARG_DROP_INCOMPLETE:
-        g_value_set_boolean( value, filter->drop_incomplete );
-       break;
+      g_value_set_boolean (value, filter->drop_incomplete);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
 }
 
-static
-int gst_dv1394src_iso_receive(raw1394handle_t handle,int channel,size_t len,quadlet_t *data) {
-  GstDV1394Src *dv1394src = GST_DV1394SRC (raw1394_get_userdata(handle));
+static int
+gst_dv1394src_iso_receive (raw1394handle_t handle, int channel, size_t len,
+    quadlet_t * data)
+{
+  GstDV1394Src *dv1394src = GST_DV1394SRC (raw1394_get_userdata (handle));
 
   if (len > 16) {
-       /*
-                the following code taken from kino-0.51 (Dan Dennedy/Charles Yates)
-       */
-        unsigned char *p = (unsigned char*) & data[3];
-        int section_type = p[0] >> 5;           /* section type is in bits 5 - 7 */
-        int dif_sequence = p[1] >> 4;           /* dif sequence number is in bits 4 - 7 */
-        int dif_block = p[2];
-
-        /* if we are at the beginning of a frame, 
-          we set buf=frame, and alloc a new buffer for frame
-        */
-
-        if (section_type == 0 && dif_sequence == 0) {  // dif header
-       
-          if( !dv1394src->negotiated) {
-            // figure format (NTSC/PAL)
-            if( p[3] & 0x80 ) {
-              // PAL
-              dv1394src->frameSize = PAL_FRAMESIZE;
-              GST_DEBUG ("PAL data");
-              if (gst_pad_try_set_caps (dv1394src->srcpad, 
-                    gst_caps_new_simple ("video/dv",
-                      "format", G_TYPE_STRING, "PAL", NULL)) <= 0) {
-               GST_ELEMENT_ERROR (dv1394src, CORE, NEGOTIATION, (NULL),
-                                   ("Could not set source caps for PAL"));
-                return 0;
-              }
-            } else {
-              // NTSC (untested)
-              dv1394src->frameSize = NTSC_FRAMESIZE;
-              GST_DEBUG ("NTSC data [untested] - please report success/failure to <dan@f3c.com>");
-              if (gst_pad_try_set_caps (dv1394src->srcpad, 
-                    gst_caps_new_simple ("video/dv",
-                      "format", G_TYPE_STRING, "NTSC", NULL)) <= 0) {
-                GST_ELEMENT_ERROR (dv1394src, CORE, NEGOTIATION, (NULL),
-                                   ("Could not set source caps for NTSC"));
-                return 0;
-              }
-            }
-            dv1394src->negotiated = TRUE;
-          }
-  
-          // drop last frame when not complete
-          if( !dv1394src->drop_incomplete || dv1394src->bytesInFrame == dv1394src->frameSize ) { 
-            dv1394src->buf = dv1394src->frame;
-          } else {
-            GST_INFO_OBJECT (GST_ELEMENT(dv1394src), "incomplete frame dropped"); 
-          }
-          dv1394src->frame = NULL;
-
-          dv1394src->frameSequence++;
-
-          if( dv1394src->frameSequence % (dv1394src->skip+dv1394src->consecutive) < dv1394src->consecutive ) {
-            dv1394src->frame = gst_buffer_new_and_alloc (dv1394src->frameSize);
-            }
-            dv1394src->bytesInFrame = 0;
-          }
-
-          if (dv1394src->frame != NULL) {
-            void *data = GST_BUFFER_DATA( dv1394src->frame );
-
-
-            switch (section_type) {
-            case 0: /* 1 Header block */
-                /* p[3] |= 0x80; // hack to force PAL data */
-                memcpy(data + dif_sequence * 150 * 80, p, 480);
-                break;
-
-            case 1: /* 2 Subcode blocks */
-                memcpy(data + dif_sequence * 150 * 80 + (1 + dif_block) * 80, p, 480);
-                break;
-
-            case 2: /* 3 VAUX blocks */
-                memcpy(data + dif_sequence * 150 * 80 + (3 + dif_block) * 80, p, 480);
-                break;
-
-            case 3: /* 9 Audio blocks interleaved with video */
-                memcpy(data + dif_sequence * 150 * 80 + (6 + dif_block * 16) * 80, p, 480);
-                break;
-
-            case 4: /* 135 Video blocks interleaved with audio */
-                memcpy(data + dif_sequence * 150 * 80 + (7 + (dif_block / 15) + dif_block) * 80, p, 480);
-                break;
-
-            default: /* we can´t handle any other data */
-                break;
-            }
-            dv1394src->bytesInFrame += 480;
-        }
+    /*
+       the following code taken from kino-0.51 (Dan Dennedy/Charles Yates)
+     */
+    unsigned char *p = (unsigned char *) &data[3];
+    int section_type = p[0] >> 5;      /* section type is in bits 5 - 7 */
+    int dif_sequence = p[1] >> 4;      /* dif sequence number is in bits 4 - 7 */
+    int dif_block = p[2];
+
+    /* if we are at the beginning of a frame, 
+       we set buf=frame, and alloc a new buffer for frame
+     */
+
+    if (section_type == 0 && dif_sequence == 0) {      // dif header
+
+      if (!dv1394src->negotiated) {
+       // figure format (NTSC/PAL)
+       if (p[3] & 0x80) {
+         // PAL
+         dv1394src->frameSize = PAL_FRAMESIZE;
+         GST_DEBUG ("PAL data");
+         if (gst_pad_try_set_caps (dv1394src->srcpad,
+                 gst_caps_new_simple ("video/dv",
+                     "format", G_TYPE_STRING, "PAL", NULL)) <= 0) {
+           GST_ELEMENT_ERROR (dv1394src, CORE, NEGOTIATION, (NULL),
+               ("Could not set source caps for PAL"));
+           return 0;
+         }
+       } else {
+         // NTSC (untested)
+         dv1394src->frameSize = NTSC_FRAMESIZE;
+         GST_DEBUG
+             ("NTSC data [untested] - please report success/failure to <dan@f3c.com>");
+         if (gst_pad_try_set_caps (dv1394src->srcpad,
+                 gst_caps_new_simple ("video/dv", "format", G_TYPE_STRING,
+                     "NTSC", NULL)) <= 0) {
+           GST_ELEMENT_ERROR (dv1394src, CORE, NEGOTIATION, (NULL),
+               ("Could not set source caps for NTSC"));
+           return 0;
+         }
+       }
+       dv1394src->negotiated = TRUE;
+      }
+      // drop last frame when not complete
+      if (!dv1394src->drop_incomplete
+         || dv1394src->bytesInFrame == dv1394src->frameSize) {
+       dv1394src->buf = dv1394src->frame;
+      } else {
+       GST_INFO_OBJECT (GST_ELEMENT (dv1394src), "incomplete frame dropped");
+      }
+      dv1394src->frame = NULL;
+
+      dv1394src->frameSequence++;
+
+      if (dv1394src->frameSequence % (dv1394src->skip +
+             dv1394src->consecutive) < dv1394src->consecutive) {
+       dv1394src->frame = gst_buffer_new_and_alloc (dv1394src->frameSize);
+      }
+      dv1394src->bytesInFrame = 0;
+    }
+
+    if (dv1394src->frame != NULL) {
+      void *data = GST_BUFFER_DATA (dv1394src->frame);
+
+
+      switch (section_type) {
+       case 0:         /* 1 Header block */
+         /* p[3] |= 0x80; // hack to force PAL data */
+         memcpy (data + dif_sequence * 150 * 80, p, 480);
+         break;
+
+       case 1:         /* 2 Subcode blocks */
+         memcpy (data + dif_sequence * 150 * 80 + (1 + dif_block) * 80, p,
+             480);
+         break;
+
+       case 2:         /* 3 VAUX blocks */
+         memcpy (data + dif_sequence * 150 * 80 + (3 + dif_block) * 80, p,
+             480);
+         break;
+
+       case 3:         /* 9 Audio blocks interleaved with video */
+         memcpy (data + dif_sequence * 150 * 80 + (6 + dif_block * 16) * 80, p,
+             480);
+         break;
+
+       case 4:         /* 135 Video blocks interleaved with audio */
+         memcpy (data + dif_sequence * 150 * 80 + (7 + (dif_block / 15) +
+                 dif_block) * 80, p, 480);
+         break;
+
+       default:                /* we can´t handle any other data */
+         break;
+      }
+      dv1394src->bytesInFrame += 480;
+    }
   }
 
   return 0;
 }
 
-static
-int gst_dv1394src_bus_reset(raw1394handle_t handle,
-                           unsigned int generation) {
-  GST_INFO_OBJECT (GST_DV1394SRC(raw1394_get_userdata(handle)),"have bus reset");
+static int
+gst_dv1394src_bus_reset (raw1394handle_t handle, unsigned int generation)
+{
+  GST_INFO_OBJECT (GST_DV1394SRC (raw1394_get_userdata (handle)),
+      "have bus reset");
   return 0;
 }
 
 static GstData *
-gst_dv1394src_get (GstPad *pad)
+gst_dv1394src_get (GstPad * pad)
 {
-  GstDV1394Src *dv1394src = GST_DV1394SRC (GST_PAD_PARENT(pad));
+  GstDV1394Src *dv1394src = GST_DV1394SRC (GST_PAD_PARENT (pad));
 
   dv1394src->buf = NULL;
   while (dv1394src->buf == NULL)
-    raw1394_loop_iterate(dv1394src->handle);
+    raw1394_loop_iterate (dv1394src->handle);
 
-  return GST_DATA(dv1394src->buf);
-}  
+  return GST_DATA (dv1394src->buf);
+}
 
 static GstElementStateReturn
-gst_dv1394src_change_state (GstElement *element)
+gst_dv1394src_change_state (GstElement * element)
 {
   GstDV1394Src *dv1394src;
 
@@ -348,46 +361,49 @@ gst_dv1394src_change_state (GstElement *element)
 
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
-      if ((dv1394src->handle = raw1394_new_handle()) == NULL) {
-        GST_INFO_OBJECT (dv1394src,"can't get raw1394 handle");
-        return GST_STATE_FAILURE;
+      if ((dv1394src->handle = raw1394_new_handle ()) == NULL) {
+       GST_INFO_OBJECT (dv1394src, "can't get raw1394 handle");
+       return GST_STATE_FAILURE;
       }
-      raw1394_set_userdata(dv1394src->handle,dv1394src);
-      dv1394src->numcards = raw1394_get_port_info(dv1394src->handle,dv1394src->pinfo,16);
+      raw1394_set_userdata (dv1394src->handle, dv1394src);
+      dv1394src->numcards =
+         raw1394_get_port_info (dv1394src->handle, dv1394src->pinfo, 16);
       if (dv1394src->numcards == 0) {
-        GST_INFO_OBJECT (dv1394src,"no cards available for raw1394");
-        return GST_STATE_FAILURE;
+       GST_INFO_OBJECT (dv1394src, "no cards available for raw1394");
+       return GST_STATE_FAILURE;
       }
       if (dv1394src->pinfo[dv1394src->card].nodes <= 1) {
-        GST_INFO_OBJECT (dv1394src,"there are no nodes on the 1394 bus");
-        return GST_STATE_FAILURE;
+       GST_INFO_OBJECT (dv1394src, "there are no nodes on the 1394 bus");
+       return GST_STATE_FAILURE;
       }
-      if (raw1394_set_port(dv1394src->handle,dv1394src->port) < 0) {
-        GST_INFO_OBJECT (dv1394src,"can't set 1394 port %d",dv1394src->port);
-        return GST_STATE_FAILURE;
+      if (raw1394_set_port (dv1394src->handle, dv1394src->port) < 0) {
+       GST_INFO_OBJECT (dv1394src, "can't set 1394 port %d", dv1394src->port);
+       return GST_STATE_FAILURE;
       }
-      raw1394_set_iso_handler(dv1394src->handle,dv1394src->channel,gst_dv1394src_iso_receive);
-      raw1394_set_bus_reset_handler(dv1394src->handle,gst_dv1394src_bus_reset);
+      raw1394_set_iso_handler (dv1394src->handle, dv1394src->channel,
+         gst_dv1394src_iso_receive);
+      raw1394_set_bus_reset_handler (dv1394src->handle,
+         gst_dv1394src_bus_reset);
       dv1394src->started = FALSE;
       GST_DEBUG ("successfully opened up 1394 connection");
       break;
     case GST_STATE_PAUSED_TO_PLAYING:
-      if (raw1394_start_iso_rcv(dv1394src->handle,dv1394src->channel) < 0) {
-        GST_INFO_OBJECT (dv1394src,"can't start 1394 iso receive");
-        return GST_STATE_FAILURE;
+      if (raw1394_start_iso_rcv (dv1394src->handle, dv1394src->channel) < 0) {
+       GST_INFO_OBJECT (dv1394src, "can't start 1394 iso receive");
+       return GST_STATE_FAILURE;
       }
       break;
     case GST_STATE_PLAYING_TO_PAUSED:
-      raw1394_stop_iso_rcv(dv1394src->handle, dv1394src->channel);
+      raw1394_stop_iso_rcv (dv1394src->handle, dv1394src->channel);
       break;
     case GST_STATE_READY_TO_NULL:
-      raw1394_destroy_handle(dv1394src->handle);
+      raw1394_destroy_handle (dv1394src->handle);
       break;
     default:
       break;
   }
 
-  /* if we haven't failed already, give the parent class a chance to ;-) */  
+  /* if we haven't failed already, give the parent class a chance to ;-) */
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
     return GST_ELEMENT_CLASS (parent_class)->change_state (element);
 
index 7d384fd..2ba4ab3 100644 (file)
@@ -27,8 +27,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_DV1394SRC \
@@ -42,45 +43,47 @@ extern "C" {
 #define GST_IS_DV1394SRC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DV1394SRC))
 
-typedef struct _GstDV1394Src GstDV1394Src;
-typedef struct _GstDV1394SrcClass GstDV1394SrcClass;
+  typedef struct _GstDV1394Src GstDV1394Src;
+  typedef struct _GstDV1394SrcClass GstDV1394SrcClass;
 
-struct _GstDV1394Src {
-  GstElement element;
+  struct _GstDV1394Src
+  {
+    GstElement element;
 
-  GstPad *srcpad;
+    GstPad *srcpad;
 
-  // consecutive=2, skip=4 will skip 4 frames, then let 2 consecutive ones thru
-  gint consecutive;
-  gint skip;
-  gboolean drop_incomplete;
+    // consecutive=2, skip=4 will skip 4 frames, then let 2 consecutive ones thru
+    gint consecutive;
+    gint skip;
+    gboolean drop_incomplete;
 
-  int numcards,numports;
-  int card,port,channel;
+    int numcards, numports;
+    int card, port, channel;
 
-  struct raw1394_portinfo pinfo[16];
-  raw1394handle_t handle;
+    struct raw1394_portinfo pinfo[16];
+    raw1394handle_t handle;
 
-  gboolean started;
-  GstBuffer *buf;
-  
-  GstBuffer *frame;
-  guint frameSize;
-  guint bytesInFrame;
-  guint frameSequence;
+    gboolean started;
+    GstBuffer *buf;
 
-  gboolean negotiated;
-};
+    GstBuffer *frame;
+    guint frameSize;
+    guint bytesInFrame;
+    guint frameSequence;
 
-struct _GstDV1394SrcClass {
-  GstElementClass parent_class;
-};
+    gboolean negotiated;
+  };
 
-GType gst_dv1394src_get_type(void);
+  struct _GstDV1394SrcClass
+  {
+    GstElementClass parent_class;
+  };
+
+  GType gst_dv1394src_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_GST1394_H__ */
+#endif                         /* __GST_GST1394_H__ */
index 3b07dd7..4a1d4a1 100644 (file)
@@ -29,177 +29,163 @@ static GstElementDetails shout2send_details = {
   "An Icecast plugin",
   "Sink/Network",
   "Sends data to an icecast server",
-  "Wim Taymans <wim.taymans@chello.be>\n"
-  "Pedro Corte-Real <typo@netcabo.pt>"
+  "Wim Taymans <wim.taymans@chello.be>\n" "Pedro Corte-Real <typo@netcabo.pt>"
 };
 
 unsigned int audio_format = 100;
 
 /* Shout2send signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
-  ARG_IP,          /* the ip of the server */
-  ARG_PORT,        /* the encoder port number on the server */
-  ARG_PASSWORD,    /* the encoder password on the server */
-  ARG_PUBLIC,      /* is this stream public? */
-  ARG_NAME,        /* Name of the stream */
-  ARG_DESCRIPTION, /* Description of the stream */
-  ARG_GENRE,       /* Genre of the stream */
-
-  ARG_PROTOCOL,    /* Protocol to connect with */
-
-  ARG_MOUNT,       /* mountpoint of stream (icecast only) */
-  ARG_URL,         /* Url of stream (I'm guessing) */
+  ARG_IP,                      /* the ip of the server */
+  ARG_PORT,                    /* the encoder port number on the server */
+  ARG_PASSWORD,                        /* the encoder password on the server */
+  ARG_PUBLIC,                  /* is this stream public? */
+  ARG_NAME,                    /* Name of the stream */
+  ARG_DESCRIPTION,             /* Description of the stream */
+  ARG_GENRE,                   /* Genre of the stream */
+
+  ARG_PROTOCOL,                        /* Protocol to connect with */
+
+  ARG_MOUNT,                   /* mountpoint of stream (icecast only) */
+  ARG_URL,                     /* Url of stream (I'm guessing) */
 };
 
-static GstPadTemplate*
+static GstPadTemplate *
 sink_template_factory (void)
 {
   static GstPadTemplate *template = NULL;
-  
+
   if (!template) {
-    template = gst_pad_template_new (
-      "sink",
-      GST_PAD_SINK,
-      GST_PAD_ALWAYS,
-      gst_caps_new (
-        "shout2send_sink",
-        "application/ogg",
-       NULL),
-      gst_caps_new (
-        "shout2send_sink",
-        "audio/mpeg",
-       gst_props_new (
-         "mpegversion", GST_PROPS_INT (1),
-         "layer", GST_PROPS_INT_RANGE (1, 3),
-         NULL
-       )),
-      NULL);
+    template = gst_pad_template_new ("sink",
+       GST_PAD_SINK,
+       GST_PAD_ALWAYS,
+       gst_caps_new ("shout2send_sink",
+           "application/ogg",
+           NULL),
+       gst_caps_new ("shout2send_sink",
+           "audio/mpeg",
+           gst_props_new ("mpegversion", GST_PROPS_INT (1),
+               "layer", GST_PROPS_INT_RANGE (1, 3), NULL)), NULL);
   }
 
   return template;
 }
 
-static void                    gst_shout2send_class_init       (GstShout2sendClass *klass);
-static void                    gst_shout2send_base_init        (GstShout2sendClass *klass);
-static void                    gst_shout2send_init             (GstShout2send *shout2send);
+static void gst_shout2send_class_init (GstShout2sendClass * klass);
+static void gst_shout2send_base_init (GstShout2sendClass * klass);
+static void gst_shout2send_init (GstShout2send * shout2send);
 
-static void                    gst_shout2send_chain            (GstPad *pad, GstData *_data);
-static GstPadLinkReturn      gst_shout2send_connect         (GstPad *pad, GstCaps *caps);
+static void gst_shout2send_chain (GstPad * pad, GstData * _data);
+static GstPadLinkReturn gst_shout2send_connect (GstPad * pad, GstCaps * caps);
 
-static void                    gst_shout2send_set_property             (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void                    gst_shout2send_get_property             (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_shout2send_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_shout2send_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static GstElementStateReturn   gst_shout2send_change_state     (GstElement *element);
+static GstElementStateReturn gst_shout2send_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_shout2send_signals[LAST_SIGNAL] = { 0 }; */
 
 #define GST_TYPE_SHOUT_PROTOCOL (gst_shout2send_protocol_get_type())
 static GType
-gst_shout2send_protocol_get_type (void) 
+gst_shout2send_protocol_get_type (void)
 {
   static GType shout2send_protocol_type = 0;
   static GEnumValue shout2send_protocol[] = {
-    { SHOUT2SEND_PROTOCOL_ICE,               "1", "Ice Protocol"},
-    { SHOUT2SEND_PROTOCOL_XAUDIOCAST, "2", "Xaudiocast Protocol (icecast 1.3.x)"},
-    { SHOUT2SEND_PROTOCOL_ICY,               "3", "Icy Protocol (ShoutCast)"},
-    { SHOUT2SEND_PROTOCOL_HTTP,       "4", "Http Protocol (icecast 2.x)"},
+    {SHOUT2SEND_PROTOCOL_ICE, "1", "Ice Protocol"},
+    {SHOUT2SEND_PROTOCOL_XAUDIOCAST, "2",
+       "Xaudiocast Protocol (icecast 1.3.x)"},
+    {SHOUT2SEND_PROTOCOL_ICY, "3", "Icy Protocol (ShoutCast)"},
+    {SHOUT2SEND_PROTOCOL_HTTP, "4", "Http Protocol (icecast 2.x)"},
     {0, NULL, NULL},
   };
   if (!shout2send_protocol_type) {
-    shout2send_protocol_type = g_enum_register_static ("GstShout2SendProtocol", shout2send_protocol);
+    shout2send_protocol_type =
+       g_enum_register_static ("GstShout2SendProtocol", shout2send_protocol);
   }
   return shout2send_protocol_type;
 }
 
 GType
-gst_shout2send_get_type(void)
+gst_shout2send_get_type (void)
 {
   static GType shout2send_type = 0;
 
   if (!shout2send_type) {
     static const GTypeInfo shout2send_info = {
-      sizeof(GstShout2sendClass),
-      (GBaseInitFunc)gst_shout2send_base_init,
+      sizeof (GstShout2sendClass),
+      (GBaseInitFunc) gst_shout2send_base_init,
       NULL,
-      (GClassInitFunc)gst_shout2send_class_init,
+      (GClassInitFunc) gst_shout2send_class_init,
       NULL,
       NULL,
-      sizeof(GstShout2send),
+      sizeof (GstShout2send),
       0,
-      (GInstanceInitFunc)gst_shout2send_init,
+      (GInstanceInitFunc) gst_shout2send_init,
     };
-    shout2send_type = g_type_register_static(GST_TYPE_ELEMENT, "GstShout2send", &shout2send_info, 0);
+    shout2send_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstShout2send",
+       &shout2send_info, 0);
   }
   return shout2send_type;
 }
 
 static void
-gst_shout2send_base_init (GstShout2sendClass *klass)
+gst_shout2send_base_init (GstShout2sendClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class, sink_template_factory());
+  gst_element_class_add_pad_template (element_class, sink_template_factory ());
   gst_element_class_set_details (element_class, &shout2send_details);
 }
 
 static void
-gst_shout2send_class_init (GstShout2sendClass *klass)
+gst_shout2send_class_init (GstShout2sendClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_IP,
-    g_param_spec_string("ip","ip","ip",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PORT,
-    g_param_spec_int("port","port","port",
-                     1,G_MAXUSHORT,8000,G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_IP, g_param_spec_string ("ip", "ip", "ip", NULL, G_PARAM_READWRITE));   /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PORT, g_param_spec_int ("port", "port", "port", 1, G_MAXUSHORT, 8000, G_PARAM_READWRITE));      /* CHECKME */
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PASSWORD,
-    g_param_spec_string("password","password","password",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PASSWORD, g_param_spec_string ("password", "password", "password", NULL, G_PARAM_READWRITE));   /* CHECKME */
 
   /* metadata */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NAME,
-    g_param_spec_string("name","name","name",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_READWRITE));   /* CHECKME */
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DESCRIPTION,
-    g_param_spec_string("description","description","description",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DESCRIPTION, g_param_spec_string ("description", "description", "description", NULL, G_PARAM_READWRITE));       /* CHECKME */
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_GENRE,
-    g_param_spec_string("genre","genre","genre",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_GENRE, g_param_spec_string ("genre", "genre", "genre", NULL, G_PARAM_READWRITE));       /* CHECKME */
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PROTOCOL,
-    g_param_spec_enum ("protocol", "protocol", "Connection Protocol to use",
-                       GST_TYPE_SHOUT_PROTOCOL, SHOUT2SEND_PROTOCOL_HTTP, G_PARAM_READWRITE)); 
+      g_param_spec_enum ("protocol", "protocol", "Connection Protocol to use",
+         GST_TYPE_SHOUT_PROTOCOL, SHOUT2SEND_PROTOCOL_HTTP,
+         G_PARAM_READWRITE));
 
 
   /* icecast only */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MOUNT,
-    g_param_spec_string("mount","mount","mount",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MOUNT, g_param_spec_string ("mount", "mount", "mount", NULL, G_PARAM_READWRITE));       /* CHECKME */
+
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_URL, g_param_spec_string ("url", "url", "url", NULL, G_PARAM_READWRITE));       /* CHECKME */
+
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_URL,
-    g_param_spec_string("url","url","url",
-                        NULL, G_PARAM_READWRITE)); /* CHECKME */
-  
 
-  
   gobject_class->set_property = gst_shout2send_set_property;
   gobject_class->get_property = gst_shout2send_get_property;
 
@@ -207,11 +193,12 @@ gst_shout2send_class_init (GstShout2sendClass *klass)
 }
 
 static void
-gst_shout2send_init (GstShout2send *shout2send)
+gst_shout2send_init (GstShout2send * shout2send)
 {
-  shout2send->sinkpad = gst_pad_new_from_template (sink_template_factory (), "sink");
-  gst_element_add_pad(GST_ELEMENT(shout2send),shout2send->sinkpad);
-  gst_pad_set_chain_function(shout2send->sinkpad,gst_shout2send_chain);
+  shout2send->sinkpad =
+      gst_pad_new_from_template (sink_template_factory (), "sink");
+  gst_element_add_pad (GST_ELEMENT (shout2send), shout2send->sinkpad);
+  gst_pad_set_chain_function (shout2send->sinkpad, gst_shout2send_chain);
 
   gst_pad_set_link_function (shout2send->sinkpad, gst_shout2send_connect);
 
@@ -227,15 +214,15 @@ gst_shout2send_init (GstShout2send *shout2send)
 }
 
 static void
-gst_shout2send_chain (GstPad *pad, GstData *_data)
+gst_shout2send_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstShout2send *shout2send;
   glong ret;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
 
   shout2send = GST_SHOUT2SEND (GST_OBJECT_PARENT (pad));
 
@@ -243,9 +230,9 @@ gst_shout2send_chain (GstPad *pad, GstData *_data)
   g_return_if_fail (GST_IS_SHOUT2SEND (shout2send));
 
   ret = shout_send (shout2send->conn, GST_BUFFER_DATA (buf),
-                                            GST_BUFFER_SIZE (buf));
+      GST_BUFFER_SIZE (buf));
   if (ret != SHOUTERR_SUCCESS) {
-    g_warning ("send error: %s...\n", shout_get_error(shout2send->conn));
+    g_warning ("send error: %s...\n", shout_get_error (shout2send->conn));
   }
 
   shout_sync (shout2send->conn);
@@ -254,147 +241,145 @@ gst_shout2send_chain (GstPad *pad, GstData *_data)
 }
 
 static void
-gst_shout2send_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_shout2send_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstShout2send *shout2send;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_SHOUT2SEND(object));
-  shout2send = GST_SHOUT2SEND(object);
+  g_return_if_fail (GST_IS_SHOUT2SEND (object));
+  shout2send = GST_SHOUT2SEND (object);
 
   switch (prop_id) {
 
-  case ARG_IP:
-    if (shout2send->ip)
-      g_free (shout2send->ip);
-    shout2send->ip = g_strdup (g_value_get_string (value));
-    break;
-    
-  case ARG_PORT:
-    shout2send->port = g_value_get_int (value);
-    break;
-
-  case ARG_PASSWORD:
-    if (shout2send->password)
-      g_free (shout2send->password);
-    shout2send->password = g_strdup (g_value_get_string (value));
-    break;
-
-  case ARG_NAME:         /* Name of the stream */
-    if (shout2send->name)
-      g_free (shout2send->name);
-    shout2send->name = g_strdup (g_value_get_string (value));
-    break;
-
-  case ARG_DESCRIPTION: /* Description of the stream */
-    if (shout2send->description)
-      g_free (shout2send->description);
-    shout2send->description = g_strdup (g_value_get_string (value));
-    break;
-    
-  case ARG_GENRE:       /* Genre of the stream */
-    if (shout2send->genre)
-      g_free (shout2send->genre);
-    shout2send->genre = g_strdup (g_value_get_string (value));
-    break;
-    
-  case ARG_PROTOCOL:       /* protocol to connect with */
-    shout2send->protocol = g_value_get_enum (value);
-    break;  
-
-  case ARG_MOUNT:       /* mountpoint of stream (icecast only) */
-    if (shout2send->mount)
-      g_free (shout2send->mount);
-    shout2send->mount = g_strdup (g_value_get_string (value));
-    break;
-      
-  case ARG_URL:       /* Url of the stream (I'm guessing) */
-    if (shout2send->url)
-      g_free (shout2send->url);
-    shout2send->url = g_strdup (g_value_get_string (value));
-    break;
-    
-  default:
-    break;
+    case ARG_IP:
+      if (shout2send->ip)
+       g_free (shout2send->ip);
+      shout2send->ip = g_strdup (g_value_get_string (value));
+      break;
+
+    case ARG_PORT:
+      shout2send->port = g_value_get_int (value);
+      break;
+
+    case ARG_PASSWORD:
+      if (shout2send->password)
+       g_free (shout2send->password);
+      shout2send->password = g_strdup (g_value_get_string (value));
+      break;
+
+    case ARG_NAME:             /* Name of the stream */
+      if (shout2send->name)
+       g_free (shout2send->name);
+      shout2send->name = g_strdup (g_value_get_string (value));
+      break;
+
+    case ARG_DESCRIPTION:      /* Description of the stream */
+      if (shout2send->description)
+       g_free (shout2send->description);
+      shout2send->description = g_strdup (g_value_get_string (value));
+      break;
+
+    case ARG_GENRE:            /* Genre of the stream */
+      if (shout2send->genre)
+       g_free (shout2send->genre);
+      shout2send->genre = g_strdup (g_value_get_string (value));
+      break;
+
+    case ARG_PROTOCOL:         /* protocol to connect with */
+      shout2send->protocol = g_value_get_enum (value);
+      break;
+
+    case ARG_MOUNT:            /* mountpoint of stream (icecast only) */
+      if (shout2send->mount)
+       g_free (shout2send->mount);
+      shout2send->mount = g_strdup (g_value_get_string (value));
+      break;
+
+    case ARG_URL:              /* Url of the stream (I'm guessing) */
+      if (shout2send->url)
+       g_free (shout2send->url);
+      shout2send->url = g_strdup (g_value_get_string (value));
+      break;
+
+    default:
+      break;
   }
 }
 
 static void
-gst_shout2send_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_shout2send_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstShout2send *shout2send;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_SHOUT2SEND(object));
-  shout2send = GST_SHOUT2SEND(object);
+  g_return_if_fail (GST_IS_SHOUT2SEND (object));
+  shout2send = GST_SHOUT2SEND (object);
 
   switch (prop_id) {
-  
-  case ARG_IP:
-    g_value_set_string (value, shout2send->ip);
-    break;
-  case ARG_PORT:
-    g_value_set_int (value, shout2send->port);
-    break;
-  case ARG_PASSWORD:
-    g_value_set_string (value, shout2send->password);
-    break;
-
-  case ARG_NAME:         /* Name of the stream */
-    g_value_set_string (value, shout2send->name);
-    break;
-
-  case ARG_DESCRIPTION: /* Description of the stream */
-    g_value_set_string (value, shout2send->description);
-    break;
-
-  case ARG_GENRE:       /* Genre of the stream */
-    g_value_set_string (value, shout2send->genre);
-    break;
-
-  case ARG_PROTOCOL:       /* protocol to connect with */
-    g_value_set_enum (value, shout2send->protocol);
-    break; 
-
-  case ARG_MOUNT:       /* mountpoint of stream (icecast only) */
-    g_value_set_string (value, shout2send->mount);
-    break;
-
-  case ARG_URL:       /* Url of stream (I'm guessing) */
-    g_value_set_string (value, shout2send->url);
-    break;
-      
-    
-  default:
-    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    break;
+
+    case ARG_IP:
+      g_value_set_string (value, shout2send->ip);
+      break;
+    case ARG_PORT:
+      g_value_set_int (value, shout2send->port);
+      break;
+    case ARG_PASSWORD:
+      g_value_set_string (value, shout2send->password);
+      break;
+
+    case ARG_NAME:             /* Name of the stream */
+      g_value_set_string (value, shout2send->name);
+      break;
+
+    case ARG_DESCRIPTION:      /* Description of the stream */
+      g_value_set_string (value, shout2send->description);
+      break;
+
+    case ARG_GENRE:            /* Genre of the stream */
+      g_value_set_string (value, shout2send->genre);
+      break;
+
+    case ARG_PROTOCOL:         /* protocol to connect with */
+      g_value_set_enum (value, shout2send->protocol);
+      break;
+
+    case ARG_MOUNT:            /* mountpoint of stream (icecast only) */
+      g_value_set_string (value, shout2send->mount);
+      break;
+
+    case ARG_URL:              /* Url of stream (I'm guessing) */
+      g_value_set_string (value, shout2send->url);
+      break;
+
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
   }
 }
 
 static GstPadLinkReturn
-gst_shout2send_connect (GstPad *pad, GstCaps *caps)
-
+gst_shout2send_connect (GstPad * pad, GstCaps * caps)
 {
-  
-  if (!strcmp(gst_caps_get_mime (caps), "audio/mpeg"))
-    {
-      audio_format = SHOUT_FORMAT_MP3;
-      return GST_PAD_LINK_OK;
-    }
-
-  if (!strcmp(gst_caps_get_mime (caps), "application/ogg"))
-    {
-      audio_format = SHOUT_FORMAT_VORBIS;
-      return GST_PAD_LINK_OK;
-    }
-  else {
+
+  if (!strcmp (gst_caps_get_mime (caps), "audio/mpeg")) {
+    audio_format = SHOUT_FORMAT_MP3;
+    return GST_PAD_LINK_OK;
+  }
+
+  if (!strcmp (gst_caps_get_mime (caps), "application/ogg")) {
+    audio_format = SHOUT_FORMAT_VORBIS;
+    return GST_PAD_LINK_OK;
+  } else {
     return GST_PAD_LINK_REFUSED;
   }
-       
+
 }
 
 static GstElementStateReturn
-gst_shout2send_change_state (GstElement *element)
+gst_shout2send_change_state (GstElement * element)
 {
   GstShout2send *shout2send;
 
@@ -405,144 +390,147 @@ gst_shout2send_change_state (GstElement *element)
 
   g_return_val_if_fail (GST_IS_SHOUT2SEND (element), GST_STATE_FAILURE);
 
-  shout2send = GST_SHOUT2SEND(element);
+  shout2send = GST_SHOUT2SEND (element);
 
   GST_DEBUG ("state pending %d", GST_STATE_PENDING (element));
 
   /* if going down into NULL state, close the file if it's open */
   switch (GST_STATE_TRANSITION (element)) {
-   case GST_STATE_NULL_TO_READY:
-     shout2send->conn = shout_new();
-
-     switch (shout2send->protocol) {
-     case SHOUT2SEND_PROTOCOL_ICE:
-       proto = SHOUT_PROTOCOL_ICE;
-       break;
-     case SHOUT2SEND_PROTOCOL_XAUDIOCAST:
-       proto = SHOUT_PROTOCOL_XAUDIOCAST;
-       break;
-     case SHOUT2SEND_PROTOCOL_ICY:
-       proto = SHOUT_PROTOCOL_ICY;
-       break;
-     case SHOUT2SEND_PROTOCOL_HTTP:
-       proto = SHOUT_PROTOCOL_HTTP;
-       break;
-     }
-
-     if (shout_set_protocol(shout2send->conn, proto) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting protocol: %s\n", shout_get_error(shout2send->conn));
-       }
-
-     /* --- FIXME: shout requires an ip, and fails if it is given a host. */
-     /* may want to put convert_to_ip(shout2send->ip) here */
-
-
-     if (shout_set_host(shout2send->conn, shout2send->ip) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting host: %s\n", shout_get_error(shout2send->conn)); 
-       }
-     /* --- */
-     
-     if (shout_set_port(shout2send->conn, shout2send->port) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting port: %s\n", shout_get_error(shout2send->conn)); 
-       } 
-
-     if(shout_set_password(shout2send->conn, shout2send->password) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting password: %s\n", shout_get_error(shout2send->conn)); 
-       }
-     
-     if (shout_set_name(shout2send->conn, shout2send->name) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting name: %s\n", shout_get_error(shout2send->conn)); 
-       } 
-
-     if (shout_set_description(shout2send->conn, shout2send->description) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting name: %s\n", shout_get_error(shout2send->conn)); 
-       } 
-
-     if (shout_set_genre(shout2send->conn, shout2send->genre) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting name: %s\n", shout_get_error(shout2send->conn)); 
-       } 
-
-     if (shout_set_mount(shout2send->conn, shout2send->mount) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting mount point: %s\n", shout_get_error(shout2send->conn)); 
-       }
-     if (shout_set_user(shout2send->conn, "source") != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting user: %s\n", shout_get_error(shout2send->conn)); 
-       }
-
-     gst_version(&major,&minor,&micro);
-     
-     version_string = g_strdup_printf("GStreamer %d.%d.%d", major,minor,micro);
-
-     if (shout_set_agent(shout2send->conn, version_string) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting agent: %s\n", shout_get_error(shout2send->conn)); 
-       }
-     
-     g_free (version_string);
-     
-
-     
-     break;
-  case GST_STATE_READY_TO_PAUSED:
-
-    /* This sets the format acording to the capabilities of what
-       we are being given as input. */
-
-    if (shout_set_format(shout2send->conn, audio_format) != SHOUTERR_SUCCESS)
-       {
-        g_error ("Error setting connection format: %s\n", shout_get_error(shout2send->conn)); 
-       } 
-
-    if (shout_open (shout2send->conn) == SHOUTERR_SUCCESS) {
-      g_print ("connected to server...\n");
-    }
-    else {
-      g_warning ("Couldn't connect to server: %s", shout_get_error(shout2send->conn));
+    case GST_STATE_NULL_TO_READY:
+      shout2send->conn = shout_new ();
+
+      switch (shout2send->protocol) {
+       case SHOUT2SEND_PROTOCOL_ICE:
+         proto = SHOUT_PROTOCOL_ICE;
+         break;
+       case SHOUT2SEND_PROTOCOL_XAUDIOCAST:
+         proto = SHOUT_PROTOCOL_XAUDIOCAST;
+         break;
+       case SHOUT2SEND_PROTOCOL_ICY:
+         proto = SHOUT_PROTOCOL_ICY;
+         break;
+       case SHOUT2SEND_PROTOCOL_HTTP:
+         proto = SHOUT_PROTOCOL_HTTP;
+         break;
+      }
+
+      if (shout_set_protocol (shout2send->conn, proto) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting protocol: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      /* --- FIXME: shout requires an ip, and fails if it is given a host. */
+      /* may want to put convert_to_ip(shout2send->ip) here */
+
+
+      if (shout_set_host (shout2send->conn, shout2send->ip) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting host: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+      /* --- */
+
+      if (shout_set_port (shout2send->conn,
+             shout2send->port) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting port: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      if (shout_set_password (shout2send->conn,
+             shout2send->password) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting password: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      if (shout_set_name (shout2send->conn,
+             shout2send->name) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting name: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      if (shout_set_description (shout2send->conn,
+             shout2send->description) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting name: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      if (shout_set_genre (shout2send->conn,
+             shout2send->genre) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting name: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      if (shout_set_mount (shout2send->conn,
+             shout2send->mount) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting mount point: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      if (shout_set_user (shout2send->conn, "source") != SHOUTERR_SUCCESS) {
+       g_error ("Error setting user: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      gst_version (&major, &minor, &micro);
+
+      version_string =
+         g_strdup_printf ("GStreamer %d.%d.%d", major, minor, micro);
+
+      if (shout_set_agent (shout2send->conn,
+             version_string) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting agent: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      g_free (version_string);
+
+
+
+      break;
+    case GST_STATE_READY_TO_PAUSED:
+
+      /* This sets the format acording to the capabilities of what
+         we are being given as input. */
+
+      if (shout_set_format (shout2send->conn, audio_format) != SHOUTERR_SUCCESS) {
+       g_error ("Error setting connection format: %s\n",
+           shout_get_error (shout2send->conn));
+      }
+
+      if (shout_open (shout2send->conn) == SHOUTERR_SUCCESS) {
+       g_print ("connected to server...\n");
+      } else {
+       g_warning ("Couldn't connect to server: %s",
+           shout_get_error (shout2send->conn));
+       shout_close (shout2send->conn);
+       shout_free (shout2send->conn);
+       return GST_STATE_FAILURE;
+      }
+      break;
+    case GST_STATE_PAUSED_TO_READY:
       shout_close (shout2send->conn);
       shout_free (shout2send->conn);
-      return GST_STATE_FAILURE;
-    }
-    break;
-  case GST_STATE_PAUSED_TO_READY:
-    shout_close (shout2send->conn);
-    shout_free (shout2send->conn);
-    break;
-  default:
-    break;
+      break;
+    default:
+      break;
   }
-  
+
   /* if we haven't failed already, give the parent class a chance to ;-) */
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
     return GST_ELEMENT_CLASS (parent_class)->change_state (element);
-  
+
   return GST_STATE_SUCCESS;
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "shout2send", GST_RANK_NONE,
-                              GST_TYPE_SHOUT2SEND);
+      GST_TYPE_SHOUT2SEND);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "shout2send",
-  "Sends data to an icecast server using libshout2",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  "libshout2",
-  "http://www.icecast.org/download.html"
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "shout2send",
+    "Sends data to an icecast server using libshout2",
+    plugin_init,
+    VERSION, "LGPL", "libshout2", "http://www.icecast.org/download.html")
index 7063129..62ff44b 100644 (file)
 #include <shout/shout.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
   /* Protocol type enum */
-typedef enum {
-  SHOUT2SEND_PROTOCOL_ICE = 1,
-  SHOUT2SEND_PROTOCOL_XAUDIOCAST,
-  SHOUT2SEND_PROTOCOL_ICY,
-  SHOUT2SEND_PROTOCOL_HTTP
-} GstShout2SendProtocol;
+  typedef enum
+  {
+    SHOUT2SEND_PROTOCOL_ICE = 1,
+    SHOUT2SEND_PROTOCOL_XAUDIOCAST,
+    SHOUT2SEND_PROTOCOL_ICY,
+    SHOUT2SEND_PROTOCOL_HTTP
+  } GstShout2SendProtocol;
 
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstShout2send GstShout2send;
-struct _GstShout2send {
-  GstElement element;
+  typedef struct _GstShout2send GstShout2send;
+  struct _GstShout2send
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  GstShout2SendProtocol protocol;
+    GstShout2SendProtocol protocol;
 
-  shout_t *conn;
+    shout_t *conn;
 
-  gchar *ip;
-  guint port;
-  gchar *password;
-  gchar *name;
-  gchar *description;
-  gchar *genre;
-  gchar *mount;
-  gchar *url;
+    gchar *ip;
+    guint port;
+    gchar *password;
+    gchar *name;
+    gchar *description;
+    gchar *genre;
+    gchar *mount;
+    gchar *url;
 
-};
+  };
 
 
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstShout2sendClass GstShout2sendClass;
-struct _GstShout2sendClass {
-  GstElementClass parent_class;
-};
+  typedef struct _GstShout2sendClass GstShout2sendClass;
+  struct _GstShout2sendClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_SHOUT2SEND \
@@ -80,12 +84,12 @@ struct _GstShout2sendClass {
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SHOUT2SEND))
 
 /* Standard function returning type information. */
-GType gst_shout2send_get_type(void);
+  GType gst_shout2send_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_SHOUT2SEND_H__ */
+#endif                         /* __GST_SHOUT2SEND_H__ */
index df2f230..0b0de0b 100644 (file)
 #include "gstspeexenc.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  if (!gst_element_register (plugin, "speexenc", GST_RANK_NONE, GST_TYPE_SPEEXENC))
+  if (!gst_element_register (plugin, "speexenc", GST_RANK_NONE,
+         GST_TYPE_SPEEXENC))
     return FALSE;
 
-  if (!gst_element_register (plugin, "speexdec", GST_RANK_PRIMARY, GST_TYPE_SPEEXDEC))
+  if (!gst_element_register (plugin, "speexdec", GST_RANK_PRIMARY,
+         GST_TYPE_SPEEXDEC))
     return FALSE;
-  
+
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "speex",
-  "Speex plugin library",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "speex",
+    "Speex plugin library",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index a5ab788..364ae66 100644 (file)
@@ -36,72 +36,72 @@ GstElementDetails gst_speexdec_details = {
 };
 
 /* SpeexDec signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void                     gst_speexdec_base_init (gpointer g_class);
-static void                    gst_speexdec_class_init (GstSpeexDec *klass);
-static void                    gst_speexdec_init               (GstSpeexDec *speexdec);
+static void gst_speexdec_base_init (gpointer g_class);
+static void gst_speexdec_class_init (GstSpeexDec * klass);
+static void gst_speexdec_init (GstSpeexDec * speexdec);
 
-static void                    gst_speexdec_chain      (GstPad *pad, GstData *_data);
-static GstPadLinkReturn        gst_speexdec_sinkconnect        (GstPad *pad, const GstCaps *caps);
+static void gst_speexdec_chain (GstPad * pad, GstData * _data);
+static GstPadLinkReturn gst_speexdec_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_speexdec_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_speexdec_get_type(void) {
+gst_speexdec_get_type (void)
+{
   static GType speexdec_type = 0;
 
   if (!speexdec_type) {
     static const GTypeInfo speexdec_info = {
-      sizeof(GstSpeexDecClass),
+      sizeof (GstSpeexDecClass),
       gst_speexdec_base_init,
       NULL,
-      (GClassInitFunc)gst_speexdec_class_init,
+      (GClassInitFunc) gst_speexdec_class_init,
       NULL,
       NULL,
-      sizeof(GstSpeexDec),
+      sizeof (GstSpeexDec),
       0,
-      (GInstanceInitFunc)gst_speexdec_init,
+      (GInstanceInitFunc) gst_speexdec_init,
     };
-    speexdec_type = g_type_register_static(GST_TYPE_ELEMENT, "GstSpeexDec", &speexdec_info, 0);
+    speexdec_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstSpeexDec", &speexdec_info,
+       0);
   }
   return speexdec_type;
 }
 
 static GstStaticPadTemplate speex_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-speex, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) 1"
-  )
-);
-
-static GstStaticPadTemplate speex_src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) true, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) 1"
-  )
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-speex, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) 1")
+    );
+
+static GstStaticPadTemplate speex_src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) true, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) 1")
+    );
 
 static void
 gst_speexdec_base_init (gpointer g_class)
@@ -109,30 +109,31 @@ gst_speexdec_base_init (gpointer g_class)
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
   gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&speex_src_template));
+      gst_static_pad_template_get (&speex_src_template));
   gst_element_class_add_pad_template (element_class,
-        gst_static_pad_template_get (&speex_sink_template));
+      gst_static_pad_template_get (&speex_sink_template));
 
   gst_element_class_set_details (element_class, &gst_speexdec_details);
 }
 
 static void
-gst_speexdec_class_init (GstSpeexDec *klass)
+gst_speexdec_class_init (GstSpeexDec * klass)
 {
   GstElementClass *gstelement_class;
 
-  gstelement_class = (GstElementClass*)klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 }
 
 static void
-gst_speexdec_init (GstSpeexDec *speexdec)
+gst_speexdec_init (GstSpeexDec * speexdec)
 {
   GST_DEBUG ("gst_speexdec_init: initializing");
 
   /* create the sink and src pads */
-  speexdec->sinkpad = gst_pad_new_from_template (speexdec_sink_template, "sink");
+  speexdec->sinkpad =
+      gst_pad_new_from_template (speexdec_sink_template, "sink");
   gst_element_add_pad (GST_ELEMENT (speexdec), speexdec->sinkpad);
   gst_pad_set_chain_function (speexdec->sinkpad, gst_speexdec_chain);
   gst_pad_set_link_function (speexdec->sinkpad, gst_speexdec_sinkconnect);
@@ -144,43 +145,40 @@ gst_speexdec_init (GstSpeexDec *speexdec)
 }
 
 static GstPadLinkReturn
-gst_speexdec_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_speexdec_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstSpeexDec *speexdec;
   gint rate;
   GstStructure *structure;
-  
+
   speexdec = GST_SPEEXDEC (gst_pad_get_parent (pad));
 
   structure = gst_caps_get_structure (caps, 0);
-  gst_structure_get_int  (structure, "rate", &rate);
-
-  if (gst_pad_set_explicit_caps (speexdec->srcpad, 
-        gst_caps_new_simple ("audio/x-raw-int",
-          "endianness", G_TYPE_INT, G_BYTE_ORDER,
-          "signed",     G_TYPE_BOOLEAN, TRUE,
-          "width",      G_TYPE_INT, 16,
-          "depth",      G_TYPE_INT, 16,
-          "rate",       G_TYPE_INT, rate,
-          "channels",   G_TYPE_INT, 1,
-          NULL)))
-  {
+  gst_structure_get_int (structure, "rate", &rate);
+
+  if (gst_pad_set_explicit_caps (speexdec->srcpad,
+         gst_caps_new_simple ("audio/x-raw-int",
+             "endianness", G_TYPE_INT, G_BYTE_ORDER,
+             "signed", G_TYPE_BOOLEAN, TRUE,
+             "width", G_TYPE_INT, 16,
+             "depth", G_TYPE_INT, 16,
+             "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, 1, NULL))) {
     return GST_PAD_LINK_OK;
   }
   return GST_PAD_LINK_REFUSED;
 }
 
 static void
-gst_speexdec_chain (GstPad *pad, GstData *_data)
+gst_speexdec_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstSpeexDec *speexdec;
   gchar *data;
   guint size;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
   /*g_return_if_fail(GST_IS_BUFFER(buf)); */
 
   speexdec = GST_SPEEXDEC (gst_pad_get_parent (pad));
@@ -188,6 +186,5 @@ gst_speexdec_chain (GstPad *pad, GstData *_data)
   data = GST_BUFFER_DATA (buf);
   size = GST_BUFFER_SIZE (buf);
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
-
index c679dc1..6723742 100644 (file)
@@ -26,8 +26,9 @@
 #include <speex.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_SPEEXDEC \
@@ -41,26 +42,28 @@ extern "C" {
 #define GST_IS_SPEEXDEC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SPEEXDEC))
 
-typedef struct _GstSpeexDec GstSpeexDec;
-typedef struct _GstSpeexDecClass GstSpeexDecClass;
+  typedef struct _GstSpeexDec GstSpeexDec;
+  typedef struct _GstSpeexDecClass GstSpeexDecClass;
 
-struct _GstSpeexDec {
-  GstElement element;
+  struct _GstSpeexDec
+  {
+    GstElement element;
 
-  /* pads */
-  GstPad *sinkpad,*srcpad;
-};
+    /* pads */
+    GstPad *sinkpad, *srcpad;
+  };
 
-struct _GstSpeexDecClass {
-  GstElementClass parent_class;
-};
+  struct _GstSpeexDecClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_speexdec_get_type(void);
+  GType gst_speexdec_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_SPEEXDEC_H__ */
+#endif                         /* __GST_SPEEXDEC_H__ */
index 1db431d..d1b4ae3 100644 (file)
@@ -36,23 +36,26 @@ GstElementDetails gst_speexenc_details = {
 };
 
 /* SpeexEnc signals and args */
-enum {
+enum
+{
   FRAME_ENCODED,
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void                     gst_speexenc_base_init (gpointer g_class);
-static void                    gst_speexenc_class_init (GstSpeexEnc *klass);
-static void                    gst_speexenc_init               (GstSpeexEnc *speexenc);
+static void gst_speexenc_base_init (gpointer g_class);
+static void gst_speexenc_class_init (GstSpeexEnc * klass);
+static void gst_speexenc_init (GstSpeexEnc * speexenc);
 
-static void                    gst_speexenc_chain      (GstPad *pad,GstData *_data);
-static GstPadLinkReturn        gst_speexenc_sinkconnect        (GstPad *pad, const GstCaps *caps);
+static void gst_speexenc_chain (GstPad * pad, GstData * _data);
+static GstPadLinkReturn gst_speexenc_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
 
 static GstElementClass *parent_class = NULL;
 static guint gst_speexenc_signals[LAST_SIGNAL] = { 0 };
@@ -74,42 +77,37 @@ gst_speexenc_get_type (void)
       0,
       (GInstanceInitFunc) gst_speexenc_init,
     };
-    speexenc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstSpeexEnc", &speexenc_info, 0);
+    speexenc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstSpeexEnc", &speexenc_info,
+       0);
   }
   return speexenc_type;
 }
 
 static GstStaticPadTemplate speex_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) true, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) 1"
-  )
-);
-
-static GstStaticPadTemplate speex_src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-speex, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) 1"
-  )
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) true, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) 1")
+    );
+
+static GstStaticPadTemplate speex_src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-speex, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) 1")
+    );
 
 static void
 gst_speexenc_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  
+
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&speex_sink_template));
   gst_element_class_add_pad_template (element_class,
@@ -119,28 +117,29 @@ gst_speexenc_base_init (gpointer g_class)
 }
 
 static void
-gst_speexenc_class_init (GstSpeexEnc *klass)
+gst_speexenc_class_init (GstSpeexEnc * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gst_speexenc_signals[FRAME_ENCODED] =
-    g_signal_new ("frame-encoded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
-                   G_STRUCT_OFFSET (GstSpeexEncClass, frame_encoded), NULL, NULL,
-                   g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+      g_signal_new ("frame-encoded", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstSpeexEncClass, frame_encoded),
+      NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 }
 
 
 static void
-gst_speexenc_init (GstSpeexEnc *speexenc)
+gst_speexenc_init (GstSpeexEnc * speexenc)
 {
   /* create the sink and src pads */
-  speexenc->sinkpad = gst_pad_new_from_template (speexenc_sink_template, "sink");
+  speexenc->sinkpad =
+      gst_pad_new_from_template (speexenc_sink_template, "sink");
   gst_element_add_pad (GST_ELEMENT (speexenc), speexenc->sinkpad);
   gst_pad_set_chain_function (speexenc->sinkpad, gst_speexenc_chain);
   gst_pad_set_link_function (speexenc->sinkpad, gst_speexenc_sinkconnect);
@@ -148,7 +147,7 @@ gst_speexenc_init (GstSpeexEnc *speexenc)
   speexenc->srcpad = gst_pad_new_from_template (speexenc_src_template, "src");
   gst_element_add_pad (GST_ELEMENT (speexenc), speexenc->srcpad);
 
-  speex_bits_init(&speexenc->bits);
+  speex_bits_init (&speexenc->bits);
   speexenc->mode = &speex_nb_mode;
   speexenc->bufsize = 0;
   speexenc->packet_count = 0;
@@ -156,7 +155,7 @@ gst_speexenc_init (GstSpeexEnc *speexenc)
 }
 
 static GstPadLinkReturn
-gst_speexenc_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_speexenc_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstSpeexEnc *speexenc;
   GstStructure *structure;
@@ -166,16 +165,15 @@ gst_speexenc_sinkconnect (GstPad *pad, const GstCaps *caps)
   structure = gst_caps_get_structure (caps, 0);
   gst_structure_get_int (structure, "rate", &speexenc->rate);
   if (gst_pad_try_set_caps (speexenc->srcpad,
-        gst_caps_new_simple ("audio/x-speex",
-          "rate",       G_TYPE_INT, speexenc->rate,
-          "channels",   G_TYPE_INT, 1,
-          NULL)))
-  {
-    speex_init_header(&speexenc->header, speexenc->rate, 1, speexenc->mode);
+         gst_caps_new_simple ("audio/x-speex",
+             "rate", G_TYPE_INT, speexenc->rate,
+             "channels", G_TYPE_INT, 1, NULL))) {
+    speex_init_header (&speexenc->header, speexenc->rate, 1, speexenc->mode);
     speexenc->header.frames_per_packet = speexenc->n_packets;
 
-    speexenc->state = speex_encoder_init(speexenc->mode);
-    speex_encoder_ctl(speexenc->state, SPEEX_GET_FRAME_SIZE, &speexenc->frame_size);
+    speexenc->state = speex_encoder_init (speexenc->mode);
+    speex_encoder_ctl (speexenc->state, SPEEX_GET_FRAME_SIZE,
+       &speexenc->frame_size);
 
     return GST_PAD_LINK_OK;
   }
@@ -184,7 +182,7 @@ gst_speexenc_sinkconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static void
-gst_speexenc_chain (GstPad *pad, GstData *_data)
+gst_speexenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstSpeexEnc *speexenc;
@@ -201,22 +199,20 @@ gst_speexenc_chain (GstPad *pad, GstData *_data)
   g_return_if_fail (buf != NULL);
 
   speexenc = GST_SPEEXENC (GST_OBJECT_PARENT (pad));
-             
+
   if (!GST_PAD_CAPS (speexenc->srcpad)) {
 
     if (!gst_pad_try_set_caps (speexenc->srcpad,
-          gst_caps_new_simple ("audio/x-speex",
-            "rate",     G_TYPE_INT, speexenc->rate,
-            "channels", G_TYPE_INT, 1,
-            NULL)))
-    {
+           gst_caps_new_simple ("audio/x-speex",
+               "rate", G_TYPE_INT, speexenc->rate,
+               "channels", G_TYPE_INT, 1, NULL))) {
       GST_ELEMENT_ERROR (speexenc, CORE, NEGOTIATION, (NULL), (NULL));
       return;
     }
   }
 
   if (speexenc->packet_count == 0) {
-    header_data = speex_header_to_packet(&speexenc->header, &size);
+    header_data = speex_header_to_packet (&speexenc->header, &size);
 
     outbuf = gst_buffer_new ();
     GST_BUFFER_DATA (outbuf) = header_data;
@@ -231,7 +227,8 @@ gst_speexenc_chain (GstPad *pad, GstData *_data)
   frame_size = speexenc->frame_size;
 
   if (speexenc->bufsize && (speexenc->bufsize + size >= frame_size)) {
-    memcpy (speexenc->buffer + speexenc->bufsize, data, (frame_size - speexenc->bufsize) * sizeof (gint16));
+    memcpy (speexenc->buffer + speexenc->bufsize, data,
+       (frame_size - speexenc->bufsize) * sizeof (gint16));
 
     for (i = 0; i < frame_size; i++)
       input[i] = speexenc->buffer[i];
@@ -243,10 +240,10 @@ gst_speexenc_chain (GstPad *pad, GstData *_data)
       GstBuffer *outbuf;
 
       outbuf = gst_buffer_new_and_alloc (frame_size * speexenc->n_packets);
-      GST_BUFFER_SIZE (outbuf) = speex_bits_write(&speexenc->bits, 
-                                GST_BUFFER_DATA (outbuf), GST_BUFFER_SIZE (outbuf));
+      GST_BUFFER_SIZE (outbuf) = speex_bits_write (&speexenc->bits,
+         GST_BUFFER_DATA (outbuf), GST_BUFFER_SIZE (outbuf));
       GST_BUFFER_TIMESTAMP (outbuf) = speexenc->next_ts;
-      speex_bits_reset(&speexenc->bits);
+      speex_bits_reset (&speexenc->bits);
 
       gst_pad_push (speexenc->srcpad, GST_DATA (outbuf));
       speexenc->next_ts += frame_size * GST_SECOND / speexenc->rate;
@@ -269,10 +266,10 @@ gst_speexenc_chain (GstPad *pad, GstData *_data)
       GstBuffer *outbuf;
 
       outbuf = gst_buffer_new_and_alloc (frame_size * speexenc->n_packets);
-      GST_BUFFER_SIZE (outbuf) = speex_bits_write(&speexenc->bits, 
-                                GST_BUFFER_DATA (outbuf), GST_BUFFER_SIZE (outbuf));
+      GST_BUFFER_SIZE (outbuf) = speex_bits_write (&speexenc->bits,
+         GST_BUFFER_DATA (outbuf), GST_BUFFER_SIZE (outbuf));
       GST_BUFFER_TIMESTAMP (outbuf) = speexenc->next_ts;
-      speex_bits_reset(&speexenc->bits);
+      speex_bits_reset (&speexenc->bits);
 
       gst_pad_push (speexenc->srcpad, GST_DATA (outbuf));
       speexenc->next_ts += frame_size * GST_SECOND / speexenc->rate;
@@ -286,6 +283,6 @@ gst_speexenc_chain (GstPad *pad, GstData *_data)
     memcpy (speexenc->buffer + speexenc->bufsize, data, size * sizeof (gint16));
     speexenc->bufsize += size;
   }
-  
-  gst_buffer_unref(buf);
+
+  gst_buffer_unref (buf);
 }
index 4677f6a..4da1e78 100644 (file)
@@ -28,8 +28,9 @@
 #include <speex_header.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_SPEEXENC \
@@ -43,44 +44,45 @@ extern "C" {
 #define GST_IS_SPEEXENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SPEEXENC))
 
-typedef struct _GstSpeexEnc GstSpeexEnc;
-typedef struct _GstSpeexEncClass GstSpeexEncClass;
+  typedef struct _GstSpeexEnc GstSpeexEnc;
+  typedef struct _GstSpeexEncClass GstSpeexEncClass;
 
-struct _GstSpeexEnc {
-  GstElement   element;
+  struct _GstSpeexEnc
+  {
+    GstElement element;
 
-  /* pads */
-  GstPad       *sinkpad,
-               *srcpad;
+    /* pads */
+    GstPad *sinkpad, *srcpad;
 
-  gint          packet_count;
-  gint          n_packets;
+    gint packet_count;
+    gint n_packets;
 
-  SpeexBits     bits;
-  SpeexHeader   header;
-  SpeexMode    *mode;
-  void                 *state;
-  gint          frame_size;
-  gint16        buffer[2000];
-  gint          bufsize;
-  guint64       next_ts;
+    SpeexBits bits;
+    SpeexHeader header;
+    SpeexMode *mode;
+    void *state;
+    gint frame_size;
+    gint16 buffer[2000];
+    gint bufsize;
+    guint64 next_ts;
 
-  gint          rate;
-};
+    gint rate;
+  };
 
-struct _GstSpeexEncClass {
-  GstElementClass parent_class;
+  struct _GstSpeexEncClass
+  {
+    GstElementClass parent_class;
 
-  /* signals */
-  void (*frame_encoded) (GstElement *element);
-};
+    /* signals */
+    void (*frame_encoded) (GstElement * element);
+  };
 
-GType gst_speexenc_get_type(void);
+  GType gst_speexenc_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_SPEEXENC_H__ */
+#endif                         /* __GST_SPEEXENC_H__ */
index 7752905..a848cc2 100644 (file)
 #include <string.h>            /* memmove */
 
 /* elementfactory information */
-static GstElementDetails gst_bpwsinc_details = GST_ELEMENT_DETAILS (
-  "BPWSinc",
-  "Filter/Effect/Audio",
-  "Band-Pass Windowed sinc filter",
-  "Thomas <thomas@apestaart.org>, "
-  "Steven W. Smith"
-);
-
-enum {
+static GstElementDetails gst_bpwsinc_details = GST_ELEMENT_DETAILS ("BPWSinc",
+    "Filter/Effect/Audio",
+    "Band-Pass Windowed sinc filter",
+    "Thomas <thomas@apestaart.org>, " "Steven W. Smith");
+
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_LENGTH,
   ARG_LOWER_FREQUENCY,
@@ -81,51 +80,52 @@ struct _GstBPWSinc
 
   double frequency;
   double lower_frequency, upper_frequency;
-  int wing_size;       /* length of a "wing" of the filter; 
-                          actual length is 2 * wing_size + 1 */
+  int wing_size;               /* length of a "wing" of the filter; 
+                                  actual length is 2 * wing_size + 1 */
 
-  gfloat *residue;     /* buffer for left-over samples from previous buffer */
+  gfloat *residue;             /* buffer for left-over samples from previous buffer */
   double *kernel;
 };
 
 struct _GstBPWSincClass
 {
-    GstElementClass parent_class;
+  GstElementClass parent_class;
 };
 
-static void gst_bpwsinc_base_init              (gpointer g_class);
-static void gst_bpwsinc_class_init             (GstBPWSincClass * klass);
-static void gst_bpwsinc_init                   (GstBPWSinc * filter);
+static void gst_bpwsinc_base_init (gpointer g_class);
+static void gst_bpwsinc_class_init (GstBPWSincClass * klass);
+static void gst_bpwsinc_init (GstBPWSinc * filter);
 
-static void gst_bpwsinc_set_property   (GObject * object, guint prop_id,
-                                         const GValue * value, 
-                                        GParamSpec * pspec);
-static void gst_bpwsinc_get_property   (GObject * object, guint prop_id,
-                                         GValue * value, GParamSpec * pspec);
+static void gst_bpwsinc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_bpwsinc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_bpwsinc_chain          (GstPad * pad, GstData *_data);
+static void gst_bpwsinc_chain (GstPad * pad, GstData * _data);
 static GstPadLinkReturn
-       gst_bpwsinc_sink_connect                (GstPad * pad, const GstCaps * caps);
+gst_bpwsinc_sink_connect (GstPad * pad, const GstCaps * caps);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_bpwsinc_signals[LAST_SIGNAL] = { 0 }; */
 
-GType gst_bpwsinc_get_type (void)
+GType
+gst_bpwsinc_get_type (void)
 {
   static GType bpwsinc_type = 0;
 
   if (!bpwsinc_type) {
     static const GTypeInfo bpwsinc_info = {
-      sizeof (GstBPWSincClass), 
-      gst_bpwsinc_base_init, 
+      sizeof (GstBPWSincClass),
+      gst_bpwsinc_base_init,
       NULL,
       (GClassInitFunc) gst_bpwsinc_class_init, NULL, NULL,
       sizeof (GstBPWSinc), 0,
       (GInstanceInitFunc) gst_bpwsinc_init,
     };
 
-    bpwsinc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstBPWSinc", 
-                                          &bpwsinc_info, 0);
+    bpwsinc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstBPWSinc",
+       &bpwsinc_info, 0);
   }
   return bpwsinc_type;
 }
@@ -139,9 +139,9 @@ gst_bpwsinc_base_init (gpointer g_class)
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_filter_src_template));
   gst_element_class_add_pad_template (element_class,
-    gst_static_pad_template_get (&gst_filter_sink_template));
+      gst_static_pad_template_get (&gst_filter_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_bpwsinc_details);  
+  gst_element_class_set_details (element_class, &gst_bpwsinc_details);
 }
 
 static void
@@ -156,20 +156,17 @@ gst_bpwsinc_class_init (GstBPWSincClass * klass)
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LOWER_FREQUENCY,
-      g_param_spec_double ("lower-frequency", "Lower Frequency", 
-                          "Cut-off lower frequency (relative to sample rate)", 
-                          0.0, 0.5,
-                          0, G_PARAM_READWRITE));
+      g_param_spec_double ("lower-frequency", "Lower Frequency",
+         "Cut-off lower frequency (relative to sample rate)",
+         0.0, 0.5, 0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_UPPER_FREQUENCY,
-      g_param_spec_double ("upper-frequency", "Upper Frequency", 
-                          "Cut-off upper frequency (relative to sample rate)", 
-                          0.0, 0.5,
-                          0, G_PARAM_READWRITE));
+      g_param_spec_double ("upper-frequency", "Upper Frequency",
+         "Cut-off upper frequency (relative to sample rate)",
+         0.0, 0.5, 0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LENGTH,
-      g_param_spec_int ("length", "Length", 
-                       "N such that the filter length = 2N + 1",
-                          1, G_MAXINT, 
-                          1, G_PARAM_READWRITE));
+      g_param_spec_int ("length", "Length",
+         "N such that the filter length = 2N + 1",
+         1, G_MAXINT, 1, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_bpwsinc_set_property;
   gobject_class->get_property = gst_bpwsinc_get_property;
@@ -178,14 +175,16 @@ gst_bpwsinc_class_init (GstBPWSincClass * klass)
 static void
 gst_bpwsinc_init (GstBPWSinc * filter)
 {
-  filter->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_filter_sink_template), "sink");
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_filter_sink_template), "sink");
   gst_pad_set_chain_function (filter->sinkpad, gst_bpwsinc_chain);
   gst_pad_set_link_function (filter->sinkpad, gst_bpwsinc_sink_connect);
   gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
 
-  filter->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_filter_src_template), "src");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_filter_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
 
   filter->wing_size = 50;
@@ -202,65 +201,65 @@ gst_bpwsinc_sink_connect (GstPad * pad, const GstCaps * caps)
   int len = 0;
   double *kernel_lp, *kernel_hp;
   GstPadLinkReturn set_retval;
-  
+
   GstBPWSinc *filter = GST_BPWSINC (gst_pad_get_parent (pad));
 
   g_assert (GST_IS_PAD (pad));
   g_assert (caps != NULL);
 
   set_retval = gst_pad_try_set_caps (filter->srcpad, caps);
-  
-  if (set_retval > 0)
-  {
+
+  if (set_retval > 0) {
     len = filter->wing_size;
     /* fill the lp kernel */
-    GST_DEBUG (
-              "bpwsinc: initializing LP kernel of length %d with cut-off %f", 
-              len * 2 + 1, filter->lower_frequency);
+    GST_DEBUG ("bpwsinc: initializing LP kernel of length %d with cut-off %f",
+       len * 2 + 1, filter->lower_frequency);
     kernel_lp = (double *) g_malloc (sizeof (double) * (2 * len + 1));
-    for (i = 0; i <= len * 2; ++i)
-    {
+    for (i = 0; i <= len * 2; ++i) {
       if (i == len)
        kernel_lp[i] = 2 * M_PI * filter->lower_frequency;
       else
-       kernel_lp[i] = sin (2 * M_PI * filter->lower_frequency * (i - len)) 
-                    / (i - len);
+       kernel_lp[i] = sin (2 * M_PI * filter->lower_frequency * (i - len))
+           / (i - len);
       /* Blackman windowing */
-      kernel_lp[i] *= (0.42 - 0.5 * cos (M_PI * i / len) 
-                           + 0.08 * cos (2 * M_PI * i / len));
+      kernel_lp[i] *= (0.42 - 0.5 * cos (M_PI * i / len)
+         + 0.08 * cos (2 * M_PI * i / len));
     }
 
     /* normalize for unity gain at DC
      * FIXME: sure this is not supposed to be quadratic ? */
     sum = 0.0;
-    for (i = 0; i <= len * 2; ++i) sum += kernel_lp[i];
-    for (i = 0; i <= len * 2; ++i) kernel_lp[i] /= sum;
+    for (i = 0; i <= len * 2; ++i)
+      sum += kernel_lp[i];
+    for (i = 0; i <= len * 2; ++i)
+      kernel_lp[i] /= sum;
 
     /* fill the hp kernel */
-    GST_DEBUG (
-              "bpwsinc: initializing HP kernel of length %d with cut-off %f", 
-              len * 2 + 1, filter->upper_frequency);
+    GST_DEBUG ("bpwsinc: initializing HP kernel of length %d with cut-off %f",
+       len * 2 + 1, filter->upper_frequency);
     kernel_hp = (double *) g_malloc (sizeof (double) * (2 * len + 1));
-    for (i = 0; i <= len * 2; ++i)
-    {
+    for (i = 0; i <= len * 2; ++i) {
       if (i == len)
        kernel_hp[i] = 2 * M_PI * filter->upper_frequency;
       else
-       kernel_hp[i] = sin (2 * M_PI * filter->upper_frequency * (i - len)) 
-                    / (i - len);
+       kernel_hp[i] = sin (2 * M_PI * filter->upper_frequency * (i - len))
+           / (i - len);
       /* Blackman windowing */
-      kernel_hp[i] *= (0.42 - 0.5 * cos (M_PI * i / len) 
-                           + 0.08 * cos (2 * M_PI * i / len));
+      kernel_hp[i] *= (0.42 - 0.5 * cos (M_PI * i / len)
+         + 0.08 * cos (2 * M_PI * i / len));
     }
 
     /* normalize for unity gain at DC
      * FIXME: sure this is not supposed to be quadratic ? */
     sum = 0.0;
-    for (i = 0; i <= len * 2; ++i) sum += kernel_hp[i];
-    for (i = 0; i <= len * 2; ++i) kernel_hp[i] /= sum;
+    for (i = 0; i <= len * 2; ++i)
+      sum += kernel_hp[i];
+    for (i = 0; i <= len * 2; ++i)
+      kernel_hp[i] /= sum;
 
     /* do spectral inversion to get a HP filter */
-    for (i = 0; i <= len * 2; ++i) kernel_hp[i] = -kernel_hp[i];
+    for (i = 0; i <= len * 2; ++i)
+      kernel_hp[i] = -kernel_hp[i];
     kernel_hp[len] += 1;
 
     /* combine the two filters */
@@ -271,7 +270,8 @@ gst_bpwsinc_sink_connect (GstPad * pad, const GstCaps * caps)
       filter->kernel[i] = kernel_lp[i] + kernel_hp[i];
 
     /* do spectral inversion to go from band reject to bandpass */
-    for (i = 0; i <= len * 2; ++i) filter->kernel[i] = -filter->kernel[i];
+    for (i = 0; i <= len * 2; ++i)
+      filter->kernel[i] = -filter->kernel[i];
     filter->kernel[len] += 1;
 
     /* free the helper kernels */
@@ -280,14 +280,15 @@ gst_bpwsinc_sink_connect (GstPad * pad, const GstCaps * caps)
 
     /* set up the residue memory space */
     filter->residue = (gfloat *) g_malloc (sizeof (gfloat) * (len * 2 + 1));
-    for (i = 0; i <= len * 2; ++i) filter->residue[i] = 0.0;
+    for (i = 0; i <= len * 2; ++i)
+      filter->residue[i] = 0.0;
   }
 
   return set_retval;
 }
 
 static void
-gst_bpwsinc_chain (GstPad *pad, GstData *_data)
+gst_bpwsinc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstBPWSinc *filter;
@@ -323,24 +324,24 @@ gst_bpwsinc_chain (GstPad *pad, GstData *_data)
   memcpy (&input[residue_samples], src, sizeof (gfloat) * input_samples);
   /* copy the tail of the current input buffer to the residue */
   memcpy (filter->residue, &src[input_samples - residue_samples],
-          sizeof (gfloat) * residue_samples);
+      sizeof (gfloat) * residue_samples);
 
   /* convolution */
   /* since we copied the previous set of samples we needed before the actual
    * input data, we need to add the filter length to our indices for input */
-  for (i = 0; i < input_samples; ++i)
-  {
+  for (i = 0; i < input_samples; ++i) {
     src[i] = 0.0;
     for (j = 0; j < residue_samples; ++j)
       src[i] += input[i - j + residue_samples] * filter->kernel[j];
   }
-  
+
   g_free (input);
   gst_pad_push (filter->srcpad, GST_DATA (buf));
 }
 
 static void
-gst_bpwsinc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_bpwsinc_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstBPWSinc *filter;
 
@@ -351,27 +352,28 @@ gst_bpwsinc_set_property (GObject * object, guint prop_id, const GValue * value,
 
   switch (prop_id) {
     case ARG_LENGTH:
-     filter->wing_size = g_value_get_int (value);
-     break; 
+      filter->wing_size = g_value_get_int (value);
+      break;
     case ARG_LOWER_FREQUENCY:
-     filter->lower_frequency = g_value_get_double (value);
-     break; 
+      filter->lower_frequency = g_value_get_double (value);
+      break;
     case ARG_UPPER_FREQUENCY:
-     filter->upper_frequency = g_value_get_double (value);
-     break; 
+      filter->upper_frequency = g_value_get_double (value);
+      break;
     default:
       break;
   }
 }
 
 static void
-gst_bpwsinc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_bpwsinc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstBPWSinc *filter;
 
   /* it's not null if we got it, but it might not be ours */
   g_return_if_fail (GST_IS_BPWSINC (object));
-  
+
   filter = GST_BPWSINC (object);
 
   switch (prop_id) {
@@ -388,5 +390,4 @@ gst_bpwsinc_get_property (GObject * object, guint prop_id, GValue * value, GPara
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
-} 
-
+}
index 603d877..0ce33b3 100644 (file)
 #include <math.h>              /* M_PI */
 #include <string.h>            /* memmove */
 
-static GstElementDetails gst_lpwsinc_details = GST_ELEMENT_DETAILS (
-  "LPWSinc",
-  "Filter/Effect/Audio",
-  "Low-pass Windowed sinc filter",
-  "Thomas <thomas@apestaart.org>, "
-  "Steven W. Smith"
-);
-
-enum {
+static GstElementDetails gst_lpwsinc_details = GST_ELEMENT_DETAILS ("LPWSinc",
+    "Filter/Effect/Audio",
+    "Low-pass Windowed sinc filter",
+    "Thomas <thomas@apestaart.org>, " "Steven W. Smith");
+
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_LENGTH,
   ARG_FREQUENCY,
@@ -78,42 +77,43 @@ struct _GstLPWSinc
   GstPad *sinkpad, *srcpad;
 
   double frequency;
-  int wing_size;       /* length of a "wing" of the filter; 
-                          actual length is 2 * wing_size + 1 */
+  int wing_size;               /* length of a "wing" of the filter; 
+                                  actual length is 2 * wing_size + 1 */
 
-  gfloat *residue;     /* buffer for left-over samples from previous buffer */
+  gfloat *residue;             /* buffer for left-over samples from previous buffer */
   double *kernel;
 };
 
 struct _GstLPWSincClass
 {
-    GstElementClass parent_class;
+  GstElementClass parent_class;
 };
 
-static void gst_lpwsinc_base_init              (gpointer g_class);
-static void gst_lpwsinc_class_init             (GstLPWSincClass * klass);
-static void gst_lpwsinc_init                   (GstLPWSinc * filter);
+static void gst_lpwsinc_base_init (gpointer g_class);
+static void gst_lpwsinc_class_init (GstLPWSincClass * klass);
+static void gst_lpwsinc_init (GstLPWSinc * filter);
 
-static void gst_lpwsinc_set_property   (GObject * object, guint prop_id,
-                                         const GValue * value, 
-                                        GParamSpec * pspec);
-static void gst_lpwsinc_get_property   (GObject * object, guint prop_id,
-                                         GValue * value, GParamSpec * pspec);
+static void gst_lpwsinc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_lpwsinc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_lpwsinc_chain          (GstPad * pad, GstData *_data);
+static void gst_lpwsinc_chain (GstPad * pad, GstData * _data);
 static GstPadLinkReturn
-       gst_lpwsinc_sink_connect                (GstPad * pad, const GstCaps * caps);
+gst_lpwsinc_sink_connect (GstPad * pad, const GstCaps * caps);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_lpwsinc_signals[LAST_SIGNAL] = { 0 }; */
 
-GType gst_lpwsinc_get_type (void)
+GType
+gst_lpwsinc_get_type (void)
 {
   static GType lpwsinc_type = 0;
 
   if (!lpwsinc_type) {
     static const GTypeInfo lpwsinc_info = {
-      sizeof (GstLPWSincClass), 
+      sizeof (GstLPWSincClass),
       gst_lpwsinc_base_init,
       NULL,
       (GClassInitFunc) gst_lpwsinc_class_init, NULL, NULL,
@@ -121,8 +121,8 @@ GType gst_lpwsinc_get_type (void)
       (GInstanceInitFunc) gst_lpwsinc_init,
     };
 
-    lpwsinc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstLPWSinc", 
-                                          &lpwsinc_info, 0);
+    lpwsinc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstLPWSinc",
+       &lpwsinc_info, 0);
   }
   return lpwsinc_type;
 }
@@ -136,9 +136,9 @@ gst_lpwsinc_base_init (gpointer g_class)
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_filter_src_template));
   gst_element_class_add_pad_template (element_class,
-    gst_static_pad_template_get (&gst_filter_sink_template));
+      gst_static_pad_template_get (&gst_filter_sink_template));
 
-  gst_element_class_set_details (element_class, &gst_lpwsinc_details);  
+  gst_element_class_set_details (element_class, &gst_lpwsinc_details);
 }
 
 static void
@@ -153,15 +153,13 @@ gst_lpwsinc_class_init (GstLPWSincClass * klass)
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
-      g_param_spec_double ("frequency", "Frequency", 
-                          "Cut-off Frequency relative to sample rate)", 
-                          0.0, 0.5,
-                          0, G_PARAM_READWRITE));
+      g_param_spec_double ("frequency", "Frequency",
+         "Cut-off Frequency relative to sample rate)",
+         0.0, 0.5, 0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LENGTH,
-      g_param_spec_int ("length", "Length", 
-                       "N such that the filter length = 2N + 1",
-                          1, G_MAXINT, 
-                          1, G_PARAM_READWRITE));
+      g_param_spec_int ("length", "Length",
+         "N such that the filter length = 2N + 1",
+         1, G_MAXINT, 1, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_lpwsinc_set_property;
   gobject_class->get_property = gst_lpwsinc_get_property;
@@ -170,14 +168,16 @@ gst_lpwsinc_class_init (GstLPWSincClass * klass)
 static void
 gst_lpwsinc_init (GstLPWSinc * filter)
 {
-  filter->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_filter_sink_template), "sink");
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_filter_sink_template), "sink");
   gst_pad_set_chain_function (filter->sinkpad, gst_lpwsinc_chain);
   gst_pad_set_link_function (filter->sinkpad, gst_lpwsinc_sink_connect);
   gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
 
-  filter->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_filter_src_template), "src");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_filter_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
 
   filter->wing_size = 50;
@@ -197,45 +197,45 @@ gst_lpwsinc_sink_connect (GstPad * pad, const GstCaps * caps)
   g_assert (GST_IS_PAD (pad));
   g_assert (caps != NULL);
 
-  set_retval = gst_pad_try_set_caps(filter->srcpad, caps);
-  
-  if (set_retval > 0) 
-  {
+  set_retval = gst_pad_try_set_caps (filter->srcpad, caps);
+
+  if (set_retval > 0) {
     /* connection works, so init the filter */
     /* FIXME: remember to free it */
     /* fill the kernel */
     g_print ("DEBUG: initing filter kernel\n");
     len = filter->wing_size;
-    GST_DEBUG (
-              "lpwsinc: initializing filter kernel of length %d", len * 2 + 1);
+    GST_DEBUG ("lpwsinc: initializing filter kernel of length %d", len * 2 + 1);
     filter->kernel = (double *) g_malloc (sizeof (double) * (2 * len + 1));
 
-    for (i = 0; i <= len * 2; ++i)
-    {
+    for (i = 0; i <= len * 2; ++i) {
       if (i == len)
        filter->kernel[i] = 2 * M_PI * filter->frequency;
       else
-       filter->kernel[i] = sin (2 * M_PI * filter->frequency * (i - len)) 
-                         / (i - len);
+       filter->kernel[i] = sin (2 * M_PI * filter->frequency * (i - len))
+           / (i - len);
       /* windowing */
       filter->kernel[i] *= (0.54 - 0.46 * cos (M_PI * i / len));
     }
 
     /* normalize for unity gain at DC
      * FIXME: sure this is not supposed to be quadratic ? */
-    for (i = 0; i <= len * 2; ++i) sum += filter->kernel[i];
-    for (i = 0; i <= len * 2; ++i) filter->kernel[i] /= sum;
+    for (i = 0; i <= len * 2; ++i)
+      sum += filter->kernel[i];
+    for (i = 0; i <= len * 2; ++i)
+      filter->kernel[i] /= sum;
 
     /* set up the residue memory space */
     filter->residue = (gfloat *) g_malloc (sizeof (gfloat) * (len * 2 + 1));
-    for (i = 0; i <= len * 2; ++i) filter->residue[i] = 0.0;
+    for (i = 0; i <= len * 2; ++i)
+      filter->residue[i] = 0.0;
   }
 
   return set_retval;
 }
 
 static void
-gst_lpwsinc_chain (GstPad * pad, GstData *_data)
+gst_lpwsinc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstLPWSinc *filter;
@@ -271,24 +271,24 @@ gst_lpwsinc_chain (GstPad * pad, GstData *_data)
   memcpy (&input[residue_samples], src, sizeof (gfloat) * input_samples);
   /* copy the tail of the current input buffer to the residue */
   memcpy (filter->residue, &src[input_samples - residue_samples],
-          sizeof (gfloat) * residue_samples);
+      sizeof (gfloat) * residue_samples);
 
   /* convolution */
   /* since we copied the previous set of samples we needed before the actual
    * input data, we need to add the filter length to our indices for input */
-  for (i = 0; i < input_samples; ++i)
-  {
+  for (i = 0; i < input_samples; ++i) {
     src[i] = 0.0;
     for (j = 0; j < residue_samples; ++j)
       src[i] += input[i - j + residue_samples] * filter->kernel[j];
   }
-  
+
   g_free (input);
   gst_pad_push (filter->srcpad, GST_DATA (buf));
 }
 
 static void
-gst_lpwsinc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_lpwsinc_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstLPWSinc *filter;
 
@@ -299,24 +299,25 @@ gst_lpwsinc_set_property (GObject * object, guint prop_id, const GValue * value,
 
   switch (prop_id) {
     case ARG_LENGTH:
-     filter->wing_size = g_value_get_int (value);
-     break; 
+      filter->wing_size = g_value_get_int (value);
+      break;
     case ARG_FREQUENCY:
-     filter->frequency = g_value_get_double (value);
-     break; 
+      filter->frequency = g_value_get_double (value);
+      break;
     default:
       break;
   }
 }
 
 static void
-gst_lpwsinc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_lpwsinc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstLPWSinc *filter;
 
   /* it's not null if we got it, but it might not be ours */
   g_return_if_fail (GST_IS_LPWSINC (object));
-  
+
   filter = GST_LPWSINC (object);
 
   switch (prop_id) {
@@ -330,5 +331,4 @@ gst_lpwsinc_get_property (GObject * object, guint prop_id, GValue * value, GPara
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
-} 
-
+}
index 19850f6..d7ffe68 100644 (file)
 #include <gst/audio/audio.h>
 
 /* elementfactory information */
-static GstElementDetails gst_auparse_details = GST_ELEMENT_DETAILS (
-  ".au parser",
-  "Codec/Parser/Audio",
-  "Parse an .au file into raw audio",
-  "Erik Walthinsen <omega@cse.ogi.edu>"
-);
+static GstElementDetails gst_auparse_details =
+GST_ELEMENT_DETAILS (".au parser",
+    "Codec/Parser/Audio",
+    "Parse an .au file into raw audio",
+    "Erik Walthinsen <omega@cse.ogi.edu>");
 
 static GstStaticPadTemplate gst_auparse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ( "audio/x-au" )
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-au")
+    );
 
 static GstStaticPadTemplate gst_auparse_src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-    GST_AUDIO_INT_PAD_TEMPLATE_CAPS "; "
-    "audio/x-alaw, "
-      "rate = (int) [ 8000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-  )
-);
+    GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AUDIO_INT_PAD_TEMPLATE_CAPS "; "
+       "audio/x-alaw, "
+       "rate = (int) [ 8000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
 
 /* AuParse signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void    gst_auparse_base_init           (gpointer g_class);
-static void    gst_auparse_class_init          (GstAuParseClass *klass);
-static void    gst_auparse_init                (GstAuParse *auparse);
+static void gst_auparse_base_init (gpointer g_class);
+static void gst_auparse_class_init (GstAuParseClass * klass);
+static void gst_auparse_init (GstAuParse * auparse);
 
-static void    gst_auparse_chain               (GstPad *pad,GstData *_data);
+static void gst_auparse_chain (GstPad * pad, GstData * _data);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_auparse_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_auparse_get_type (void) 
+gst_auparse_get_type (void)
 {
   static GType auparse_type = 0;
 
   if (!auparse_type) {
     static const GTypeInfo auparse_info = {
-      sizeof(GstAuParseClass),
+      sizeof (GstAuParseClass),
       gst_auparse_base_init,
       NULL,
       (GClassInitFunc) gst_auparse_class_init,
       NULL,
       NULL,
-      sizeof(GstAuParse),
+      sizeof (GstAuParse),
       0,
       (GInstanceInitFunc) gst_auparse_init,
     };
-    auparse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstAuParse", &auparse_info, 0);
+    auparse_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstAuParse", &auparse_info,
+       0);
   }
   return auparse_type;
 }
@@ -116,25 +115,27 @@ gst_auparse_base_init (gpointer g_class)
 }
 
 static void
-gst_auparse_class_init (GstAuParseClass *klass) 
+gst_auparse_class_init (GstAuParseClass * klass)
 {
   GstElementClass *gstelement_class;
 
-  gstelement_class = (GstElementClass*) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 }
 
-static void 
-gst_auparse_init (GstAuParse *auparse) 
+static void
+gst_auparse_init (GstAuParse * auparse)
 {
-  auparse->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_auparse_sink_template), "sink");
+  auparse->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_auparse_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (auparse), auparse->sinkpad);
   gst_pad_set_chain_function (auparse->sinkpad, gst_auparse_chain);
 
-  auparse->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_auparse_src_template), "src");
+  auparse->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_auparse_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (auparse), auparse->srcpad);
   gst_pad_use_explicit_caps (auparse->srcpad);
 
@@ -145,8 +146,8 @@ gst_auparse_init (GstAuParse *auparse)
   auparse->channels = 0;
 }
 
-static void 
-gst_auparse_chain (GstPad *pad, GstData *_data) 
+static void
+gst_auparse_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstAuParse *auparse;
@@ -161,9 +162,9 @@ gst_auparse_chain (GstPad *pad, GstData *_data)
   g_return_if_fail (buf != NULL);
 
   auparse = GST_AUPARSE (gst_pad_get_parent (pad));
-  
+
   GST_DEBUG ("gst_auparse_chain: got buffer in '%s'",
-          gst_element_get_name (GST_ELEMENT (auparse)));
+      gst_element_get_name (GST_ELEMENT (auparse)));
 
   data = GST_BUFFER_DATA (buf);
   size = GST_BUFFER_SIZE (buf);
@@ -171,53 +172,55 @@ gst_auparse_chain (GstPad *pad, GstData *_data)
   /* if we haven't seen any data yet... */
   if (auparse->size == 0) {
     GstBuffer *newbuf;
-    guint32 *head = (guint32 *)data;
+    guint32 *head = (guint32 *) data;
 
     /* normal format is big endian (au is a Sparc format) */
     if (GUINT32_FROM_BE (*head) == 0x2e736e64) {
       head++;
       auparse->le = 0;
-      auparse->offset          = GUINT32_FROM_BE (*head);
+      auparse->offset = GUINT32_FROM_BE (*head);
       head++;
-      auparse->size            = GUINT32_FROM_BE (*head);
+      auparse->size = GUINT32_FROM_BE (*head);
       head++;
-      auparse->encoding        = GUINT32_FROM_BE (*head);
+      auparse->encoding = GUINT32_FROM_BE (*head);
       head++;
-      auparse->frequency       = GUINT32_FROM_BE (*head);
+      auparse->frequency = GUINT32_FROM_BE (*head);
       head++;
-      auparse->channels        = GUINT32_FROM_BE (*head);
+      auparse->channels = GUINT32_FROM_BE (*head);
       head++;
 
-    /* and of course, someone had to invent a little endian
-     * version.  Used by DEC systems. */
+      /* and of course, someone had to invent a little endian
+       * version.  Used by DEC systems. */
     } else if (GUINT32_FROM_LE (*head) == 0x0064732E) {
       auparse->le = 1;
       head++;
       auparse->le = 0;
-      auparse->offset          = GUINT32_FROM_LE (*head);
+      auparse->offset = GUINT32_FROM_LE (*head);
       head++;
-      auparse->size            = GUINT32_FROM_LE (*head);
+      auparse->size = GUINT32_FROM_LE (*head);
       head++;
-      auparse->encoding        = GUINT32_FROM_LE (*head);
+      auparse->encoding = GUINT32_FROM_LE (*head);
       head++;
-      auparse->frequency       = GUINT32_FROM_LE (*head);
+      auparse->frequency = GUINT32_FROM_LE (*head);
       head++;
-      auparse->channels        = GUINT32_FROM_LE (*head);
+      auparse->channels = GUINT32_FROM_LE (*head);
       head++;
 
     } else {
       g_warning ("help, dunno what I'm looking at!\n");
-      gst_buffer_unref(buf);
+      gst_buffer_unref (buf);
       return;
     }
 
-    g_print ("offset %ld, size %ld, encoding %ld, frequency %ld, channels %ld\n",
-             auparse->offset,auparse->size,auparse->encoding,
-             auparse->frequency,auparse->channels);
-    GST_DEBUG ("offset %ld, size %ld, encoding %ld, frequency %ld, channels %ld",
-             auparse->offset,auparse->size,auparse->encoding,
-             auparse->frequency,auparse->channels);
-    
+    g_print
+       ("offset %ld, size %ld, encoding %ld, frequency %ld, channels %ld\n",
+       auparse->offset, auparse->size, auparse->encoding, auparse->frequency,
+       auparse->channels);
+    GST_DEBUG
+       ("offset %ld, size %ld, encoding %ld, frequency %ld, channels %ld",
+       auparse->offset, auparse->size, auparse->encoding, auparse->frequency,
+       auparse->channels);
+
     switch (auparse->encoding) {
       case 1:
        law = 1;
@@ -246,11 +249,10 @@ gst_auparse_chain (GstPad *pad, GstData *_data)
     } else {
       tempcaps = gst_caps_new_simple ("audio/x-raw-int",
          "endianness", G_TYPE_INT, G_BIG_ENDIAN,
-         "rate",       G_TYPE_INT, auparse->frequency,
-         "channels",   G_TYPE_INT, auparse->channels,
-         "depth",      G_TYPE_INT, depth,
-         "width",      G_TYPE_INT, depth,
-         "signed",     G_TYPE_BOOLEAN, sign, NULL);
+         "rate", G_TYPE_INT, auparse->frequency,
+         "channels", G_TYPE_INT, auparse->channels,
+         "depth", G_TYPE_INT, depth,
+         "width", G_TYPE_INT, depth, "signed", G_TYPE_BOOLEAN, sign, NULL);
     }
 
     if (!gst_pad_set_explicit_caps (auparse->srcpad, tempcaps)) {
@@ -259,9 +261,9 @@ gst_auparse_chain (GstPad *pad, GstData *_data)
     }
 
     newbuf = gst_buffer_new ();
-    GST_BUFFER_DATA (newbuf) = (gpointer) malloc (size-(auparse->offset));
-    memcpy (GST_BUFFER_DATA (newbuf), data+24, size-(auparse->offset));
-    GST_BUFFER_SIZE (newbuf) = size-(auparse->offset);
+    GST_BUFFER_DATA (newbuf) = (gpointer) malloc (size - (auparse->offset));
+    memcpy (GST_BUFFER_DATA (newbuf), data + 24, size - (auparse->offset));
+    GST_BUFFER_SIZE (newbuf) = size - (auparse->offset);
 
     gst_buffer_unref (buf);
 
@@ -274,25 +276,17 @@ gst_auparse_chain (GstPad *pad, GstData *_data)
 
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_element_register (plugin, "auparse", GST_RANK_SECONDARY,
-        GST_TYPE_AUPARSE)) {
+         GST_TYPE_AUPARSE)) {
     return FALSE;
   }
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "auparse",
-  "parses au streams",
-  plugin_init,
-  VERSION,
-  "GPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
-
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "auparse",
+    "parses au streams", plugin_init, VERSION, "GPL", GST_PACKAGE, GST_ORIGIN)
index d6e5a08..87508c5 100644 (file)
@@ -26,8 +26,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_AUPARSE \
@@ -41,33 +42,35 @@ extern "C" {
 #define GST_IS_AUPARSE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUPARSE))
 
-typedef struct _GstAuParse GstAuParse;
-typedef struct _GstAuParseClass GstAuParseClass;
+  typedef struct _GstAuParse GstAuParse;
+  typedef struct _GstAuParseClass GstAuParseClass;
 
-struct _GstAuParse {
-  GstElement element;
+  struct _GstAuParse
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  guchar le;
-  glong offset;
-  glong size;
-  glong encoding;
-  glong frequency;
-  glong channels;
+    guchar le;
+    glong offset;
+    glong size;
+    glong encoding;
+    glong frequency;
+    glong channels;
 
-};
+  };
 
-struct _GstAuParseClass {
-  GstElementClass parent_class;
-};
+  struct _GstAuParseClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_auparse_get_type (void);
+  GType gst_auparse_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_AUPARSE_H__ */
+#endif                         /* __GST_AUPARSE_H__ */
index f9e2dd3..f7e773e 100644 (file)
 
 #include <gst/gst.h>
 
-typedef struct _gst_riff_avih {
-  guint32 us_frame;          /* microsec per frame */
-  guint32 max_bps;           /* byte/s overall */
-  guint32 pad_gran;          /* pad_granularity */
+typedef struct _gst_riff_avih
+{
+  guint32 us_frame;            /* microsec per frame */
+  guint32 max_bps;             /* byte/s overall */
+  guint32 pad_gran;            /* pad_granularity */
   guint32 flags;
 /* flags values */
-#define GST_RIFF_AVIH_HASINDEX       0x00000010 /* has idx1 chunk */
-#define GST_RIFF_AVIH_MUSTUSEINDEX   0x00000020 /* must use idx1 chunk to determine order */
-#define GST_RIFF_AVIH_ISINTERLEAVED  0x00000100 /* AVI file is interleaved */
-#define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000 /* specially allocated used for capturing real time video */
-#define GST_RIFF_AVIH_COPYRIGHTED    0x00020000 /* contains copyrighted data */
-  guint32 tot_frames;        /* # of frames (all) */
-  guint32 init_frames;       /* initial frames (???) */
+#define GST_RIFF_AVIH_HASINDEX       0x00000010        /* has idx1 chunk */
+#define GST_RIFF_AVIH_MUSTUSEINDEX   0x00000020        /* must use idx1 chunk to determine order */
+#define GST_RIFF_AVIH_ISINTERLEAVED  0x00000100        /* AVI file is interleaved */
+#define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000        /* specially allocated used for capturing real time video */
+#define GST_RIFF_AVIH_COPYRIGHTED    0x00020000        /* contains copyrighted data */
+  guint32 tot_frames;          /* # of frames (all) */
+  guint32 init_frames;         /* initial frames (???) */
   guint32 streams;
-  guint32 bufsize;           /* suggested buffer size */
+  guint32 bufsize;             /* suggested buffer size */
   guint32 width;
   guint32 height;
   guint32 scale;
index fa17fa4..dbdc785 100644 (file)
@@ -29,7 +29,7 @@
 #include "gstavimux.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_library_load ("riff"))
     return FALSE;
@@ -40,21 +40,13 @@ plugin_init (GstPlugin *plugin)
 #endif /* ENABLE_NLS */
 
   return (gst_element_register (plugin, "avidemux",
-                               GST_RANK_PRIMARY,
-                               GST_TYPE_AVI_DEMUX) &&
-         gst_element_register (plugin, "avimux",
-                               GST_RANK_NONE,
-                               GST_TYPE_AVIMUX));
+         GST_RANK_PRIMARY,
+         GST_TYPE_AVI_DEMUX) &&
+      gst_element_register (plugin, "avimux", GST_RANK_NONE, GST_TYPE_AVIMUX));
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "avi",
-  "AVI stream handling",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "avi",
+    "AVI stream handling",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 9f9a596..d4cb493 100644 (file)
@@ -31,12 +31,11 @@ static GstElementDetails gst_avi_decoder_details = {
   "Decoder/Video",
   "Decodes a .avi file into audio and video",
   VERSION,
-  "Erik Walthinsen <omega@cse.ogi.edu>\n"
-  "Wim Taymans <wim.taymans@tvd.be>",
+  "Erik Walthinsen <omega@cse.ogi.edu>\n" "Wim Taymans <wim.taymans@tvd.be>",
   "(C) 1999",
 };
 
-static GstCaps* avi_typefind (GstBuffer *buf, gpointer private);
+static GstCaps *avi_typefind (GstBuffer * buf, gpointer private);
 
 /* typefactory for 'avi' */
 static GstTypeDefinition avidefinition = {
@@ -47,12 +46,14 @@ static GstTypeDefinition avidefinition = {
 };
 
 /* AviDecoder signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_BITRATE,
   ARG_MEDIA_TIME,
@@ -61,118 +62,104 @@ enum {
 };
 
 GST_PADTEMPLATE_FACTORY (sink_templ,
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_CAPS_NEW (
-    "avidecoder_sink",
-     "video/avi",
-       "RIFF",  GST_PROPS_STRING ("AVI")
-  )
-)
-
-GST_PADTEMPLATE_FACTORY (src_video_templ,
-  "video_src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_CAPS_NEW (
-    "wincodec_src",
-    "video/raw",
-      "format",         GST_PROPS_LIST (
-                          GST_PROPS_FOURCC (GST_MAKE_FOURCC ('Y','U','Y','2')),
-                          GST_PROPS_FOURCC (GST_MAKE_FOURCC ('I','4','2','0')),
-                          GST_PROPS_FOURCC (GST_MAKE_FOURCC ('R','G','B',' '))
-                        ),
-      "width",          GST_PROPS_INT_RANGE (16, 4096),
-      "height",         GST_PROPS_INT_RANGE (16, 4096)
-  )
-)
-
-GST_PADTEMPLATE_FACTORY (src_audio_templ,
-  "audio_src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_CAPS_NEW (
-    "src_audio",
-    "audio/raw",
-      "format",           GST_PROPS_STRING ("int"),
-      "law",              GST_PROPS_INT (0),
-      "endianness",       GST_PROPS_INT (G_BYTE_ORDER),
-      "signed",           GST_PROPS_LIST (
-                           GST_PROPS_BOOLEAN (TRUE),
-                           GST_PROPS_BOOLEAN (FALSE)
-                         ),
-      "width",            GST_PROPS_LIST (
-                           GST_PROPS_INT (8),
-                           GST_PROPS_INT (16)
-                         ),
-      "depth",            GST_PROPS_LIST (
-                           GST_PROPS_INT (8),
-                           GST_PROPS_INT (16)
-                         ),
-      "rate",             GST_PROPS_INT_RANGE (11025, 48000),
-      "channels",         GST_PROPS_INT_RANGE (1, 2)
-  )
-)
-
-static void    gst_avi_decoder_class_init      (GstAviDecoderClass *klass);
-static void    gst_avi_decoder_init            (GstAviDecoder *avi_decoder);
-
-static void     gst_avi_decoder_get_property    (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-
-
-
-static GstElementClass *parent_class = NULL;
+    "sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_CAPS_NEW ("avidecoder_sink",
+       "video/avi", "RIFF", GST_PROPS_STRING ("AVI")
+    )
+    )
+
+    GST_PADTEMPLATE_FACTORY (src_video_templ,
+    "video_src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_CAPS_NEW ("wincodec_src",
+       "video/raw",
+       "format", GST_PROPS_LIST (GST_PROPS_FOURCC (GST_MAKE_FOURCC ('Y', 'U', 'Y',
+                   '2')), GST_PROPS_FOURCC (GST_MAKE_FOURCC ('I', '4', '2', '0')),
+           GST_PROPS_FOURCC (GST_MAKE_FOURCC ('R', 'G', 'B', ' '))
+       ), "width", GST_PROPS_INT_RANGE (16, 4096), "height",
+       GST_PROPS_INT_RANGE (16, 4096)
+    )
+    )
+
+    GST_PADTEMPLATE_FACTORY (src_audio_templ,
+    "audio_src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_CAPS_NEW ("src_audio",
+       "audio/raw",
+       "format", GST_PROPS_STRING ("int"),
+       "law", GST_PROPS_INT (0),
+       "endianness", GST_PROPS_INT (G_BYTE_ORDER),
+       "signed", GST_PROPS_LIST (GST_PROPS_BOOLEAN (TRUE),
+           GST_PROPS_BOOLEAN (FALSE)
+       ), "width", GST_PROPS_LIST (GST_PROPS_INT (8), GST_PROPS_INT (16)
+       ), "depth", GST_PROPS_LIST (GST_PROPS_INT (8), GST_PROPS_INT (16)
+       ),
+       "rate", GST_PROPS_INT_RANGE (11025, 48000),
+       "channels", GST_PROPS_INT_RANGE (1, 2)
+    )
+    )
+
+     static void gst_avi_decoder_class_init (GstAviDecoderClass * klass);
+     static void gst_avi_decoder_init (GstAviDecoder * avi_decoder);
+
+     static void gst_avi_decoder_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+
+
+     static GstElementClass *parent_class = NULL;
+
 /*static guint gst_avi_decoder_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_avi_decoder_get_type(void) 
+gst_avi_decoder_get_type (void)
 {
   static GType avi_decoder_type = 0;
 
   if (!avi_decoder_type) {
     static const GTypeInfo avi_decoder_info = {
-      sizeof(GstAviDecoderClass),      
+      sizeof (GstAviDecoderClass),
       NULL,
       NULL,
-      (GClassInitFunc)gst_avi_decoder_class_init,
+      (GClassInitFunc) gst_avi_decoder_class_init,
       NULL,
       NULL,
-      sizeof(GstAviDecoder),
+      sizeof (GstAviDecoder),
       0,
-      (GInstanceInitFunc)gst_avi_decoder_init,
+      (GInstanceInitFunc) gst_avi_decoder_init,
     };
-    avi_decoder_type = g_type_register_static(GST_TYPE_BIN, "GstAviDecoder", &avi_decoder_info, 0);
+    avi_decoder_type =
+       g_type_register_static (GST_TYPE_BIN, "GstAviDecoder",
+       &avi_decoder_info, 0);
   }
   return avi_decoder_type;
 }
 
 static void
-gst_avi_decoder_class_init (GstAviDecoderClass *klass) 
+gst_avi_decoder_class_init (GstAviDecoderClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  g_object_class_install_property (G_OBJECT_CLASS(klass), ARG_BITRATE,
-    g_param_spec_long ("bitrate","bitrate","bitrate",
-                     G_MINLONG, G_MAXLONG, 0, G_PARAM_READABLE)); /* CHECKME */
-  g_object_class_install_property (G_OBJECT_CLASS(klass), ARG_MEDIA_TIME,
-    g_param_spec_long ("media_time","media_time","media_time",
-                     G_MINLONG, G_MAXLONG, 0, G_PARAM_READABLE)); /* CHECKME */
-  g_object_class_install_property (G_OBJECT_CLASS(klass), ARG_CURRENT_TIME,
-    g_param_spec_long ("current_time","current_time","current_time",
-                     G_MINLONG, G_MAXLONG, 0, G_PARAM_READABLE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BITRATE, g_param_spec_long ("bitrate", "bitrate", "bitrate", G_MINLONG, G_MAXLONG, 0, G_PARAM_READABLE));       /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MEDIA_TIME, g_param_spec_long ("media_time", "media_time", "media_time", G_MINLONG, G_MAXLONG, 0, G_PARAM_READABLE));   /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_CURRENT_TIME, g_param_spec_long ("current_time", "current_time", "current_time", G_MINLONG, G_MAXLONG, 0, G_PARAM_READABLE));   /* CHECKME */
 
   parent_class = g_type_class_ref (GST_TYPE_BIN);
-  
+
   gobject_class->get_property = gst_avi_decoder_get_property;
 }
 
-static void 
-gst_avi_decoder_new_pad (GstElement *element, GstPad *pad, GstAviDecoder *avi_decoder) 
+static void
+gst_avi_decoder_new_pad (GstElement * element, GstPad * pad,
+    GstAviDecoder * avi_decoder)
 {
   GstCaps *caps;
   GstCaps *targetcaps = NULL;
@@ -182,38 +169,40 @@ gst_avi_decoder_new_pad (GstElement *element, GstPad *pad, GstAviDecoder *avi_de
   GstElement *new_element = NULL;
   gchar *padname = NULL;
   gchar *gpadname = NULL;
+
 #define AVI_TYPE_VIDEO  1
 #define AVI_TYPE_AUDIO  2
   gint media_type = 0;
-  
-  GST_DEBUG (0, "avidecoder: new pad for element \"%s\"", gst_element_get_name (element));
+
+  GST_DEBUG (0, "avidecoder: new pad for element \"%s\"",
+      gst_element_get_name (element));
 
   caps = gst_pad_get_caps (pad);
   format = gst_caps_get_string (caps, "format");
 
-  if (!strcmp (format, "strf_vids")) { 
-    targetcaps = gst_padtemplate_get_caps (GST_PADTEMPLATE_GET (src_video_templ));
+  if (!strcmp (format, "strf_vids")) {
+    targetcaps =
+       gst_padtemplate_get_caps (GST_PADTEMPLATE_GET (src_video_templ));
     media_type = AVI_TYPE_VIDEO;
     gpadname = g_strdup_printf ("video_%02d", avi_decoder->video_count++);
-  }
-  else if (!strcmp (format, "strf_auds")) {
-    targetcaps = gst_padtemplate_get_caps (GST_PADTEMPLATE_GET (src_audio_templ));
+  } else if (!strcmp (format, "strf_auds")) {
+    targetcaps =
+       gst_padtemplate_get_caps (GST_PADTEMPLATE_GET (src_audio_templ));
     media_type = AVI_TYPE_AUDIO;
     gpadname = g_strdup_printf ("audio_%02d", avi_decoder->audio_count++);
-  }
-  else if (!strcmp (format, "strf_iavs")) {
-    targetcaps = gst_padtemplate_get_caps (GST_PADTEMPLATE_GET (src_video_templ));
+  } else if (!strcmp (format, "strf_iavs")) {
+    targetcaps =
+       gst_padtemplate_get_caps (GST_PADTEMPLATE_GET (src_video_templ));
     media_type = AVI_TYPE_VIDEO;
     gpadname = g_strdup_printf ("video_%02d", avi_decoder->video_count++);
-  }
-  else {
+  } else {
     g_assert_not_reached ();
   }
 
   gst_element_set_state (GST_ELEMENT (avi_decoder), GST_STATE_PAUSED);
 
-  type = gst_elementfactory_make ("avitypes", 
-                 g_strdup_printf ("typeconvert%d", avi_decoder->count));
+  type = gst_elementfactory_make ("avitypes",
+      g_strdup_printf ("typeconvert%d", avi_decoder->count));
 
   /* brin the element to the READY state so it can do our caps negotiation */
   gst_element_set_state (type, GST_STATE_READY);
@@ -224,13 +213,13 @@ gst_avi_decoder_new_pad (GstElement *element, GstPad *pad, GstAviDecoder *avi_de
   if (type_found) {
 
     gst_bin_add (GST_BIN (avi_decoder), type);
-    
+
     pad = gst_element_get_pad (type, "src");
     caps = gst_pad_get_caps (pad);
 
     if (gst_caps_is_always_compatible (caps, targetcaps)) {
-      gst_element_add_ghost_pad (GST_ELEMENT (avi_decoder), 
-           gst_element_get_pad (type, "src"), gpadname);
+      gst_element_add_ghost_pad (GST_ELEMENT (avi_decoder),
+         gst_element_get_pad (type, "src"), gpadname);
 
       avi_decoder->count++;
       goto done;
@@ -238,7 +227,8 @@ gst_avi_decoder_new_pad (GstElement *element, GstPad *pad, GstAviDecoder *avi_de
 #ifndef GST_DISABLE_AUTOPLUG
     else {
       GstAutoplug *autoplug;
-      autoplug = gst_autoplugfactory_make("static");
+
+      autoplug = gst_autoplugfactory_make ("static");
 
       new_element = gst_autoplug_to_caps (autoplug, caps, targetcaps, NULL);
 
@@ -249,45 +239,43 @@ gst_avi_decoder_new_pad (GstElement *element, GstPad *pad, GstAviDecoder *avi_de
 
   if (!new_element && (media_type == AVI_TYPE_VIDEO)) {
     padname = "src";
-  }
-  else if (!new_element && (media_type == AVI_TYPE_AUDIO)) {
+  } else if (!new_element && (media_type == AVI_TYPE_AUDIO)) {
     /*FIXME */
     padname = "src";
   }
 
   if (new_element) {
     gst_pad_connect (pad, gst_element_get_pad (new_element, "sink"));
-    gst_element_set_name (new_element, g_strdup_printf ("element%d", avi_decoder->count));
+    gst_element_set_name (new_element, g_strdup_printf ("element%d",
+           avi_decoder->count));
     gst_bin_add (GST_BIN (avi_decoder), new_element);
 
-    gst_element_add_ghost_pad (GST_ELEMENT (avi_decoder), 
-           gst_element_get_pad (new_element, padname), gpadname);
+    gst_element_add_ghost_pad (GST_ELEMENT (avi_decoder),
+       gst_element_get_pad (new_element, padname), gpadname);
 
     avi_decoder->count++;
-  }
-  else {
+  } else {
     g_warning ("avidecoder: could not autoplug\n");
   }
 
-done: 
+done:
   gst_element_set_state (GST_ELEMENT (avi_decoder), GST_STATE_PLAYING);
 }
 
-static void 
-gst_avi_decoder_init (GstAviDecoder *avi_decoder) 
+static void
+gst_avi_decoder_init (GstAviDecoder * avi_decoder)
 {
   avi_decoder->demuxer = gst_elementfactory_make ("avidemux", "demux");
 
   if (avi_decoder->demuxer) {
     gst_bin_add (GST_BIN (avi_decoder), avi_decoder->demuxer);
 
-    gst_element_add_ghost_pad (GST_ELEMENT (avi_decoder), 
-                   gst_element_get_pad (avi_decoder->demuxer, "sink"), "sink");
+    gst_element_add_ghost_pad (GST_ELEMENT (avi_decoder),
+       gst_element_get_pad (avi_decoder->demuxer, "sink"), "sink");
 
-    g_signal_connect (G_OBJECT (avi_decoder->demuxer),"new_pad", G_CALLBACK (gst_avi_decoder_new_pad),
-                   avi_decoder);
-  }
-  else {
+    g_signal_connect (G_OBJECT (avi_decoder->demuxer), "new_pad",
+       G_CALLBACK (gst_avi_decoder_new_pad), avi_decoder);
+  } else {
     g_warning ("wow!, no avi demuxer found. help me\n");
   }
 
@@ -296,26 +284,27 @@ gst_avi_decoder_init (GstAviDecoder *avi_decoder)
   avi_decoder->video_count = 0;
 }
 
-static GstCaps*
-avi_typefind (GstBuffer *buf,
-              gpointer private)
+static GstCaps *
+avi_typefind (GstBuffer * buf, gpointer private)
 {
   gchar *data = GST_BUFFER_DATA (buf);
   GstCaps *new;
 
-  GST_DEBUG (0,"avi_decoder: typefind");
-  if (strncmp (&data[0], "RIFF", 4)) return NULL;
-  if (strncmp (&data[8], "AVI ", 4)) return NULL;
+  GST_DEBUG (0, "avi_decoder: typefind");
+  if (strncmp (&data[0], "RIFF", 4))
+    return NULL;
+  if (strncmp (&data[8], "AVI ", 4))
+    return NULL;
 
   new = GST_CAPS_NEW ("avi_typefind",
-                     "video/avi", 
-                       "RIFF", GST_PROPS_STRING ("AVI"));
+      "video/avi", "RIFF", GST_PROPS_STRING ("AVI"));
 
   return new;
 }
 
 static void
-gst_avi_decoder_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_avi_decoder_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstAviDecoder *src;
 
@@ -323,14 +312,16 @@ gst_avi_decoder_get_property (GObject *object, guint prop_id, GValue *value, GPa
 
   src = GST_AVI_DECODER (object);
 
-  switch(prop_id) {
+  switch (prop_id) {
     case ARG_BITRATE:
       break;
     case ARG_MEDIA_TIME:
-      g_value_set_long (value, gst_util_get_long_arg (G_OBJECT (src->demuxer), "media_time"));
+      g_value_set_long (value, gst_util_get_long_arg (G_OBJECT (src->demuxer),
+             "media_time"));
       break;
     case ARG_CURRENT_TIME:
-      g_value_set_long (value, gst_util_get_long_arg (G_OBJECT (src->demuxer), "current_time"));
+      g_value_set_long (value, gst_util_get_long_arg (G_OBJECT (src->demuxer),
+             "current_time"));
       break;
     default:
       break;
@@ -339,19 +330,22 @@ gst_avi_decoder_get_property (GObject *object, guint prop_id, GValue *value, GPa
 
 
 static gboolean
-plugin_init (GModule *module, GstPlugin *plugin)
+plugin_init (GModule * module, GstPlugin * plugin)
 {
   GstElementFactory *factory;
   GstTypeFactory *type;
 
   /* create an elementfactory for the avi_decoder element */
   factory = gst_elementfactory_new ("avidecoder", GST_TYPE_AVI_DECODER,
-                                    &gst_avi_decoder_details);
+      &gst_avi_decoder_details);
   g_return_val_if_fail (factory != NULL, FALSE);
 
-  gst_elementfactory_add_padtemplate (factory, GST_PADTEMPLATE_GET (src_audio_templ));
-  gst_elementfactory_add_padtemplate (factory, GST_PADTEMPLATE_GET (src_video_templ));
-  gst_elementfactory_add_padtemplate (factory, GST_PADTEMPLATE_GET (sink_templ));
+  gst_elementfactory_add_padtemplate (factory,
+      GST_PADTEMPLATE_GET (src_audio_templ));
+  gst_elementfactory_add_padtemplate (factory,
+      GST_PADTEMPLATE_GET (src_video_templ));
+  gst_elementfactory_add_padtemplate (factory,
+      GST_PADTEMPLATE_GET (sink_templ));
 
   type = gst_typefactory_new (&avidefinition);
   gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (type));
@@ -367,4 +361,3 @@ GstPluginDesc plugin_desc = {
   "avidecoder",
   plugin_init
 };
-
index 1b50b98..0340348 100644 (file)
@@ -32,72 +32,62 @@ GST_DEBUG_CATEGORY_STATIC (avidemux_debug);
 #define GST_CAT_DEFAULT avidemux_debug
 
 /* AviDemux signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_STREAMINFO,
   /* FILL ME */
 };
 
-static GstStaticPadTemplate sink_templ =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("video/x-msvideo")
-);
+static GstStaticPadTemplate sink_templ = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-msvideo")
+    );
 
-static void    gst_avi_demux_base_init         (GstAviDemuxClass *klass);
-static void    gst_avi_demux_class_init        (GstAviDemuxClass *klass);
-static void    gst_avi_demux_init              (GstAviDemux *avi);
+static void gst_avi_demux_base_init (GstAviDemuxClass * klass);
+static void gst_avi_demux_class_init (GstAviDemuxClass * klass);
+static void gst_avi_demux_init (GstAviDemux * avi);
 
-static void    gst_avi_demux_reset             (GstAviDemux *avi);
-static void    gst_avi_demux_loop              (GstElement  *element);
+static void gst_avi_demux_reset (GstAviDemux * avi);
+static void gst_avi_demux_loop (GstElement * element);
 
-static gboolean gst_avi_demux_send_event       (GstElement  *element,
-                                                GstEvent    *event);
+static gboolean gst_avi_demux_send_event (GstElement * element,
+    GstEvent * event);
 
-static const GstEventMask *
-               gst_avi_demux_get_event_mask    (GstPad      *pad);
-static gboolean gst_avi_demux_handle_src_event         (GstPad      *pad,
-                                                GstEvent    *event);
-static const GstFormat *
-               gst_avi_demux_get_src_formats   (GstPad      *pad); 
-static const GstQueryType *
-               gst_avi_demux_get_src_query_types (GstPad    *pad);
-static gboolean gst_avi_demux_handle_src_query         (GstPad      *pad,
-                                                GstQueryType type, 
-                                                GstFormat   *format,
-                                                gint64      *value);
-static gboolean gst_avi_demux_src_convert      (GstPad      *pad,
-                                                GstFormat    src_format,
-                                                gint64       src_value,
-                                                GstFormat   *dest_format,
-                                                gint64      *dest_value);
+static const GstEventMask *gst_avi_demux_get_event_mask (GstPad * pad);
+static gboolean gst_avi_demux_handle_src_event (GstPad * pad, GstEvent * event);
+static const GstFormat *gst_avi_demux_get_src_formats (GstPad * pad);
+static const GstQueryType *gst_avi_demux_get_src_query_types (GstPad * pad);
+static gboolean gst_avi_demux_handle_src_query (GstPad * pad,
+    GstQueryType type, GstFormat * format, gint64 * value);
+static gboolean gst_avi_demux_src_convert (GstPad * pad,
+    GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value);
 
-static GstElementStateReturn
-               gst_avi_demux_change_state      (GstElement  *element);
+static GstElementStateReturn gst_avi_demux_change_state (GstElement * element);
 
-static void     gst_avi_demux_get_property      (GObject     *object,
-                                                guint        prop_id,  
-                                                GValue      *value,
-                                                GParamSpec  *pspec);
+static void gst_avi_demux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
 
 static GstRiffReadClass *parent_class = NULL;
+
 /*static guint gst_avi_demux_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_avi_demux_get_type(void) 
+gst_avi_demux_get_type (void)
 {
   static GType avi_demux_type = 0;
 
   if (!avi_demux_type) {
     static const GTypeInfo avi_demux_info = {
-      sizeof (GstAviDemuxClass),      
+      sizeof (GstAviDemuxClass),
       (GBaseInitFunc) gst_avi_demux_base_init,
       NULL,
       (GClassInitFunc) gst_avi_demux_class_init,
@@ -110,40 +100,34 @@ gst_avi_demux_get_type(void)
 
     avi_demux_type =
        g_type_register_static (GST_TYPE_RIFF_READ,
-                               "GstAviDemux",
-                               &avi_demux_info, 0);
+       "GstAviDemux", &avi_demux_info, 0);
   }
 
   return avi_demux_type;
 }
 
 static void
-gst_avi_demux_base_init (GstAviDemuxClass *klass)
+gst_avi_demux_base_init (GstAviDemuxClass * klass)
 {
-  static GstElementDetails gst_avi_demux_details = GST_ELEMENT_DETAILS (
-    "Avi demuxer",
-    "Codec/Demuxer",
-    "Demultiplex an avi file into audio and video",
-    "Erik Walthinsen <omega@cse.ogi.edu>\n"
-    "Wim Taymans <wim.taymans@chello.be>\n"
-    "Ronald Bultje <rbultje@ronald.bitfreak.net>"
-  );
+  static GstElementDetails gst_avi_demux_details =
+      GST_ELEMENT_DETAILS ("Avi demuxer",
+      "Codec/Demuxer",
+      "Demultiplex an avi file into audio and video",
+      "Erik Walthinsen <omega@cse.ogi.edu>\n"
+      "Wim Taymans <wim.taymans@chello.be>\n"
+      "Ronald Bultje <rbultje@ronald.bitfreak.net>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   GstPadTemplate *videosrctempl, *audiosrctempl;
   GstCaps *audcaps, *vidcaps;
 
   audcaps = gst_riff_create_audio_template_caps ();
   audiosrctempl = gst_pad_template_new ("audio_%02d",
-                                       GST_PAD_SRC,
-                                       GST_PAD_SOMETIMES,
-                                       audcaps);
+      GST_PAD_SRC, GST_PAD_SOMETIMES, audcaps);
 
   vidcaps = gst_riff_create_video_template_caps ();
   gst_caps_append (vidcaps, gst_riff_create_iavs_template_caps ());
   videosrctempl = gst_pad_template_new ("video_%02d",
-                                       GST_PAD_SRC,
-                                       GST_PAD_SOMETIMES,
-                                       vidcaps);
+      GST_PAD_SRC, GST_PAD_SOMETIMES, vidcaps);
 
   gst_element_class_add_pad_template (element_class, audiosrctempl);
   gst_element_class_add_pad_template (element_class, videosrctempl);
@@ -153,36 +137,37 @@ gst_avi_demux_base_init (GstAviDemuxClass *klass)
 }
 
 static void
-gst_avi_demux_class_init (GstAviDemuxClass *klass) 
+gst_avi_demux_class_init (GstAviDemuxClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   g_object_class_install_property (gobject_class, ARG_STREAMINFO,
-    g_param_spec_boxed ("streaminfo", "Streaminfo", "Streaminfo",
-                        GST_TYPE_CAPS, G_PARAM_READABLE));
+      g_param_spec_boxed ("streaminfo", "Streaminfo", "Streaminfo",
+         GST_TYPE_CAPS, G_PARAM_READABLE));
 
   GST_DEBUG_CATEGORY_INIT (avidemux_debug, "avidemux",
-                          0, "Demuxer for AVI streams");
+      0, "Demuxer for AVI streams");
 
   parent_class = g_type_class_ref (GST_TYPE_RIFF_READ);
-  
+
   gobject_class->get_property = gst_avi_demux_get_property;
-  
+
   gstelement_class->change_state = gst_avi_demux_change_state;
   gstelement_class->send_event = gst_avi_demux_send_event;
 }
 
-static void 
-gst_avi_demux_init (GstAviDemux *avi) 
+static void
+gst_avi_demux_init (GstAviDemux * avi)
 {
   GST_FLAG_SET (avi, GST_ELEMENT_EVENT_AWARE);
 
-  avi->sinkpad = gst_pad_new_from_template (
-       gst_static_pad_template_get (&sink_templ), "sink");
+  avi->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get (&sink_templ),
+      "sink");
   gst_element_add_pad (GST_ELEMENT (avi), avi->sinkpad);
   GST_RIFF_READ (avi)->sinkpad = avi->sinkpad;
 
@@ -195,7 +180,7 @@ gst_avi_demux_init (GstAviDemux *avi)
 }
 
 static void
-gst_avi_demux_reset (GstAviDemux *avi)
+gst_avi_demux_reset (GstAviDemux * avi)
 {
   gint i;
 
@@ -221,27 +206,25 @@ gst_avi_demux_reset (GstAviDemux *avi)
   avi->num_frames = 0;
   avi->us_per_frame = 0;
 
-  avi->seek_offset = (guint64) -1;
+  avi->seek_offset = (guint64) - 1;
 
   gst_caps_replace (&avi->streaminfo, NULL);
 }
 
 static void
-gst_avi_demux_streaminfo (GstAviDemux *avi)
+gst_avi_demux_streaminfo (GstAviDemux * avi)
 {
   /* compression formats are added later - a bit hacky */
 
   gst_caps_replace (&avi->streaminfo,
       gst_caps_new_simple ("application/x-gst-streaminfo", NULL));
 
-  /*g_object_notify(G_OBJECT(avi), "streaminfo");*/
+  /*g_object_notify(G_OBJECT(avi), "streaminfo"); */
 }
 
 static gst_avi_index_entry *
-gst_avi_demux_index_next (GstAviDemux *avi,
-                         gint         stream_nr,
-                         gint         start,
-                         guint32      flags)
+gst_avi_demux_index_next (GstAviDemux * avi,
+    gint stream_nr, gint start, guint32 flags)
 {
   gint i;
   gst_avi_index_entry *entry = NULL;
@@ -258,10 +241,8 @@ gst_avi_demux_index_next (GstAviDemux *avi,
 }
 
 static gst_avi_index_entry *
-gst_avi_demux_index_entry_for_time (GstAviDemux *avi,
-                                   gint         stream_nr,
-                                   guint64      time,
-                                   guint32      flags)
+gst_avi_demux_index_entry_for_time (GstAviDemux * avi,
+    gint stream_nr, guint64 time, guint32 flags)
 {
   gst_avi_index_entry *entry = NULL, *last_entry = NULL;
   gint i;
@@ -283,10 +264,8 @@ gst_avi_demux_index_entry_for_time (GstAviDemux *avi,
 }
 
 static gst_avi_index_entry *
-gst_avi_demux_index_entry_for_byte (GstAviDemux *avi,
-                                   gint         stream_nr,
-                                   guint64      byte,
-                                   guint32      flags)
+gst_avi_demux_index_entry_for_byte (GstAviDemux * avi,
+    gint stream_nr, guint64 byte, guint32 flags)
 {
   gst_avi_index_entry *entry = NULL, *last_entry = NULL;
   gint i;
@@ -308,10 +287,8 @@ gst_avi_demux_index_entry_for_byte (GstAviDemux *avi,
 }
 
 static gst_avi_index_entry *
-gst_avi_demux_index_entry_for_frame (GstAviDemux *avi,
-                                    gint         stream_nr,
-                                    guint32      frame,
-                                    guint32      flags)
+gst_avi_demux_index_entry_for_frame (GstAviDemux * avi,
+    gint stream_nr, guint32 frame, guint32 flags)
 {
   gst_avi_index_entry *entry = NULL, *last_entry = NULL;
   gint i;
@@ -333,7 +310,7 @@ gst_avi_demux_index_entry_for_frame (GstAviDemux *avi,
 }
 
 static const GstFormat *
-gst_avi_demux_get_src_formats (GstPad *pad) 
+gst_avi_demux_get_src_formats (GstPad * pad)
 {
   avi_stream_context *stream = gst_pad_get_element_private (pad);
 
@@ -350,36 +327,34 @@ gst_avi_demux_get_src_formats (GstPad *pad)
   };
 
   return (stream->strh->type == GST_RIFF_FCC_auds ?
-         src_a_formats : src_v_formats);
+      src_a_formats : src_v_formats);
 }
 
 static gboolean
-gst_avi_demux_src_convert (GstPad    *pad,
-                          GstFormat  src_format,
-                          gint64     src_value,
-                          GstFormat *dest_format,
-                          gint64    *dest_value)
+gst_avi_demux_src_convert (GstPad * pad,
+    GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
 {
   gboolean res = TRUE;
-  /*GstAviDemux *avi = GST_AVI_DEMUX (gst_pad_get_parent (pad));*/
+
+  /*GstAviDemux *avi = GST_AVI_DEMUX (gst_pad_get_parent (pad)); */
   avi_stream_context *stream = gst_pad_get_element_private (pad);
 
-  if (stream->strh->type != GST_RIFF_FCC_auds && 
-      (src_format == GST_FORMAT_BYTES ||
-       *dest_format == GST_FORMAT_BYTES))
+  if (stream->strh->type != GST_RIFF_FCC_auds &&
+      (src_format == GST_FORMAT_BYTES || *dest_format == GST_FORMAT_BYTES))
     return FALSE;
 
   switch (src_format) {
     case GST_FORMAT_TIME:
       switch (*dest_format) {
        case GST_FORMAT_BYTES:
-          *dest_value = src_value * stream->strh->rate /
-                       (stream->strh->scale * GST_SECOND);
-          break;
-        case GST_FORMAT_DEFAULT:
-          *dest_value = src_value * stream->strh->rate /
-                       (stream->strh->scale * GST_SECOND);
-          break;
+         *dest_value = src_value * stream->strh->rate /
+             (stream->strh->scale * GST_SECOND);
+         break;
+       case GST_FORMAT_DEFAULT:
+         *dest_value = src_value * stream->strh->rate /
+             (stream->strh->scale * GST_SECOND);
+         break;
        default:
          res = FALSE;
          break;
@@ -388,7 +363,7 @@ gst_avi_demux_src_convert (GstPad    *pad,
     case GST_FORMAT_BYTES:
       switch (*dest_format) {
        case GST_FORMAT_TIME:
-          *dest_value = ((gfloat) src_value) * GST_SECOND / stream->strh->rate;
+         *dest_value = ((gfloat) src_value) * GST_SECOND / stream->strh->rate;
          break;
        default:
          res = FALSE;
@@ -398,8 +373,8 @@ gst_avi_demux_src_convert (GstPad    *pad,
     case GST_FORMAT_DEFAULT:
       switch (*dest_format) {
        case GST_FORMAT_TIME:
-          *dest_value = ((((gfloat) src_value) * stream->strh->scale)  /
-                       stream->strh->rate) * GST_SECOND;
+         *dest_value = ((((gfloat) src_value) * stream->strh->scale) /
+             stream->strh->rate) * GST_SECOND;
          break;
        default:
          res = FALSE;
@@ -414,7 +389,7 @@ gst_avi_demux_src_convert (GstPad    *pad,
 }
 
 static const GstQueryType *
-gst_avi_demux_get_src_query_types (GstPad *pad) 
+gst_avi_demux_get_src_query_types (GstPad * pad)
 {
   static const GstQueryType src_types[] = {
     GST_QUERY_TOTAL,
@@ -426,67 +401,64 @@ gst_avi_demux_get_src_query_types (GstPad *pad)
 }
 
 static gboolean
-gst_avi_demux_handle_src_query (GstPad      *pad,
-                               GstQueryType type, 
-                               GstFormat   *format,
-                               gint64      *value)
+gst_avi_demux_handle_src_query (GstPad * pad,
+    GstQueryType type, GstFormat * format, gint64 * value)
 {
   gboolean res = TRUE;
-  /*GstAviDemux *avi = GST_AVI_DEMUX (gst_pad_get_parent (pad));*/
+
+  /*GstAviDemux *avi = GST_AVI_DEMUX (gst_pad_get_parent (pad)); */
   avi_stream_context *stream = gst_pad_get_element_private (pad);
 
   switch (type) {
     case GST_QUERY_TOTAL:
       switch (*format) {
-        case GST_FORMAT_TIME:
-          *value = (((gfloat) stream->strh->scale) * stream->strh->length /
-                       stream->strh->rate) * GST_SECOND;
+       case GST_FORMAT_TIME:
+         *value = (((gfloat) stream->strh->scale) * stream->strh->length /
+             stream->strh->rate) * GST_SECOND;
          break;
-        case GST_FORMAT_BYTES:
-          if (stream->strh->type == GST_RIFF_FCC_auds) {
-            *value = stream->total_bytes;
-         }
-         else
+       case GST_FORMAT_BYTES:
+         if (stream->strh->type == GST_RIFF_FCC_auds) {
+           *value = stream->total_bytes;
+         } else
            res = FALSE;
          break;
-        case GST_FORMAT_DEFAULT:
-          if (stream->strh->type == GST_RIFF_FCC_auds)
-            *value = stream->strh->length * stream->strh->samplesize;
+       case GST_FORMAT_DEFAULT:
+         if (stream->strh->type == GST_RIFF_FCC_auds)
+           *value = stream->strh->length * stream->strh->samplesize;
          else if (stream->strh->type == GST_RIFF_FCC_vids)
-            *value = stream->strh->length;
+           *value = stream->strh->length;
          else
            res = FALSE;
          break;
        default:
-          res = FALSE;
+         res = FALSE;
          break;
       }
       break;
     case GST_QUERY_POSITION:
       switch (*format) {
-        case GST_FORMAT_TIME:
-          if (stream->strh->samplesize &&
+       case GST_FORMAT_TIME:
+         if (stream->strh->samplesize &&
              stream->strh->type == GST_RIFF_FCC_auds) {
-            *value = ((gfloat) stream->current_byte) * GST_SECOND /
-                       stream->strh->rate;
-         }
-         else {
-            *value = (((gfloat) stream->current_frame) * stream->strh->scale /
-                       stream->strh->rate) * GST_SECOND;
+           *value = ((gfloat) stream->current_byte) * GST_SECOND /
+               stream->strh->rate;
+         } else {
+           *value = (((gfloat) stream->current_frame) * stream->strh->scale /
+               stream->strh->rate) * GST_SECOND;
          }
          break;
-        case GST_FORMAT_BYTES:
-          *value = stream->current_byte;
+       case GST_FORMAT_BYTES:
+         *value = stream->current_byte;
          break;
-        case GST_FORMAT_DEFAULT:
-          if (stream->strh->samplesize &&
-             stream->strh->type == GST_RIFF_FCC_auds) 
-            *value = stream->current_byte * stream->strh->samplesize;
-         else 
-            *value = stream->current_frame;
+       case GST_FORMAT_DEFAULT:
+         if (stream->strh->samplesize &&
+             stream->strh->type == GST_RIFF_FCC_auds)
+           *value = stream->current_byte * stream->strh->samplesize;
+         else
+           *value = stream->current_frame;
          break;
        default:
-          res = FALSE;
+         res = FALSE;
          break;
       }
       break;
@@ -499,7 +471,7 @@ gst_avi_demux_handle_src_query (GstPad      *pad,
 }
 
 static GstCaps *
-gst_avi_demux_src_getcaps (GstPad *pad)
+gst_avi_demux_src_getcaps (GstPad * pad)
 {
   avi_stream_context *stream = gst_pad_get_element_private (pad);
 
@@ -507,8 +479,7 @@ gst_avi_demux_src_getcaps (GstPad *pad)
 }
 
 static gint32
-gst_avi_demux_sync_streams (GstAviDemux *avi,
-                           guint64      time)
+gst_avi_demux_sync_streams (GstAviDemux * avi, guint64 time)
 {
   gint i;
   guint32 min_index = G_MAXUINT;
@@ -521,25 +492,25 @@ gst_avi_demux_sync_streams (GstAviDemux *avi,
     GST_DEBUG ("finding %d for time %" G_GINT64_FORMAT, i, time);
 
     entry = gst_avi_demux_index_entry_for_time (avi, stream->num, time,
-                                               GST_RIFF_IF_KEYFRAME);
+       GST_RIFF_IF_KEYFRAME);
     if (entry) {
       min_index = MIN (entry->index_nr, min_index);
     }
   }
   GST_DEBUG ("first index at %d", min_index);
-  
+
   /* now we know the entry we need to sync on. calculate number of frames to
    * skip fro there on and the stream stats */
   for (i = 0; i < avi->num_streams; i++) {
     gst_avi_index_entry *next_entry;
+
     stream = &avi->stream[i];
 
     /* next entry */
-    next_entry = gst_avi_demux_index_next (avi, stream->num,
-                                          min_index, 0);
+    next_entry = gst_avi_demux_index_next (avi, stream->num, min_index, 0);
     /* next entry with keyframe */
     entry = gst_avi_demux_index_next (avi, stream->num, min_index,
-                                     GST_RIFF_IF_KEYFRAME);
+       GST_RIFF_IF_KEYFRAME);
 
     stream->current_byte = next_entry->bytes_before;
     stream->current_frame = next_entry->frames_before;
@@ -554,14 +525,13 @@ gst_avi_demux_sync_streams (GstAviDemux *avi,
 }
 
 static gboolean
-gst_avi_demux_send_event (GstElement *element,
-                         GstEvent   *event)
+gst_avi_demux_send_event (GstElement * element, GstEvent * event)
 {
   const GList *pads;
 
   pads = gst_element_get_pad_list (element);
 
-  while (pads) { 
+  while (pads) {
     GstPad *pad = GST_PAD (pads->data);
 
     if (GST_PAD_DIRECTION (pad) == GST_PAD_SRC) {
@@ -574,93 +544,88 @@ gst_avi_demux_send_event (GstElement *element,
        return TRUE;
       }
     }
-    
+
     pads = g_list_next (pads);
   }
-  
+
   gst_event_unref (event);
 
   return FALSE;
 }
 
 static const GstEventMask *
-gst_avi_demux_get_event_mask (GstPad *pad)
+gst_avi_demux_get_event_mask (GstPad * pad)
 {
   static const GstEventMask masks[] = {
-    { GST_EVENT_SEEK, GST_SEEK_METHOD_SET | GST_SEEK_FLAG_KEY_UNIT },
-    { 0, }
+    {GST_EVENT_SEEK, GST_SEEK_METHOD_SET | GST_SEEK_FLAG_KEY_UNIT},
+    {0,}
   };
 
   return masks;
 }
-       
+
 static gboolean
-gst_avi_demux_handle_src_event (GstPad   *pad,
-                               GstEvent *event)
+gst_avi_demux_handle_src_event (GstPad * pad, GstEvent * event)
 {
   gboolean res = TRUE;
   GstAviDemux *avi = GST_AVI_DEMUX (gst_pad_get_parent (pad));
   avi_stream_context *stream;
-  
+
   stream = gst_pad_get_element_private (pad);
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:
       GST_DEBUG ("seek format %d, %08x", GST_EVENT_SEEK_FORMAT (event),
-                stream->strh->type);
+         stream->strh->type);
 
       switch (GST_EVENT_SEEK_FORMAT (event)) {
        case GST_FORMAT_BYTES:
        case GST_FORMAT_DEFAULT:
-       case GST_FORMAT_TIME: {
+       case GST_FORMAT_TIME:{
          gst_avi_index_entry *seek_entry, *entry = NULL;
          gint64 desired_offset = GST_EVENT_SEEK_OFFSET (event);
          guint32 flags;
-          guint64 min_index;
+         guint64 min_index;
 
          /* no seek on audio yet */
          if (stream->strh->type == GST_RIFF_FCC_auds) {
            res = FALSE;
            goto done;
          }
-          GST_DEBUG ("seeking to %" G_GINT64_FORMAT, desired_offset);
+         GST_DEBUG ("seeking to %" G_GINT64_FORMAT, desired_offset);
 
-          flags = GST_RIFF_IF_KEYFRAME;
-          switch (GST_EVENT_SEEK_FORMAT (event)) {
+         flags = GST_RIFF_IF_KEYFRAME;
+         switch (GST_EVENT_SEEK_FORMAT (event)) {
            case GST_FORMAT_BYTES:
-              entry = gst_avi_demux_index_entry_for_byte (avi, stream->num,
-                                                         desired_offset,
-                                                         flags);
-              break;
+             entry = gst_avi_demux_index_entry_for_byte (avi, stream->num,
+                 desired_offset, flags);
+             break;
            case GST_FORMAT_DEFAULT:
-              entry = gst_avi_demux_index_entry_for_frame (avi, stream->num,
-                                                          desired_offset,
-                                                          flags);
-              break;
+             entry = gst_avi_demux_index_entry_for_frame (avi, stream->num,
+                 desired_offset, flags);
+             break;
            case GST_FORMAT_TIME:
-              entry = gst_avi_demux_index_entry_for_time (avi, stream->num,
-                                                         desired_offset,
-                                                         flags);
-              break;
-          }
+             entry = gst_avi_demux_index_entry_for_time (avi, stream->num,
+                 desired_offset, flags);
+             break;
+         }
 
          if (entry) {
            min_index = gst_avi_demux_sync_streams (avi, entry->ts);
-            seek_entry = &avi->index_entries[min_index];
+           seek_entry = &avi->index_entries[min_index];
 
            avi->seek_offset = seek_entry->offset + avi->index_offset;
-            avi->last_seek = entry->ts;
+           avi->last_seek = entry->ts;
          } else {
-            GST_DEBUG ("no index entry found for format=%d value=%"
-                      G_GINT64_FORMAT, GST_EVENT_SEEK_FORMAT (event),
-                      desired_offset);
+           GST_DEBUG ("no index entry found for format=%d value=%"
+               G_GINT64_FORMAT, GST_EVENT_SEEK_FORMAT (event), desired_offset);
            res = FALSE;
          }
          break;
        }
        default:
          res = FALSE;
-          break;
+         break;
       }
       break;
     default:
@@ -679,7 +644,7 @@ done:
  */
 
 gboolean
-gst_avi_demux_stream_init (GstAviDemux *avi)
+gst_avi_demux_stream_init (GstAviDemux * avi)
 {
   GstRiffRead *riff = GST_RIFF_READ (avi);
   guint32 doctype;
@@ -699,9 +664,8 @@ gst_avi_demux_stream_init (GstAviDemux *avi)
  */
 
 gboolean
-gst_avi_demux_stream_avih (GstAviDemux *avi,
-                          guint32     *flags,
-                          guint32     *streams)
+gst_avi_demux_stream_avih (GstAviDemux * avi,
+    guint32 * flags, guint32 * streams)
 {
   GstRiffRead *riff = GST_RIFF_READ (avi);
   guint32 tag;
@@ -718,43 +682,43 @@ gst_avi_demux_stream_avih (GstAviDemux *avi,
   }
   if (GST_BUFFER_SIZE (buf) < sizeof (gst_riff_avih)) {
     g_warning ("Too small avih (%d available, %d needed)",
-              GST_BUFFER_SIZE (buf), (int) sizeof (gst_riff_avih));
+       GST_BUFFER_SIZE (buf), (int) sizeof (gst_riff_avih));
     gst_buffer_unref (buf);
     return FALSE;
   }
 
   _avih = (gst_riff_avih *) GST_BUFFER_DATA (buf);
-  avih.us_frame    = GUINT32_FROM_LE (_avih->us_frame);
-  avih.max_bps     = GUINT32_FROM_LE (_avih->max_bps);
-  avih.pad_gran    = GUINT32_FROM_LE (_avih->pad_gran);
-  avih.flags       = GUINT32_FROM_LE (_avih->flags);
-  avih.tot_frames  = GUINT32_FROM_LE (_avih->tot_frames);
+  avih.us_frame = GUINT32_FROM_LE (_avih->us_frame);
+  avih.max_bps = GUINT32_FROM_LE (_avih->max_bps);
+  avih.pad_gran = GUINT32_FROM_LE (_avih->pad_gran);
+  avih.flags = GUINT32_FROM_LE (_avih->flags);
+  avih.tot_frames = GUINT32_FROM_LE (_avih->tot_frames);
   avih.init_frames = GUINT32_FROM_LE (_avih->init_frames);
-  avih.streams     = GUINT32_FROM_LE (_avih->streams);
-  avih.bufsize     = GUINT32_FROM_LE (_avih->bufsize);
-  avih.width       = GUINT32_FROM_LE (_avih->width);
-  avih.height      = GUINT32_FROM_LE (_avih->height);
-  avih.scale       = GUINT32_FROM_LE (_avih->scale);
-  avih.rate        = GUINT32_FROM_LE (_avih->rate);
-  avih.start       = GUINT32_FROM_LE (_avih->start);
-  avih.length      = GUINT32_FROM_LE (_avih->length);
+  avih.streams = GUINT32_FROM_LE (_avih->streams);
+  avih.bufsize = GUINT32_FROM_LE (_avih->bufsize);
+  avih.width = GUINT32_FROM_LE (_avih->width);
+  avih.height = GUINT32_FROM_LE (_avih->height);
+  avih.scale = GUINT32_FROM_LE (_avih->scale);
+  avih.rate = GUINT32_FROM_LE (_avih->rate);
+  avih.start = GUINT32_FROM_LE (_avih->start);
+  avih.length = GUINT32_FROM_LE (_avih->length);
 
   /* debug stuff */
   GST_INFO ("avih tag found:");
-  GST_INFO (" us_frame    %u",     avih.us_frame);
-  GST_INFO (" max_bps     %u",     avih.max_bps);
-  GST_INFO (" pad_gran    %u",     avih.pad_gran);
+  GST_INFO (" us_frame    %u", avih.us_frame);
+  GST_INFO (" max_bps     %u", avih.max_bps);
+  GST_INFO (" pad_gran    %u", avih.pad_gran);
   GST_INFO (" flags       0x%08x", avih.flags);
-  GST_INFO (" tot_frames  %u",     avih.tot_frames);
-  GST_INFO (" init_frames %u",     avih.init_frames);
-  GST_INFO (" streams     %u",     avih.streams);
-  GST_INFO (" bufsize     %u",     avih.bufsize);
-  GST_INFO (" width       %u",     avih.width);
-  GST_INFO (" height      %u",     avih.height);
-  GST_INFO (" scale       %u",     avih.scale);
-  GST_INFO (" rate        %u",     avih.rate);
-  GST_INFO (" start       %u",     avih.start);
-  GST_INFO (" length      %u",     avih.length);
+  GST_INFO (" tot_frames  %u", avih.tot_frames);
+  GST_INFO (" init_frames %u", avih.init_frames);
+  GST_INFO (" streams     %u", avih.streams);
+  GST_INFO (" bufsize     %u", avih.bufsize);
+  GST_INFO (" width       %u", avih.width);
+  GST_INFO (" height      %u", avih.height);
+  GST_INFO (" scale       %u", avih.scale);
+  GST_INFO (" rate        %u", avih.rate);
+  GST_INFO (" start       %u", avih.start);
+  GST_INFO (" length      %u", avih.length);
 
   avi->num_frames = avih.tot_frames;
   avi->us_per_frame = avih.us_frame;
@@ -771,7 +735,7 @@ gst_avi_demux_stream_avih (GstAviDemux *avi,
  */
 
 static gboolean
-gst_avi_demux_add_stream (GstAviDemux *avi)
+gst_avi_demux_add_stream (GstAviDemux * avi)
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (avi);
   GstRiffRead *riff = GST_RIFF_READ (avi);
@@ -782,7 +746,8 @@ gst_avi_demux_add_stream (GstAviDemux *avi)
   GstPadTemplate *templ = NULL;
   GstPad *pad;
   avi_stream_context *stream;
-  union {
+  union
+  {
     gst_riff_strf_vids *vids;
     gst_riff_strf_auds *auds;
     gst_riff_strf_iavs *iavs;
@@ -803,25 +768,25 @@ gst_avi_demux_add_stream (GstAviDemux *avi)
     return FALSE;
   if (tag != GST_RIFF_TAG_strf) {
     GST_ELEMENT_ERROR (avi, STREAM, DEMUX, (NULL),
-                      ("Invalid AVI header (no strf as second tag)"));
+       ("Invalid AVI header (no strf as second tag)"));
     goto skip_stream;
   }
   switch (strh->type) {
     case GST_RIFF_FCC_vids:
       if (!gst_riff_read_strf_vids (riff, &strf.vids))
-        return FALSE;
+       return FALSE;
       break;
     case GST_RIFF_FCC_auds:
       if (!gst_riff_read_strf_auds (riff, &strf.auds))
-        return FALSE;
+       return FALSE;
       break;
     case GST_RIFF_FCC_iavs:
       if (!gst_riff_read_strf_iavs (riff, &strf.iavs))
-        return FALSE;
+       return FALSE;
       break;
     default:
       g_warning ("Unknown stream type " GST_FOURCC_FORMAT,
-                GST_FOURCC_ARGS (strh->type));
+         GST_FOURCC_ARGS (strh->type));
       goto skip_stream;
   }
 
@@ -836,22 +801,22 @@ gst_avi_demux_add_stream (GstAviDemux *avi)
 
     switch (tag) {
       case GST_RIFF_TAG_strn:
-        if (name)
-          g_free (name);
-        if (!gst_riff_read_ascii (riff, &tag, &name))
-          return FALSE;
-        break;
+       if (name)
+         g_free (name);
+       if (!gst_riff_read_ascii (riff, &tag, &name))
+         return FALSE;
+       break;
 
       default:
-        GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " in AVI header",
-                    GST_FOURCC_ARGS (tag));
-        /* fall-through */
+       GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " in AVI header",
+           GST_FOURCC_ARGS (tag));
+       /* fall-through */
 
-      case GST_RIFF_TAG_strd: /* what is this? */
+      case GST_RIFF_TAG_strd:  /* what is this? */
       case GST_RIFF_TAG_JUNK:
-        if (!gst_riff_read_skip (riff))
-          return FALSE;
-        break;
+       if (!gst_riff_read_skip (riff))
+         return FALSE;
+       break;
     }
 
     if (avi->level_up) {
@@ -866,15 +831,17 @@ gst_avi_demux_add_stream (GstAviDemux *avi)
     {
       char *codec_name = NULL;
       GstTagList *list = gst_tag_list_new ();
+
       padname = g_strdup_printf ("video_%02d", avi->num_v_streams);
       templ = gst_element_class_get_pad_template (klass, "video_%02d");
       caps = gst_riff_create_video_caps (strf.vids->compression, strh,
-                                         strf.vids, &codec_name);
+         strf.vids, &codec_name);
       gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_VIDEO_CODEC,
-                        codec_name, NULL);
+         codec_name, NULL);
       gst_element_found_tags (GST_ELEMENT (avi), list);
       gst_tag_list_free (list);
-      if (codec_name) g_free (codec_name);
+      if (codec_name)
+       g_free (codec_name);
       g_free (strf.vids);
       avi->num_v_streams++;
       break;
@@ -883,15 +850,17 @@ gst_avi_demux_add_stream (GstAviDemux *avi)
     {
       char *codec_name = NULL;
       GstTagList *list = gst_tag_list_new ();
+
       padname = g_strdup_printf ("audio_%02d", avi->num_a_streams);
       templ = gst_element_class_get_pad_template (klass, "audio_%02d");
       caps = gst_riff_create_audio_caps (strf.auds->format, strh, strf.auds,
-                                         &codec_name);
+         &codec_name);
       gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_AUDIO_CODEC,
-                        codec_name, NULL);
+         codec_name, NULL);
       gst_element_found_tags (GST_ELEMENT (avi), list);
       gst_tag_list_free (list);
-      if (codec_name) g_free (codec_name);
+      if (codec_name)
+       g_free (codec_name);
       g_free (strf.auds);
       avi->num_a_streams++;
       break;
@@ -900,15 +869,17 @@ gst_avi_demux_add_stream (GstAviDemux *avi)
     {
       char *codec_name = NULL;
       GstTagList *list = gst_tag_list_new ();
+
       padname = g_strdup_printf ("video_%02d", avi->num_v_streams);
       templ = gst_element_class_get_pad_template (klass, "video_%02d");
       caps = gst_riff_create_iavs_caps (strh->fcc_handler, strh, strf.iavs,
-                                        &codec_name);
+         &codec_name);
       gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_VIDEO_CODEC,
-                        codec_name, NULL);
+         codec_name, NULL);
       gst_element_found_tags (GST_ELEMENT (avi), list);
       gst_tag_list_free (list);
-      if (codec_name) g_free (codec_name);
+      if (codec_name)
+       g_free (codec_name);
       g_free (strf.iavs);
       avi->num_v_streams++;
       break;
@@ -918,7 +889,7 @@ gst_avi_demux_add_stream (GstAviDemux *avi)
   }
 
   /* set proper settings and add it */
-  pad =  gst_pad_new_from_template (templ, padname);
+  pad = gst_pad_new_from_template (templ, padname);
   g_free (padname);
 
   gst_pad_set_formats_function (pad, gst_avi_demux_get_src_formats);
@@ -964,7 +935,7 @@ skip_stream:
   /* add a "NULL" stream */
   avi->num_streams++;
 
-  return TRUE; /* recoverable */
+  return TRUE;                 /* recoverable */
 }
 
 /*
@@ -972,7 +943,7 @@ skip_stream:
  */
 
 static gboolean
-gst_avi_demux_stream_odml (GstAviDemux *avi)
+gst_avi_demux_stream_odml (GstAviDemux * avi)
 {
   GstRiffRead *riff = GST_RIFF_READ (avi);
   guint32 tag;
@@ -987,38 +958,38 @@ gst_avi_demux_stream_odml (GstAviDemux *avi)
     }
 
     switch (tag) {
-      case GST_RIFF_TAG_dmlh: {
-        gst_riff_dmlh dmlh, *_dmlh;
-        GstBuffer *buf;
-
-        if (!gst_riff_read_data (riff, &tag, &buf))
-          return FALSE;
-        if (GST_BUFFER_SIZE (buf) < sizeof (gst_riff_dmlh)) {
-          g_warning ("DMLH entry is too small (%d bytes, %d needed)",
-                    GST_BUFFER_SIZE (buf), (int) sizeof (gst_riff_dmlh));
-          gst_buffer_unref (buf);
-          break;
-        }
-        _dmlh = (gst_riff_dmlh *) GST_BUFFER_DATA (buf);
-        dmlh.totalframes = GUINT32_FROM_LE (_dmlh->totalframes);
-
-        GST_INFO ("dmlh tag found:");
-        GST_INFO (" totalframes: %u", dmlh.totalframes);
-
-        avi->num_frames = dmlh.totalframes;
-        gst_buffer_unref (buf);
-        break;
+      case GST_RIFF_TAG_dmlh:{
+       gst_riff_dmlh dmlh, *_dmlh;
+       GstBuffer *buf;
+
+       if (!gst_riff_read_data (riff, &tag, &buf))
+         return FALSE;
+       if (GST_BUFFER_SIZE (buf) < sizeof (gst_riff_dmlh)) {
+         g_warning ("DMLH entry is too small (%d bytes, %d needed)",
+             GST_BUFFER_SIZE (buf), (int) sizeof (gst_riff_dmlh));
+         gst_buffer_unref (buf);
+         break;
+       }
+       _dmlh = (gst_riff_dmlh *) GST_BUFFER_DATA (buf);
+       dmlh.totalframes = GUINT32_FROM_LE (_dmlh->totalframes);
+
+       GST_INFO ("dmlh tag found:");
+       GST_INFO (" totalframes: %u", dmlh.totalframes);
+
+       avi->num_frames = dmlh.totalframes;
+       gst_buffer_unref (buf);
+       break;
       }
 
       default:
-        GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " in AVI header",
-                    GST_FOURCC_ARGS (tag));
-        /* fall-through */
+       GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " in AVI header",
+           GST_FOURCC_ARGS (tag));
+       /* fall-through */
 
       case GST_RIFF_TAG_JUNK:
-        if (!gst_riff_read_skip (riff))
-          return FALSE;
-        break;
+       if (!gst_riff_read_skip (riff))
+         return FALSE;
+       break;
     }
 
     if (avi->level_up) {
@@ -1035,7 +1006,7 @@ gst_avi_demux_stream_odml (GstAviDemux *avi)
  */
 
 gboolean
-gst_avi_demux_stream_index (GstAviDemux *avi)
+gst_avi_demux_stream_index (GstAviDemux * avi)
 {
   GstBuffer *buf = NULL;
   guint i;
@@ -1065,7 +1036,7 @@ gst_avi_demux_stream_index (GstAviDemux *avi)
     return FALSE;
   if (tag != GST_RIFF_TAG_idx1) {
     g_warning ("No index after data, but " GST_FOURCC_FORMAT,
-              GST_FOURCC_ARGS (tag));
+       GST_FOURCC_ARGS (tag));
     goto end;
   }
 
@@ -1075,7 +1046,8 @@ gst_avi_demux_stream_index (GstAviDemux *avi)
 
   /* parse all entries */
   avi->index_size = GST_BUFFER_SIZE (buf) / sizeof (gst_riff_index_entry);
-  avi->index_entries = g_malloc (avi->index_size * sizeof (gst_avi_index_entry));
+  avi->index_entries =
+      g_malloc (avi->index_size * sizeof (gst_avi_index_entry));
   GST_INFO ("%u index entries", avi->index_size);
 
   for (i = 0; i < avi->index_size; i++) {
@@ -1086,16 +1058,15 @@ gst_avi_demux_stream_index (GstAviDemux *avi)
     GstFormat format;
 
     _entry = &((gst_riff_index_entry *) GST_BUFFER_DATA (buf))[i];
-    entry.id     = GUINT32_FROM_LE (_entry->id);
+    entry.id = GUINT32_FROM_LE (_entry->id);
     entry.offset = GUINT32_FROM_LE (_entry->offset);
-    entry.flags  = GUINT32_FROM_LE (_entry->flags);
-    entry.size   = GUINT32_FROM_LE (_entry->size);
+    entry.flags = GUINT32_FROM_LE (_entry->flags);
+    entry.size = GUINT32_FROM_LE (_entry->size);
     target = &avi->index_entries[i];
 
     stream_nr = CHUNKID_TO_STREAMNR (entry.id);
     if (stream_nr >= avi->num_streams || stream_nr < 0) {
-      g_warning ("Index entry %d has invalid stream nr %d",
-                i, stream_nr);
+      g_warning ("Index entry %d has invalid stream nr %d", i, stream_nr);
       target->stream_nr = -1;
       continue;
     }
@@ -1103,9 +1074,9 @@ gst_avi_demux_stream_index (GstAviDemux *avi)
     stream = &avi->stream[stream_nr];
 
     target->index_nr = i;
-    target->flags    = entry.flags;
-    target->size     = entry.size;
-    target->offset   = entry.offset;
+    target->flags = entry.flags;
+    target->size = entry.size;
+    target->offset = entry.offset;
 
     /* figure out if the index is 0 based or relative to the MOVI start */
     if (i == 0) {
@@ -1123,15 +1094,15 @@ gst_avi_demux_stream_index (GstAviDemux *avi)
       /* all audio frames are keyframes */
       target->flags |= GST_RIFF_IF_KEYFRAME;
     }
-      
+
     if (stream->strh->samplesize && stream->strh->type == GST_RIFF_FCC_auds) {
       /* constant rate stream */
       gst_pad_convert (stream->pad, GST_FORMAT_BYTES,
-                      stream->total_bytes, &format, &target->ts);
+         stream->total_bytes, &format, &target->ts);
     } else {
       /* VBR stream */
       gst_pad_convert (stream->pad, GST_FORMAT_DEFAULT,
-                      stream->total_frames, &format, &target->ts);
+         stream->total_frames, &format, &target->ts);
     }
 
     stream->total_bytes += target->size;
@@ -1143,8 +1114,8 @@ gst_avi_demux_stream_index (GstAviDemux *avi)
     avi_stream_context *stream;
 
     stream = &avi->stream[i];
-    GST_DEBUG ("stream %u: %u frames, %" G_GINT64_FORMAT " bytes", 
-              i, stream->total_frames, stream->total_bytes);
+    GST_DEBUG ("stream %u: %u frames, %" G_GINT64_FORMAT " bytes",
+       i, stream->total_frames, stream->total_bytes);
   }
 
 end:
@@ -1164,7 +1135,7 @@ end:
  */
 
 gboolean
-gst_avi_demux_stream_scan (GstAviDemux *avi)
+gst_avi_demux_stream_scan (GstAviDemux * avi)
 {
   //GstRiffRead *riff = GST_RIFF_READ (avi);
 
@@ -1178,7 +1149,7 @@ gst_avi_demux_stream_scan (GstAviDemux *avi)
  */
 
 gboolean
-gst_avi_demux_stream_header (GstAviDemux *avi)
+gst_avi_demux_stream_header (GstAviDemux * avi)
 {
   GstRiffRead *riff = GST_RIFF_READ (avi);
   guint32 tag, flags, streams;
@@ -1188,16 +1159,16 @@ gst_avi_demux_stream_header (GstAviDemux *avi)
     return FALSE;
   if (tag != GST_RIFF_TAG_LIST) {
     GST_ELEMENT_ERROR (avi, STREAM, DEMUX, (NULL),
-                      ("Invalid AVI header (no LIST at start): "
-                      GST_FOURCC_FORMAT, GST_FOURCC_ARGS (tag)));
+       ("Invalid AVI header (no LIST at start): "
+           GST_FOURCC_FORMAT, GST_FOURCC_ARGS (tag)));
     return FALSE;
   }
   if (!gst_riff_read_list (riff, &tag))
     return FALSE;
   if (tag != GST_RIFF_LIST_hdrl) {
     GST_ELEMENT_ERROR (avi, STREAM, DEMUX, (NULL),
-                      ("Invalid AVI header (no hdrl at start): "
-                      GST_FOURCC_FORMAT, GST_FOURCC_ARGS (tag)));
+       ("Invalid AVI header (no hdrl at start): "
+           GST_FOURCC_FORMAT, GST_FOURCC_ARGS (tag)));
     return FALSE;
   }
 
@@ -1206,8 +1177,8 @@ gst_avi_demux_stream_header (GstAviDemux *avi)
     return FALSE;
   if (tag != GST_RIFF_TAG_avih) {
     GST_ELEMENT_ERROR (avi, STREAM, DEMUX, (NULL),
-                      ("Invalid AVI header (no avih at start): "
-                      GST_FOURCC_FORMAT, GST_FOURCC_ARGS (tag)));
+       ("Invalid AVI header (no avih at start): "
+           GST_FOURCC_FORMAT, GST_FOURCC_ARGS (tag)));
     return FALSE;
   }
   if (!gst_avi_demux_stream_avih (avi, &flags, &streams))
@@ -1224,44 +1195,44 @@ gst_avi_demux_stream_header (GstAviDemux *avi)
 
     switch (tag) {
       case GST_RIFF_TAG_LIST:
-        if (!(tag = gst_riff_peek_list (riff)))
-          return FALSE;
-
-        switch (tag) {
-          case GST_RIFF_LIST_strl:
-            if (!gst_riff_read_list (riff, &tag) ||
-                !gst_avi_demux_add_stream (avi))
-              return FALSE;
-            break;
-
-          case GST_RIFF_LIST_odml:
-            if (!gst_riff_read_list (riff, &tag) ||
-                !gst_avi_demux_stream_odml (avi))
-              return FALSE;
-            break;
-
-          default:
-            GST_WARNING ("Unknown list " GST_FOURCC_FORMAT " in AVI header",
-                        GST_FOURCC_ARGS (tag));
-            /* fall-through */
-
-          case GST_RIFF_TAG_JUNK:
-            if (!gst_riff_read_skip (riff))
-              return FALSE;
-            break;
-        }
-
-        break;
+       if (!(tag = gst_riff_peek_list (riff)))
+         return FALSE;
+
+       switch (tag) {
+         case GST_RIFF_LIST_strl:
+           if (!gst_riff_read_list (riff, &tag) ||
+               !gst_avi_demux_add_stream (avi))
+             return FALSE;
+           break;
+
+         case GST_RIFF_LIST_odml:
+           if (!gst_riff_read_list (riff, &tag) ||
+               !gst_avi_demux_stream_odml (avi))
+             return FALSE;
+           break;
+
+         default:
+           GST_WARNING ("Unknown list " GST_FOURCC_FORMAT " in AVI header",
+               GST_FOURCC_ARGS (tag));
+           /* fall-through */
+
+         case GST_RIFF_TAG_JUNK:
+           if (!gst_riff_read_skip (riff))
+             return FALSE;
+           break;
+       }
+
+       break;
 
       default:
-        GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " in AVI header",
-                    GST_FOURCC_ARGS (tag));
-        /* fall-through */
+       GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " in AVI header",
+           GST_FOURCC_ARGS (tag));
+       /* fall-through */
 
       case GST_RIFF_TAG_JUNK:
-        if (!gst_riff_read_skip (riff))
-          return FALSE;
-        break;
+       if (!gst_riff_read_skip (riff))
+         return FALSE;
+       break;
     }
 
     if (avi->level_up) {
@@ -1272,11 +1243,11 @@ gst_avi_demux_stream_header (GstAviDemux *avi)
 
   if (avi->num_streams != streams) {
     g_warning ("Stream header mentioned %d streams, but %d available",
-              streams, avi->num_streams);
+       streams, avi->num_streams);
   }
 
   /* we've got streaminfo now */
-  g_object_notify (G_OBJECT(avi), "streaminfo");
+  g_object_notify (G_OBJECT (avi), "streaminfo");
 
   /* Now, find the data (i.e. skip all junk between header and data) */
   while (1) {
@@ -1284,18 +1255,17 @@ gst_avi_demux_stream_header (GstAviDemux *avi)
       return FALSE;
     if (tag != GST_RIFF_TAG_LIST) {
       if (!gst_riff_read_skip (riff))
-        return FALSE;
+       return FALSE;
       continue;
     }
     if (!(tag = gst_riff_peek_list (riff)))
       return FALSE;
     if (tag != GST_RIFF_LIST_movi) {
       if (tag == GST_RIFF_LIST_INFO) {
-        if (!gst_riff_read_list (riff, &tag) ||
-            !gst_riff_read_info (riff))
-         return FALSE;
-      } else  if (!gst_riff_read_skip (riff)) {
-        return FALSE;
+       if (!gst_riff_read_list (riff, &tag) || !gst_riff_read_info (riff))
+         return FALSE;
+      } else if (!gst_riff_read_skip (riff)) {
+       return FALSE;
       }
       continue;
     }
@@ -1319,7 +1289,7 @@ gst_avi_demux_stream_header (GstAviDemux *avi)
  */
 
 static gboolean
-gst_avi_demux_handle_seek (GstAviDemux *avi)
+gst_avi_demux_handle_seek (GstAviDemux * avi)
 {
   GstRiffRead *riff = GST_RIFF_READ (avi);
   guint i;
@@ -1336,8 +1306,8 @@ gst_avi_demux_handle_seek (GstAviDemux *avi)
     avi_stream_context *stream = &avi->stream[i];
 
     if (GST_PAD_IS_USABLE (stream->pad)) {
-      event = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, 
-                               avi->last_seek + stream->delay , NULL);
+      event = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME,
+         avi->last_seek + stream->delay, NULL);
       gst_pad_push (stream->pad, GST_DATA (event));
     }
   }
@@ -1350,17 +1320,17 @@ gst_avi_demux_handle_seek (GstAviDemux *avi)
  */
 
 gboolean
-gst_avi_demux_stream_data (GstAviDemux *avi)
+gst_avi_demux_stream_data (GstAviDemux * avi)
 {
   GstRiffRead *riff = GST_RIFF_READ (avi);
   guint32 tag;
   guint stream_nr;
   gst_avi_index_entry *entry;
 
-  if (avi->seek_offset != (guint64) -1) {
+  if (avi->seek_offset != (guint64) - 1) {
     if (!gst_avi_demux_handle_seek (avi))
       return FALSE;
-    avi->seek_offset = (guint64) -1;
+    avi->seek_offset = (guint64) - 1;
   }
 
   /* peek first (for the end of this 'list/movi' section) */
@@ -1377,40 +1347,40 @@ gst_avi_demux_stream_data (GstAviDemux *avi)
 
     switch (tag) {
       case GST_RIFF_TAG_LIST:
-        if (!(tag = gst_riff_peek_list (riff)))
-          return FALSE;
-
-        switch (tag) {
-          case GST_RIFF_LIST_AVIX:
-          case GST_RIFF_LIST_movi:
-            if (!gst_riff_read_list (riff, &tag))
-              return FALSE;
-            /* we're now going to read buffers! */
-            break;
-
-          default:
-            GST_WARNING ("Unknown list " GST_FOURCC_FORMAT " before AVI data",
-                        GST_FOURCC_ARGS (tag));
-            /* fall-through */
-
-          case GST_RIFF_TAG_JUNK:
-            if (!gst_riff_read_skip (riff))
-              return FALSE;
-            break;
-        }
-
-        break;
+       if (!(tag = gst_riff_peek_list (riff)))
+         return FALSE;
+
+       switch (tag) {
+         case GST_RIFF_LIST_AVIX:
+         case GST_RIFF_LIST_movi:
+           if (!gst_riff_read_list (riff, &tag))
+             return FALSE;
+           /* we're now going to read buffers! */
+           break;
+
+         default:
+           GST_WARNING ("Unknown list " GST_FOURCC_FORMAT " before AVI data",
+               GST_FOURCC_ARGS (tag));
+           /* fall-through */
+
+         case GST_RIFF_TAG_JUNK:
+           if (!gst_riff_read_skip (riff))
+             return FALSE;
+           break;
+       }
+
+       break;
 
       default:
-        GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " before AVI data",
-                    GST_FOURCC_ARGS (tag));
-        /* fall-through */
+       GST_WARNING ("Unknown tag " GST_FOURCC_FORMAT " before AVI data",
+           GST_FOURCC_ARGS (tag));
+       /* fall-through */
 
       case GST_RIFF_TAG_idx1:
       case GST_RIFF_TAG_JUNK:
-        if (!gst_riff_read_skip (riff))
-          return FALSE;
-        break;
+       if (!gst_riff_read_skip (riff))
+         return FALSE;
+       break;
     }
   }
 
@@ -1421,7 +1391,7 @@ gst_avi_demux_stream_data (GstAviDemux *avi)
   if (stream_nr < 0 || stream_nr >= avi->num_streams) {
     /* recoverable */
     g_warning ("Invalid stream ID %d (" GST_FOURCC_FORMAT ")",
-              stream_nr, GST_FOURCC_ARGS (tag));
+       stream_nr, GST_FOURCC_ARGS (tag));
     if (!gst_riff_read_skip (riff))
       return FALSE;
   } else {
@@ -1437,20 +1407,19 @@ gst_avi_demux_stream_data (GstAviDemux *avi)
     /* get time of this buffer */
     stream = &avi->stream[stream_nr];
     entry = gst_avi_demux_index_next (avi, stream_nr,
-                                     stream->current_entry + 1, 0);
+       stream->current_entry + 1, 0);
     if (entry) {
       stream->current_entry = entry->index_nr;
       if (entry->flags & GST_RIFF_IF_KEYFRAME) {
-        GST_BUFFER_FLAG_SET (buf, GST_BUFFER_KEY_UNIT);
+       GST_BUFFER_FLAG_SET (buf, GST_BUFFER_KEY_UNIT);
       }
     }
     format = GST_FORMAT_TIME;
-    gst_pad_query (stream->pad, GST_QUERY_POSITION,
-                  &format, &next_ts);
+    gst_pad_query (stream->pad, GST_QUERY_POSITION, &format, &next_ts);
 
     /* set delay (if any) */
     if (stream->strh->init_frames == stream->current_frame &&
-        stream->delay == 0)
+       stream->delay == 0)
       stream->delay = next_ts;
 
     stream->current_frame++;
@@ -1462,16 +1431,15 @@ gst_avi_demux_stream_data (GstAviDemux *avi)
       gst_buffer_unref (buf);
     } else {
       if (!stream->pad || !GST_PAD_IS_USABLE (stream->pad)) {
-        gst_buffer_unref (buf);
+       gst_buffer_unref (buf);
       } else {
-        GstClockTime dur_ts;
+       GstClockTime dur_ts;
 
-        GST_BUFFER_TIMESTAMP (buf) = next_ts;
-        gst_pad_query (stream->pad, GST_QUERY_POSITION,
-                      &format, &dur_ts);
-        GST_BUFFER_DURATION (buf) = dur_ts - next_ts;
+       GST_BUFFER_TIMESTAMP (buf) = next_ts;
+       gst_pad_query (stream->pad, GST_QUERY_POSITION, &format, &dur_ts);
+       GST_BUFFER_DURATION (buf) = dur_ts - next_ts;
 
-        gst_pad_push (stream->pad, GST_DATA (buf));
+       gst_pad_push (stream->pad, GST_DATA (buf));
       }
     }
   }
@@ -1480,26 +1448,26 @@ gst_avi_demux_stream_data (GstAviDemux *avi)
 }
 
 static void
-gst_avi_demux_loop (GstElement *element)
+gst_avi_demux_loop (GstElement * element)
 {
   GstAviDemux *avi = GST_AVI_DEMUX (element);
 
   switch (avi->state) {
     case GST_AVI_DEMUX_START:
       if (!gst_avi_demux_stream_init (avi))
-        return;
+       return;
       avi->state = GST_AVI_DEMUX_HEADER;
       /* fall-through */
 
     case GST_AVI_DEMUX_HEADER:
       if (!gst_avi_demux_stream_header (avi))
-        return;
+       return;
       avi->state = GST_AVI_DEMUX_MOVI;
       /* fall-through */
 
     case GST_AVI_DEMUX_MOVI:
       if (!gst_avi_demux_stream_data (avi))
-        return;
+       return;
       break;
 
     default:
@@ -1508,7 +1476,7 @@ gst_avi_demux_loop (GstElement *element)
 }
 
 static GstElementStateReturn
-gst_avi_demux_change_state (GstElement *element)
+gst_avi_demux_change_state (GstElement * element)
 {
   GstAviDemux *avi = GST_AVI_DEMUX (element);
 
@@ -1530,10 +1498,8 @@ gst_avi_demux_change_state (GstElement *element)
 }
 
 static void
-gst_avi_demux_get_property (GObject    *object,
-                           guint       prop_id,
-                           GValue     *value,
-                           GParamSpec *pspec)
+gst_avi_demux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
   GstAviDemux *avi = GST_AVI_DEMUX (object);
 
index d94433a..9849bda 100644 (file)
@@ -26,7 +26,6 @@
 #include "gst/riff/riff-read.h"
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_AVI_DEMUX \
   (gst_avi_demux_get_type ())
 #define GST_AVI_DEMUX(obj) \
@@ -37,93 +36,94 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_AVI_DEMUX))
 #define GST_IS_AVI_DEMUX_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_AVI_DEMUX))
-
-#define GST_AVI_DEMUX_MAX_STREAMS      16      
-
+#define GST_AVI_DEMUX_MAX_STREAMS      16
 #define CHUNKID_TO_STREAMNR(chunkid) \
   ((((chunkid) & 0xff) - '0') * 10 + \
    (((chunkid) >> 8) & 0xff) - '0')
-
-typedef struct {
-  gint                  index_nr;
-  gint                  stream_nr;
-  guint64       ts;
-  guint32       flags;
-  guint32       offset;
-  gint                  size;
-  guint64       bytes_before;
-  guint32       frames_before;
+    typedef struct
+{
+  gint index_nr;
+  gint stream_nr;
+  guint64 ts;
+  guint32 flags;
+  guint32 offset;
+  gint size;
+  guint64 bytes_before;
+  guint32 frames_before;
 } gst_avi_index_entry;
 
-typedef struct {
+typedef struct
+{
   /* index of this streamcontext */
-  guint         num;
+  guint num;
 
   /* pad, strh */
-  GstPad       *pad;
-  GstCaps      *caps;
-  gst_riff_strh        *strh;
+  GstPad *pad;
+  GstCaps *caps;
+  gst_riff_strh *strh;
 
   /* current position (byte, frame, time) */
-  guint         current_frame;
-  guint64       current_byte;
-  gint          current_entry;
+  guint current_frame;
+  guint64 current_byte;
+  gint current_entry;
 
   /* delay in time (init_frames) */
-  guint64       delay;
+  guint64 delay;
 
   /* stream length */
-  guint64       total_bytes;
-  guint32       total_frames;
+  guint64 total_bytes;
+  guint32 total_frames;
 
-  guint32       skip;
+  guint32 skip;
 } avi_stream_context;
 
-typedef enum {
+typedef enum
+{
   GST_AVI_DEMUX_START,
   GST_AVI_DEMUX_HEADER,
   GST_AVI_DEMUX_MOVI,
 } GstAviDemuxState;
 
-typedef struct _GstAviDemux {
-  GstRiffRead   parent;
+typedef struct _GstAviDemux
+{
+  GstRiffRead parent;
 
   /* pads */
-  GstPad       *sinkpad;
+  GstPad *sinkpad;
 
   /* AVI decoding state */
   GstAviDemuxState state;
-  guint          level_up;
+  guint level_up;
 
   /* index */
   gst_avi_index_entry *index_entries;
-  guint         index_size;
-  guint64       index_offset;
+  guint index_size;
+  guint64 index_offset;
 
   /* streams */
-  guint         num_streams;
-  guint         num_v_streams;
-  guint         num_a_streams;
+  guint num_streams;
+  guint num_v_streams;
+  guint num_a_streams;
   avi_stream_context stream[GST_AVI_DEMUX_MAX_STREAMS];
 
   /* some stream info for length */
-  guint32       us_per_frame;
-  guint32       num_frames;
+  guint32 us_per_frame;
+  guint32 num_frames;
 
   /* seeking */
-  guint64       seek_offset;
-  guint64       last_seek;
+  guint64 seek_offset;
+  guint64 last_seek;
 
   /* info */
-  GstCaps      *streaminfo;
+  GstCaps *streaminfo;
 } GstAviDemux;
 
-typedef struct _GstAviDemuxClass {
+typedef struct _GstAviDemuxClass
+{
   GstRiffReadClass parent_class;
 } GstAviDemuxClass;
 
-GType          gst_avi_demux_get_type          (void);
+GType gst_avi_demux_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_AVI_DEMUX_H__ */
index a064378..f5287db 100644 (file)
 #endif
 
 /* AviMux signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_BIGFILE,
 };
 
-static GstStaticPadTemplate src_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("video/x-msvideo")
-);
-    
+static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-msvideo")
+    );
+
 static GstStaticPadTemplate video_sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "video_%d",
-  GST_PAD_SINK,
-  GST_PAD_REQUEST,
-  GST_STATIC_CAPS (
-    "video/x-raw-yuv, "
-      "format = (fourcc) { YUY2, I420 }, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ]; "
-    "video/x-jpeg, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ]; "
-    "video/x-divx, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ], "
-      "divxversion = (int) [ 3, 5 ]; "
-    "video/x-xvid, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ]; "
-    "video/x-3ivx, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ]; "
-    "video/x-msmpeg, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ], "
-      "msmpegversion = (int) [ 41, 43 ]; "
-    "video/mpeg, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ], "
-      "mpegversion = (int) 1, "
-      "systemstream = (boolean) FALSE; "
-    "video/x-h263, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ]; "
-    "video/x-dv, "
-      "width = (int) 720, "
-      "height = (int) { 576, 480 }, "
-      "systemstream = (boolean) FALSE; "
-    "video/x-huffyuv, "
-      "width = (int) [ 16, 4096 ], "
-      "height = (int) [ 16, 4096 ]"
-  )
-);
-    
+    GST_STATIC_PAD_TEMPLATE ("video_%d",
+    GST_PAD_SINK,
+    GST_PAD_REQUEST,
+    GST_STATIC_CAPS ("video/x-raw-yuv, "
+       "format = (fourcc) { YUY2, I420 }, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ]; "
+       "video/x-jpeg, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ]; "
+       "video/x-divx, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ], "
+       "divxversion = (int) [ 3, 5 ]; "
+       "video/x-xvid, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ]; "
+       "video/x-3ivx, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ]; "
+       "video/x-msmpeg, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ], "
+       "msmpegversion = (int) [ 41, 43 ]; "
+       "video/mpeg, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ], "
+       "mpegversion = (int) 1, "
+       "systemstream = (boolean) FALSE; "
+       "video/x-h263, "
+       "width = (int) [ 16, 4096 ], "
+       "height = (int) [ 16, 4096 ]; "
+       "video/x-dv, "
+       "width = (int) 720, "
+       "height = (int) { 576, 480 }, "
+       "systemstream = (boolean) FALSE; "
+       "video/x-huffyuv, "
+       "width = (int) [ 16, 4096 ], " "height = (int) [ 16, 4096 ]")
+    );
+
 static GstStaticPadTemplate audio_sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "audio_%d",
-  GST_PAD_SINK,
-  GST_PAD_REQUEST,
-  GST_STATIC_CAPS (
-    "audio/x-raw-int, "
-      "endianness = (int) LITTLE_ENDIAN, "
-      "signed = (boolean) { TRUE, FALSE }, "
-      "width = (int) { 8, 16 }, "
-      "depth = (int) { 8, 16 }, "
-      "rate = (int) [ 1000, 96000 ], "
-      "channels = (int) [ 1, 2 ]; "
-    "audio/mpeg, "
-      "mpegversion = (int) 1, "
-      "layer = (int) [ 1, 3 ], "
-      "rate = (int) [ 1000, 96000 ], "
-      "channels = (int) [ 1, 2 ]; "
-    "audio/x-vorbis, "
-      "rate = (int) [ 1000, 96000 ], "
-      "channels = (int) [ 1, 2 ]; "
-    "audio/x-ac3, "
-      "rate = (int) [ 1000, 96000 ], "
-      "channels = (int) [ 1, 2 ]"
-  )
-);
-    
-
-static void    gst_avimux_base_init                 (gpointer g_class);
-static void    gst_avimux_class_init                (GstAviMuxClass *klass);
-static void    gst_avimux_init                      (GstAviMux      *avimux);
-
-static void     gst_avimux_loop                      (GstElement     *element);
-static gboolean gst_avimux_handle_event              (GstPad         *pad,
-                                                      GstEvent       *event);
-static GstPad*  gst_avimux_request_new_pad           (GstElement     *element,
-                                                      GstPadTemplate *templ,
-                                                      const gchar    *name);
-static void     gst_avimux_set_property              (GObject        *object,
-                                                      guint           prop_id,
-                                                      const GValue   *value,
-                                                      GParamSpec     *pspec);
-static void     gst_avimux_get_property              (GObject        *object,
-                                                      guint           prop_id,
-                                                      GValue         *value,
-                                                      GParamSpec     *pspec);
-static GstElementStateReturn gst_avimux_change_state (GstElement     *element);
+    GST_STATIC_PAD_TEMPLATE ("audio_%d",
+    GST_PAD_SINK,
+    GST_PAD_REQUEST,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) LITTLE_ENDIAN, "
+       "signed = (boolean) { TRUE, FALSE }, "
+       "width = (int) { 8, 16 }, "
+       "depth = (int) { 8, 16 }, "
+       "rate = (int) [ 1000, 96000 ], "
+       "channels = (int) [ 1, 2 ]; "
+       "audio/mpeg, "
+       "mpegversion = (int) 1, "
+       "layer = (int) [ 1, 3 ], "
+       "rate = (int) [ 1000, 96000 ], "
+       "channels = (int) [ 1, 2 ]; "
+       "audio/x-vorbis, "
+       "rate = (int) [ 1000, 96000 ], "
+       "channels = (int) [ 1, 2 ]; "
+       "audio/x-ac3, "
+       "rate = (int) [ 1000, 96000 ], " "channels = (int) [ 1, 2 ]")
+    );
+
+
+static void gst_avimux_base_init (gpointer g_class);
+static void gst_avimux_class_init (GstAviMuxClass * klass);
+static void gst_avimux_init (GstAviMux * avimux);
+
+static void gst_avimux_loop (GstElement * element);
+static gboolean gst_avimux_handle_event (GstPad * pad, GstEvent * event);
+static GstPad *gst_avimux_request_new_pad (GstElement * element,
+    GstPadTemplate * templ, const gchar * name);
+static void gst_avimux_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_avimux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_avimux_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_avimux_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_avimux_get_type (void) 
+gst_avimux_get_type (void)
 {
   static GType avimux_type = 0;
 
   if (!avimux_type) {
     static const GTypeInfo avimux_info = {
-      sizeof(GstAviMuxClass),      
+      sizeof (GstAviMuxClass),
       gst_avimux_base_init,
       NULL,
-      (GClassInitFunc)gst_avimux_class_init,
+      (GClassInitFunc) gst_avimux_class_init,
       NULL,
       NULL,
-      sizeof(GstAviMux),
+      sizeof (GstAviMux),
       0,
-      (GInstanceInitFunc)gst_avimux_init,
+      (GInstanceInitFunc) gst_avimux_init,
     };
-    avimux_type = g_type_register_static(GST_TYPE_ELEMENT, "GstAviMux", &avimux_info, 0);
+    avimux_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstAviMux", &avimux_info, 0);
   }
   return avimux_type;
 }
@@ -185,12 +173,11 @@ static void
 gst_avimux_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  static GstElementDetails gst_avimux_details = GST_ELEMENT_DETAILS (
-    "Avi multiplexer",
-    "Codec/Muxer",
-    "Muxes audio and video into an avi stream",
-    "Ronald Bultje <rbultje@ronald.bitfreak.net>"
-  );
+  static GstElementDetails gst_avimux_details =
+      GST_ELEMENT_DETAILS ("Avi multiplexer",
+      "Codec/Muxer",
+      "Muxes audio and video into an avi stream",
+      "Ronald Bultje <rbultje@ronald.bitfreak.net>");
 
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&src_factory));
@@ -203,20 +190,19 @@ gst_avimux_base_init (gpointer g_class)
 }
 
 static void
-gst_avimux_class_init (GstAviMuxClass *klass) 
+gst_avimux_class_init (GstAviMuxClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BIGFILE,
-    g_param_spec_boolean("bigfile","Bigfile Support",
-                        "Support for openDML-2.0 (big) AVI files",
-    0,G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BIGFILE,
+      g_param_spec_boolean ("bigfile", "Bigfile Support",
+         "Support for openDML-2.0 (big) AVI files", 0, G_PARAM_READWRITE));
 
   gstelement_class->request_new_pad = gst_avimux_request_new_pad;
 
@@ -227,26 +213,27 @@ gst_avimux_class_init (GstAviMuxClass *klass)
 }
 
 static const GstEventMask *
-gst_avimux_get_event_masks (GstPad *pad)
+gst_avimux_get_event_masks (GstPad * pad)
 {
   static const GstEventMask gst_avimux_sink_event_masks[] = {
-    { GST_EVENT_EOS, 0 },
-    { 0, }
+    {GST_EVENT_EOS, 0},
+    {0,}
   };
 
   return gst_avimux_sink_event_masks;
 }
 
-static void 
-gst_avimux_init (GstAviMux *avimux) 
+static void
+gst_avimux_init (GstAviMux * avimux)
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (avimux);
 
-  avimux->srcpad = gst_pad_new_from_template (
-                 gst_element_class_get_pad_template (klass, "src"), "src");
+  avimux->srcpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template (klass,
+         "src"), "src");
   gst_element_add_pad (GST_ELEMENT (avimux), avimux->srcpad);
 
-  GST_FLAG_SET (GST_ELEMENT(avimux), GST_ELEMENT_EVENT_AWARE);
+  GST_FLAG_SET (GST_ELEMENT (avimux), GST_ELEMENT_EVENT_AWARE);
 
   avimux->audiosinkpad = NULL;
   avimux->audio_pad_connected = FALSE;
@@ -259,15 +246,15 @@ gst_avimux_init (GstAviMux *avimux)
   avimux->num_frames = 0;
 
   /* audio/video/AVI header initialisation */
-  memset(&(avimux->avi_hdr),0,sizeof(gst_riff_avih));
-  memset(&(avimux->vids_hdr),0,sizeof(gst_riff_strh));
-  memset(&(avimux->vids),0,sizeof(gst_riff_strf_vids));
-  memset(&(avimux->auds_hdr),0,sizeof(gst_riff_strh));
-  memset(&(avimux->auds),0,sizeof(gst_riff_strf_auds));
-  avimux->vids_hdr.type = GST_MAKE_FOURCC('v','i','d','s');
+  memset (&(avimux->avi_hdr), 0, sizeof (gst_riff_avih));
+  memset (&(avimux->vids_hdr), 0, sizeof (gst_riff_strh));
+  memset (&(avimux->vids), 0, sizeof (gst_riff_strf_vids));
+  memset (&(avimux->auds_hdr), 0, sizeof (gst_riff_strh));
+  memset (&(avimux->auds), 0, sizeof (gst_riff_strf_auds));
+  avimux->vids_hdr.type = GST_MAKE_FOURCC ('v', 'i', 'd', 's');
   avimux->vids_hdr.rate = 1000000;
   avimux->avi_hdr.max_bps = 10000000;
-  avimux->auds_hdr.type = GST_MAKE_FOURCC('a','u','d','s');
+  avimux->auds_hdr.type = GST_MAKE_FOURCC ('a', 'u', 'd', 's');
   avimux->vids_hdr.quality = 0xFFFFFFFF;
   avimux->auds_hdr.quality = 0xFFFFFFFF;
 
@@ -277,33 +264,34 @@ gst_avimux_init (GstAviMux *avimux)
 
   avimux->enable_large_avi = TRUE;
 
-  gst_element_set_loop_function(GST_ELEMENT(avimux), gst_avimux_loop);
+  gst_element_set_loop_function (GST_ELEMENT (avimux), gst_avimux_loop);
 }
 
 static GstPadLinkReturn
-gst_avimux_vidsinkconnect (GstPad *pad, const GstCaps *vscaps)
+gst_avimux_vidsinkconnect (GstPad * pad, const GstCaps * vscaps)
 {
   GstAviMux *avimux;
   GstStructure *structure;
-  const gcharmimetype;
+  const gchar *mimetype;
   gdouble fps = 0.;
   gboolean ret;
 
   avimux = GST_AVIMUX (gst_pad_get_parent (pad));
 
   GST_DEBUG ("avimux: video sinkconnect triggered on %s",
-            gst_pad_get_name (pad));
+      gst_pad_get_name (pad));
 
   structure = gst_caps_get_structure (vscaps, 0);
   mimetype = gst_structure_get_name (structure);
 
   /* global */
-  avimux->vids.size        = sizeof(gst_riff_strf_vids);
-  avimux->vids.planes      = 1;
+  avimux->vids.size = sizeof (gst_riff_strf_vids);
+  avimux->vids.planes = 1;
   ret = gst_structure_get_int (structure, "width", &avimux->vids.width);
   ret &= gst_structure_get_int (structure, "height", &avimux->vids.height);
   ret &= gst_structure_get_double (structure, "framerate", &fps);
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   if (fps != 0.)
     avimux->vids_hdr.scale = avimux->vids_hdr.rate / fps;
@@ -313,13 +301,12 @@ gst_avimux_vidsinkconnect (GstPad *pad, const GstCaps *vscaps)
 
     gst_structure_get_fourcc (structure, "format", &format);
     avimux->vids.compression = format;
-    switch (format)
-    {
-      case GST_MAKE_FOURCC('Y','U','Y','2'):
-       avimux->vids.bit_cnt     = 16;
+    switch (format) {
+      case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'):
+       avimux->vids.bit_cnt = 16;
        break;
-      case GST_MAKE_FOURCC('I','4','2','0'):
-       avimux->vids.bit_cnt     = 12;
+      case GST_MAKE_FOURCC ('I', '4', '2', '0'):
+       avimux->vids.bit_cnt = 12;
        break;
     }
   } else {
@@ -328,47 +315,49 @@ gst_avimux_vidsinkconnect (GstPad *pad, const GstCaps *vscaps)
 
     /* find format */
     if (!strcmp (mimetype, "video/x-huffyuv")) {
-      avimux->vids.compression = GST_MAKE_FOURCC('H','F','Y','U');
+      avimux->vids.compression = GST_MAKE_FOURCC ('H', 'F', 'Y', 'U');
     } else if (!strcmp (mimetype, "video/x-jpeg")) {
-      avimux->vids.compression = GST_MAKE_FOURCC('M','J','P','G');
+      avimux->vids.compression = GST_MAKE_FOURCC ('M', 'J', 'P', 'G');
     } else if (!strcmp (mimetype, "video/x-divx")) {
       gint divxversion;
+
       gst_structure_get_int (structure, "divxversion", &divxversion);
       switch (divxversion) {
        case 3:
-         avimux->vids.compression = GST_MAKE_FOURCC('D','I','V','3');
+         avimux->vids.compression = GST_MAKE_FOURCC ('D', 'I', 'V', '3');
          break;
        case 4:
-         avimux->vids.compression = GST_MAKE_FOURCC('D','I','V','X');
+         avimux->vids.compression = GST_MAKE_FOURCC ('D', 'I', 'V', 'X');
          break;
        case 5:
-         avimux->vids.compression = GST_MAKE_FOURCC('D','X','5','0');
-            break;
+         avimux->vids.compression = GST_MAKE_FOURCC ('D', 'X', '5', '0');
+         break;
       }
     } else if (!strcmp (mimetype, "video/x-xvid")) {
-      avimux->vids.compression = GST_MAKE_FOURCC('X','V','I','D');
+      avimux->vids.compression = GST_MAKE_FOURCC ('X', 'V', 'I', 'D');
     } else if (!strcmp (mimetype, "video/x-3ivx")) {
-      avimux->vids.compression = GST_MAKE_FOURCC('3','I','V','2');
+      avimux->vids.compression = GST_MAKE_FOURCC ('3', 'I', 'V', '2');
     } else if (!strcmp (mimetype, "video/x-msmpeg")) {
       gint msmpegversion;
+
       gst_structure_get_int (structure, "msmpegversion", &msmpegversion);
       switch (msmpegversion) {
        case 41:
-         avimux->vids.compression = GST_MAKE_FOURCC('M','P','G','4');
+         avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', 'G', '4');
          break;
        case 42:
-         avimux->vids.compression = GST_MAKE_FOURCC('M','P','4','2');
+         avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', '4', '2');
          break;
        case 43:
-         avimux->vids.compression = GST_MAKE_FOURCC('M','P','4','3');
+         avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', '4', '3');
          break;
       }
     } else if (!strcmp (mimetype, "video/x-dv")) {
-      avimux->vids.compression = GST_MAKE_FOURCC('D','V','S','D');
+      avimux->vids.compression = GST_MAKE_FOURCC ('D', 'V', 'S', 'D');
     } else if (!strcmp (mimetype, "video/x-h263")) {
-      avimux->vids.compression = GST_MAKE_FOURCC('H','2','6','3');
+      avimux->vids.compression = GST_MAKE_FOURCC ('H', '2', '6', '3');
     } else if (!strcmp (mimetype, "video/mpeg")) {
-      avimux->vids.compression = GST_MAKE_FOURCC('M','P','E','G');
+      avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', 'E', 'G');
     }
 
     if (!avimux->vids.compression) {
@@ -385,17 +374,17 @@ gst_avimux_vidsinkconnect (GstPad *pad, const GstCaps *vscaps)
 }
 
 static GstPadLinkReturn
-gst_avimux_audsinkconnect (GstPad *pad, const GstCaps *vscaps)
+gst_avimux_audsinkconnect (GstPad * pad, const GstCaps * vscaps)
 {
   GstAviMux *avimux;
   GstStructure *structure;
-  const gcharmimetype;
+  const gchar *mimetype;
   int i;
 
   avimux = GST_AVIMUX (gst_pad_get_parent (pad));
 
   GST_DEBUG ("avimux: audio sinkconnect triggered on %s",
-            gst_pad_get_name (pad));
+      gst_pad_get_name (pad));
 
   structure = gst_caps_get_structure (vscaps, 0);
   mimetype = gst_structure_get_name (structure);
@@ -407,7 +396,7 @@ gst_avimux_audsinkconnect (GstPad *pad, const GstCaps *vscaps)
   avimux->auds.rate = i;
 
   if (!strcmp (mimetype, "audio/x-raw-int")) {
-    avimux->auds.format      = GST_RIFF_WAVE_FORMAT_PCM;
+    avimux->auds.format = GST_RIFF_WAVE_FORMAT_PCM;
 
     gst_structure_get_int (structure, "width", &i);
     avimux->auds.blockalign = i;
@@ -419,18 +408,20 @@ gst_avimux_audsinkconnect (GstPad *pad, const GstCaps *vscaps)
     avimux->auds.blockalign *= avimux->auds.channels;
     avimux->auds.av_bps = avimux->auds.blockalign * avimux->auds.rate;
   } else if (!strcmp (mimetype, "audio/mpeg") ||
-            !strcmp (mimetype, "audio/x-vorbis") ||
-            !strcmp (mimetype, "audio/x-ac3")) {
+      !strcmp (mimetype, "audio/x-vorbis") ||
+      !strcmp (mimetype, "audio/x-ac3")) {
     avimux->auds.format = 0;
 
     if (!strcmp (mimetype, "audio/mpeg")) {
       gint layer = 3;
+
       gst_structure_get_int (structure, "layer", &layer);
       switch (layer) {
        case 3:
          avimux->auds.format = GST_RIFF_WAVE_FORMAT_MPEGL3;
          break;
-       case 1: case 2:
+       case 1:
+       case 2:
          avimux->auds.format = GST_RIFF_WAVE_FORMAT_MPEGL12;
          break;
       }
@@ -449,31 +440,24 @@ gst_avimux_audsinkconnect (GstPad *pad, const GstCaps *vscaps)
     }
   }
 
-  avimux->auds_hdr.rate = avimux->auds.blockalign * avimux->auds.rate; 
+  avimux->auds_hdr.rate = avimux->auds.blockalign * avimux->auds.rate;
   avimux->auds_hdr.samplesize = avimux->auds.blockalign;
   avimux->auds_hdr.scale = avimux->auds.blockalign;
   return GST_PAD_LINK_OK;
 }
 
 static void
-gst_avimux_pad_link (GstPad   *pad,
-                     GstPad   *peer,
-                     gpointer  data)
+gst_avimux_pad_link (GstPad * pad, GstPad * peer, gpointer data)
 {
-  GstAviMux *avimux = GST_AVIMUX(data);
+  GstAviMux *avimux = GST_AVIMUX (data);
   const gchar *padname = gst_pad_get_name (pad);
 
-  if (pad == avimux->audiosinkpad)
-  {
+  if (pad == avimux->audiosinkpad) {
     avimux->audio_pad_connected = TRUE;
-  }
-  else if (pad == avimux->videosinkpad)
-  {
+  } else if (pad == avimux->videosinkpad) {
     avimux->video_pad_connected = TRUE;
-  }
-  else
-  {
-    g_warning("Unknown padname '%s'", padname);
+  } else {
+    g_warning ("Unknown padname '%s'", padname);
     return;
   }
 
@@ -481,36 +465,28 @@ gst_avimux_pad_link (GstPad   *pad,
 }
 
 static void
-gst_avimux_pad_unlink (GstPad   *pad,
-                       GstPad   *peer,
-                       gpointer  data)
+gst_avimux_pad_unlink (GstPad * pad, GstPad * peer, gpointer data)
 {
-  GstAviMux *avimux = GST_AVIMUX(data);
+  GstAviMux *avimux = GST_AVIMUX (data);
   const gchar *padname = gst_pad_get_name (pad);
 
-  if (pad == avimux->audiosinkpad)
-  {
+  if (pad == avimux->audiosinkpad) {
     avimux->audio_pad_connected = FALSE;
     avimux->audiosinkpad = NULL;
-  }
-  else if (pad == avimux->videosinkpad)
-  {
+  } else if (pad == avimux->videosinkpad) {
     avimux->video_pad_connected = FALSE;
     avimux->videosinkpad = NULL;
-  }
-  else
-  {
-    g_warning("Unknown padname '%s'", padname);
+  } else {
+    g_warning ("Unknown padname '%s'", padname);
     return;
   }
 
   GST_DEBUG ("pad '%s' unlinked", padname);
 }
 
-static GstPad*
-gst_avimux_request_new_pad (GstElement     *element,
-                           GstPadTemplate *templ,
-                           const gchar    *req_name)
+static GstPad *
+gst_avimux_request_new_pad (GstElement * element,
+    GstPadTemplate * templ, const gchar * req_name)
 {
   GstAviMux *avimux;
   GstPad *newpad;
@@ -528,29 +504,27 @@ gst_avimux_request_new_pad (GstElement     *element,
   avimux = GST_AVIMUX (element);
 
   if (templ == gst_element_class_get_pad_template (klass, "audio_%d")) {
-    g_return_val_if_fail(avimux->audiosinkpad == NULL, NULL);
+    g_return_val_if_fail (avimux->audiosinkpad == NULL, NULL);
     newpad = gst_pad_new_from_template (templ, "audio_00");
     gst_pad_set_link_function (newpad, gst_avimux_audsinkconnect);
     avimux->audiosinkpad = newpad;
-  }
-  else if (templ == gst_element_class_get_pad_template (klass, "video_%d")) {
-    g_return_val_if_fail(avimux->videosinkpad == NULL, NULL);
+  } else if (templ == gst_element_class_get_pad_template (klass, "video_%d")) {
+    g_return_val_if_fail (avimux->videosinkpad == NULL, NULL);
     newpad = gst_pad_new_from_template (templ, "video_00");
     gst_pad_set_link_function (newpad, gst_avimux_vidsinkconnect);
     avimux->videosinkpad = newpad;
-  }
-  else {
+  } else {
     g_warning ("avimux: this is not our template!\n");
     return NULL;
   }
 
-  g_signal_connect(newpad, "linked",
-    G_CALLBACK(gst_avimux_pad_link), (gpointer)avimux);
-  g_signal_connect(newpad, "unlinked",
-    G_CALLBACK(gst_avimux_pad_unlink), (gpointer)avimux);
+  g_signal_connect (newpad, "linked",
+      G_CALLBACK (gst_avimux_pad_link), (gpointer) avimux);
+  g_signal_connect (newpad, "unlinked",
+      G_CALLBACK (gst_avimux_pad_unlink), (gpointer) avimux);
   gst_element_add_pad (element, newpad);
-  gst_pad_set_event_mask_function(newpad, gst_avimux_get_event_masks);
-  
+  gst_pad_set_event_mask_function (newpad, gst_avimux_get_event_masks);
+
   return newpad;
 }
 
@@ -559,215 +533,301 @@ gst_avimux_request_new_pad (GstElement     *element,
 /* DISCLAIMER: this function is ugly. So be it (i.e. it makes the rest easier) */
 
 static GstBuffer *
-gst_avimux_riff_get_avi_header (GstAviMux *avimux)
+gst_avimux_riff_get_avi_header (GstAviMux * avimux)
 {
   GstBuffer *buffer;
   guint8 *buffdata;
   guint16 temp16;
   guint32 temp32;
 
-  buffer = gst_buffer_new();
+  buffer = gst_buffer_new ();
 
   /* first, let's see what actually needs to be in the buffer */
-  GST_BUFFER_SIZE(buffer) = 0;
-  GST_BUFFER_SIZE(buffer) += 32 + sizeof(gst_riff_avih); /* avi header */
-  if (avimux->video_pad_connected)
-  { /* we have video */
-    GST_BUFFER_SIZE(buffer) += 28 + sizeof(gst_riff_strh) + sizeof(gst_riff_strf_vids); /* vid hdr */
-    GST_BUFFER_SIZE(buffer) += 24; /* odml header */
+  GST_BUFFER_SIZE (buffer) = 0;
+  GST_BUFFER_SIZE (buffer) += 32 + sizeof (gst_riff_avih);     /* avi header */
+  if (avimux->video_pad_connected) {   /* we have video */
+    GST_BUFFER_SIZE (buffer) += 28 + sizeof (gst_riff_strh) + sizeof (gst_riff_strf_vids);     /* vid hdr */
+    GST_BUFFER_SIZE (buffer) += 24;    /* odml header */
   }
-  if (avimux->audio_pad_connected)
-  { /* we have audio */
-    GST_BUFFER_SIZE(buffer) += 28 + sizeof(gst_riff_strh) + sizeof(gst_riff_strf_auds); /* aud hdr */
+  if (avimux->audio_pad_connected) {   /* we have audio */
+    GST_BUFFER_SIZE (buffer) += 28 + sizeof (gst_riff_strh) + sizeof (gst_riff_strf_auds);     /* aud hdr */
   }
   /* this is the "riff size" */
-  avimux->header_size = GST_BUFFER_SIZE(buffer);
-  GST_BUFFER_SIZE(buffer) += 12; /* avi data header */
+  avimux->header_size = GST_BUFFER_SIZE (buffer);
+  GST_BUFFER_SIZE (buffer) += 12;      /* avi data header */
 
   /* allocate the buffer */
-  buffdata = GST_BUFFER_DATA(buffer) = g_malloc(GST_BUFFER_SIZE(buffer));
+  buffdata = GST_BUFFER_DATA (buffer) = g_malloc (GST_BUFFER_SIZE (buffer));
 
   /* avi header metadata */
-  memcpy(buffdata, "RIFF", 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->header_size + avimux->idx_size + avimux->data_size);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  memcpy(buffdata, "AVI ", 4); buffdata += 4;
-  memcpy(buffdata, "LIST", 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->header_size - 4*5);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  memcpy(buffdata, "hdrl", 4); buffdata += 4;
-  memcpy(buffdata, "avih", 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(sizeof(gst_riff_avih));
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
+  memcpy (buffdata, "RIFF", 4);
+  buffdata += 4;
+  temp32 =
+      LE_FROM_GUINT32 (avimux->header_size + avimux->idx_size +
+      avimux->data_size);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  memcpy (buffdata, "AVI ", 4);
+  buffdata += 4;
+  memcpy (buffdata, "LIST", 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->header_size - 4 * 5);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  memcpy (buffdata, "hdrl", 4);
+  buffdata += 4;
+  memcpy (buffdata, "avih", 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (sizeof (gst_riff_avih));
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
   /* the AVI header itself */
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.us_frame);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.max_bps);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.pad_gran);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.flags);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.tot_frames);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.init_frames);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.streams);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.bufsize);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.width);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.height);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.scale);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.rate);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.start);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->avi_hdr.length);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-
-  if (avimux->video_pad_connected)
-  {
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.us_frame);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.max_bps);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.pad_gran);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.flags);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.tot_frames);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.init_frames);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.streams);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.bufsize);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.width);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.height);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.scale);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.rate);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.start);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->avi_hdr.length);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+
+  if (avimux->video_pad_connected) {
     /* video header metadata */
-    memcpy(buffdata, "LIST", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(gst_riff_strh) + sizeof(gst_riff_strf_vids) + 4*5);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    memcpy(buffdata, "strl", 4); buffdata += 4;
+    memcpy (buffdata, "LIST", 4);
+    buffdata += 4;
+    temp32 =
+       LE_FROM_GUINT32 (sizeof (gst_riff_strh) + sizeof (gst_riff_strf_vids) +
+       4 * 5);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    memcpy (buffdata, "strl", 4);
+    buffdata += 4;
     /* generic header */
-    memcpy(buffdata, "strh", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(gst_riff_strh));
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    memcpy (buffdata, "strh", 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (sizeof (gst_riff_strh));
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
     /* the actual header */
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.type);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.fcc_handler);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.flags);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.priority);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.init_frames);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.scale);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.rate);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.start);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.length);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.bufsize);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.quality);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids_hdr.samplesize);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.type);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.fcc_handler);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.flags);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.priority);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.init_frames);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.scale);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.rate);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.start);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.length);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.bufsize);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.quality);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids_hdr.samplesize);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
     /* the video header */
-    memcpy(buffdata, "strf", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(gst_riff_strf_vids));
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    memcpy (buffdata, "strf", 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (sizeof (gst_riff_strf_vids));
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
     /* the actual header */
-    temp32 = LE_FROM_GUINT32(avimux->vids.size);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids.width);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids.height);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp16 = LE_FROM_GUINT16(avimux->vids.planes);
-    memcpy(buffdata, &temp16, 2); buffdata += 2;
-    temp16 = LE_FROM_GUINT16(avimux->vids.bit_cnt);
-    memcpy(buffdata, &temp16, 2); buffdata += 2;
-    temp32 = LE_FROM_GUINT32(avimux->vids.compression);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids.image_size);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids.xpels_meter);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids.ypels_meter);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids.num_colors);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->vids.imp_colors);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.size);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.width);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.height);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp16 = LE_FROM_GUINT16 (avimux->vids.planes);
+    memcpy (buffdata, &temp16, 2);
+    buffdata += 2;
+    temp16 = LE_FROM_GUINT16 (avimux->vids.bit_cnt);
+    memcpy (buffdata, &temp16, 2);
+    buffdata += 2;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.compression);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.image_size);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.xpels_meter);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.ypels_meter);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.num_colors);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->vids.imp_colors);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
   }
 
-  if (avimux->audio_pad_connected)
-  {
+  if (avimux->audio_pad_connected) {
     /* audio header */
-    memcpy(buffdata, "LIST", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(gst_riff_strh) + sizeof(gst_riff_strf_auds) + 4*5);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    memcpy(buffdata, "strl", 4); buffdata += 4;
+    memcpy (buffdata, "LIST", 4);
+    buffdata += 4;
+    temp32 =
+       LE_FROM_GUINT32 (sizeof (gst_riff_strh) + sizeof (gst_riff_strf_auds) +
+       4 * 5);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    memcpy (buffdata, "strl", 4);
+    buffdata += 4;
     /* generic header */
-    memcpy(buffdata, "strh", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(gst_riff_strh));
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    memcpy (buffdata, "strh", 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (sizeof (gst_riff_strh));
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
     /* the actual header */
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.type);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.fcc_handler);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.flags);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.priority);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.init_frames);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.scale);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.rate);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.start);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.length);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.bufsize);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.quality);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds_hdr.samplesize);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.type);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.fcc_handler);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.flags);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.priority);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.init_frames);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.scale);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.rate);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.start);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.length);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.bufsize);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.quality);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds_hdr.samplesize);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
     /* the audio header */
-    memcpy(buffdata, "strf", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(gst_riff_strf_auds));
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    memcpy (buffdata, "strf", 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (sizeof (gst_riff_strf_auds));
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
     /* the actual header */
-    temp16 = LE_FROM_GUINT16(avimux->auds.format);
-    memcpy(buffdata, &temp16, 2); buffdata += 2;
-    temp16 = LE_FROM_GUINT16(avimux->auds.channels);
-    memcpy(buffdata, &temp16, 2); buffdata += 2;
-    temp32 = LE_FROM_GUINT32(avimux->auds.rate);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->auds.av_bps);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp16 = LE_FROM_GUINT16(avimux->auds.blockalign);
-    memcpy(buffdata, &temp16, 2); buffdata += 2;
-    temp16 = LE_FROM_GUINT16(avimux->auds.size);
-    memcpy(buffdata, &temp16, 2); buffdata += 2;
+    temp16 = LE_FROM_GUINT16 (avimux->auds.format);
+    memcpy (buffdata, &temp16, 2);
+    buffdata += 2;
+    temp16 = LE_FROM_GUINT16 (avimux->auds.channels);
+    memcpy (buffdata, &temp16, 2);
+    buffdata += 2;
+    temp32 = LE_FROM_GUINT32 (avimux->auds.rate);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->auds.av_bps);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp16 = LE_FROM_GUINT16 (avimux->auds.blockalign);
+    memcpy (buffdata, &temp16, 2);
+    buffdata += 2;
+    temp16 = LE_FROM_GUINT16 (avimux->auds.size);
+    memcpy (buffdata, &temp16, 2);
+    buffdata += 2;
   }
 
-  if (avimux->video_pad_connected)
-  {
+  if (avimux->video_pad_connected) {
     /* odml header */
-    memcpy(buffdata, "LIST", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(guint32)+4*3);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    memcpy(buffdata, "odml", 4); buffdata += 4;
-    memcpy(buffdata, "dmlh", 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(sizeof(guint32));
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
-    temp32 = LE_FROM_GUINT32(avimux->total_frames);
-    memcpy(buffdata, &temp32, 4); buffdata += 4;
+    memcpy (buffdata, "LIST", 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (sizeof (guint32) + 4 * 3);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    memcpy (buffdata, "odml", 4);
+    buffdata += 4;
+    memcpy (buffdata, "dmlh", 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (sizeof (guint32));
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
+    temp32 = LE_FROM_GUINT32 (avimux->total_frames);
+    memcpy (buffdata, &temp32, 4);
+    buffdata += 4;
   }
 
   /* avi data header */
-  memcpy(buffdata, "LIST", 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(avimux->data_size);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  memcpy(buffdata, "movi", 4);
+  memcpy (buffdata, "LIST", 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (avimux->data_size);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  memcpy (buffdata, "movi", 4);
 
   return buffer;
 }
@@ -779,18 +839,23 @@ gst_avimux_riff_get_avix_header (guint32 datax_size)
   guint8 *buffdata;
   guint32 temp32;
 
-  buffer = gst_buffer_new();
-  GST_BUFFER_SIZE(buffer) = 24;
-  buffdata = GST_BUFFER_DATA(buffer) = g_malloc(GST_BUFFER_SIZE(buffer));
-
-  memcpy(buffdata, "LIST", 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(datax_size+4*4);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  memcpy(buffdata, "AVIX", 4); buffdata += 4;
-  memcpy(buffdata, "LIST", 4); buffdata += 4;
-  temp32 = LE_FROM_GUINT32(datax_size);
-  memcpy(buffdata, &temp32, 4); buffdata += 4;
-  memcpy(buffdata, "movi", 4);
+  buffer = gst_buffer_new ();
+  GST_BUFFER_SIZE (buffer) = 24;
+  buffdata = GST_BUFFER_DATA (buffer) = g_malloc (GST_BUFFER_SIZE (buffer));
+
+  memcpy (buffdata, "LIST", 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (datax_size + 4 * 4);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  memcpy (buffdata, "AVIX", 4);
+  buffdata += 4;
+  memcpy (buffdata, "LIST", 4);
+  buffdata += 4;
+  temp32 = LE_FROM_GUINT32 (datax_size);
+  memcpy (buffdata, &temp32, 4);
+  buffdata += 4;
+  memcpy (buffdata, "movi", 4);
 
   return buffer;
 }
@@ -801,12 +866,12 @@ gst_avimux_riff_get_video_header (guint32 video_frame_size)
   GstBuffer *buffer;
   guint32 temp32;
 
-  buffer = gst_buffer_new();
-  GST_BUFFER_DATA(buffer) = g_malloc(8);
-  GST_BUFFER_SIZE(buffer) = 8;
-  memcpy(GST_BUFFER_DATA(buffer), "00db", 4);
-  temp32 = LE_FROM_GUINT32(video_frame_size);
-  memcpy(GST_BUFFER_DATA(buffer)+4, &temp32, 4);
+  buffer = gst_buffer_new ();
+  GST_BUFFER_DATA (buffer) = g_malloc (8);
+  GST_BUFFER_SIZE (buffer) = 8;
+  memcpy (GST_BUFFER_DATA (buffer), "00db", 4);
+  temp32 = LE_FROM_GUINT32 (video_frame_size);
+  memcpy (GST_BUFFER_DATA (buffer) + 4, &temp32, 4);
 
   return buffer;
 }
@@ -817,12 +882,12 @@ gst_avimux_riff_get_audio_header (guint32 audio_sample_size)
   GstBuffer *buffer;
   guint32 temp32;
 
-  buffer = gst_buffer_new();
-  GST_BUFFER_DATA(buffer) = g_malloc(8);
-  GST_BUFFER_SIZE(buffer) = 8;
-  memcpy(GST_BUFFER_DATA(buffer), "01wb", 4);
-  temp32 = LE_FROM_GUINT32(audio_sample_size);
-  memcpy(GST_BUFFER_DATA(buffer)+4, &temp32, 4);
+  buffer = gst_buffer_new ();
+  GST_BUFFER_DATA (buffer) = g_malloc (8);
+  GST_BUFFER_SIZE (buffer) = 8;
+  memcpy (GST_BUFFER_DATA (buffer), "01wb", 4);
+  temp32 = LE_FROM_GUINT32 (audio_sample_size);
+  memcpy (GST_BUFFER_DATA (buffer) + 4, &temp32, 4);
 
   return buffer;
 }
@@ -830,73 +895,70 @@ gst_avimux_riff_get_audio_header (guint32 audio_sample_size)
 /* some other usable functions (thankyou xawtv ;-) ) */
 
 static void
-gst_avimux_add_index (GstAviMux *avimux, guchar *code, guint32 flags, guint32 size)
+gst_avimux_add_index (GstAviMux * avimux, guchar * code, guint32 flags,
+    guint32 size)
 {
-  if (avimux->idx_index == avimux->idx_count)
-  {
+  if (avimux->idx_index == avimux->idx_count) {
     avimux->idx_count += 256;
-    avimux->idx = realloc(avimux->idx, avimux->idx_count*sizeof(gst_riff_index_entry));
+    avimux->idx =
+       realloc (avimux->idx,
+       avimux->idx_count * sizeof (gst_riff_index_entry));
   }
-  memcpy(&(avimux->idx[avimux->idx_index].id), code, 4);
-  avimux->idx[avimux->idx_index].flags = LE_FROM_GUINT32(flags);
-  avimux->idx[avimux->idx_index].offset = LE_FROM_GUINT32(avimux->idx_offset);
-  avimux->idx[avimux->idx_index].size = LE_FROM_GUINT32(size);
+  memcpy (&(avimux->idx[avimux->idx_index].id), code, 4);
+  avimux->idx[avimux->idx_index].flags = LE_FROM_GUINT32 (flags);
+  avimux->idx[avimux->idx_index].offset = LE_FROM_GUINT32 (avimux->idx_offset);
+  avimux->idx[avimux->idx_index].size = LE_FROM_GUINT32 (size);
   avimux->idx_index++;
 }
 
 static void
-gst_avimux_write_index (GstAviMux *avimux)
+gst_avimux_write_index (GstAviMux * avimux)
 {
   GstBuffer *buffer;
   guint32 temp32;
 
-  buffer = gst_buffer_new();
-  GST_BUFFER_SIZE(buffer) = 8;
-  GST_BUFFER_DATA(buffer) = g_malloc(8);
-  memcpy(GST_BUFFER_DATA(buffer), "idx1", 4);
-  temp32 = LE_FROM_GUINT32(avimux->idx_index * sizeof(gst_riff_index_entry)); 
-  memcpy(GST_BUFFER_DATA(buffer)+4, &temp32, 4);
-  gst_pad_push(avimux->srcpad, GST_DATA (buffer));
+  buffer = gst_buffer_new ();
+  GST_BUFFER_SIZE (buffer) = 8;
+  GST_BUFFER_DATA (buffer) = g_malloc (8);
+  memcpy (GST_BUFFER_DATA (buffer), "idx1", 4);
+  temp32 = LE_FROM_GUINT32 (avimux->idx_index * sizeof (gst_riff_index_entry));
+  memcpy (GST_BUFFER_DATA (buffer) + 4, &temp32, 4);
+  gst_pad_push (avimux->srcpad, GST_DATA (buffer));
 
-  buffer = gst_buffer_new();
-  GST_BUFFER_SIZE(buffer) = avimux->idx_index * sizeof(gst_riff_index_entry);
-  GST_BUFFER_DATA(buffer) = (unsigned char*) avimux->idx;
-  avimux->idx = NULL; /* will be free()'ed by gst_buffer_unref() */
-  avimux->total_data += GST_BUFFER_SIZE(buffer);
-  gst_pad_push(avimux->srcpad, GST_DATA (buffer));
+  buffer = gst_buffer_new ();
+  GST_BUFFER_SIZE (buffer) = avimux->idx_index * sizeof (gst_riff_index_entry);
+  GST_BUFFER_DATA (buffer) = (unsigned char *) avimux->idx;
+  avimux->idx = NULL;          /* will be free()'ed by gst_buffer_unref() */
+  avimux->total_data += GST_BUFFER_SIZE (buffer);
+  gst_pad_push (avimux->srcpad, GST_DATA (buffer));
 
-  avimux->idx_size += avimux->idx_index * sizeof(gst_riff_index_entry) + 8;
+  avimux->idx_size += avimux->idx_index * sizeof (gst_riff_index_entry) + 8;
 
   /* update header */
   avimux->avi_hdr.flags |= GST_RIFF_AVIH_HASINDEX;
 }
 
 static void
-gst_avimux_bigfile(GstAviMux *avimux, gboolean last)
+gst_avimux_bigfile (GstAviMux * avimux, gboolean last)
 {
   GstBuffer *header;
   GstEvent *event;
-    
-  if (avimux->is_bigfile)
-  {
+
+  if (avimux->is_bigfile) {
     /* sarch back */
-    event = gst_event_new_seek (GST_FORMAT_BYTES | 
-                               GST_SEEK_METHOD_SET | 
-                               GST_SEEK_FLAG_FLUSH, 
-                               avimux->avix_start);
+    event = gst_event_new_seek (GST_FORMAT_BYTES |
+       GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, avimux->avix_start);
     /* if the event succeeds */
-    gst_pad_push(avimux->srcpad, GST_DATA(event));
+    gst_pad_push (avimux->srcpad, GST_DATA (event));
 
     /* rewrite AVIX header */
-    header = gst_avimux_riff_get_avix_header(avimux->datax_size);
-    gst_pad_push(avimux->srcpad, GST_DATA (header));
+    header = gst_avimux_riff_get_avix_header (avimux->datax_size);
+    gst_pad_push (avimux->srcpad, GST_DATA (header));
 
     /* go back to current location */
-    event = gst_event_new_seek (GST_FORMAT_BYTES | 
-                               GST_SEEK_METHOD_SET |
-                               GST_SEEK_FLAG_FLUSH, 
-                               avimux->total_data);
-    gst_pad_push(avimux->srcpad, GST_DATA(event));
+    event = gst_event_new_seek (GST_FORMAT_BYTES |
+       GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH, avimux->total_data);
+    gst_pad_push (avimux->srcpad, GST_DATA (event));
   }
   avimux->avix_start = avimux->total_data;
 
@@ -907,21 +969,21 @@ gst_avimux_bigfile(GstAviMux *avimux, gboolean last)
   avimux->numx_frames = 0;
   avimux->datax_size = 0;
 
-  header = gst_avimux_riff_get_avix_header(0);
-  avimux->total_data += GST_BUFFER_SIZE(header);
-  gst_pad_push(avimux->srcpad, GST_DATA (header));
+  header = gst_avimux_riff_get_avix_header (0);
+  avimux->total_data += GST_BUFFER_SIZE (header);
+  gst_pad_push (avimux->srcpad, GST_DATA (header));
 }
 
 /* enough header blabla now, let's go on to actually writing the headers */
 
 static void
-gst_avimux_start_file (GstAviMux *avimux)
+gst_avimux_start_file (GstAviMux * avimux)
 {
   GstBuffer *header;
 
   avimux->total_data = 0;
   avimux->total_frames = 0;
-  avimux->data_size = 4; /* ? */
+  avimux->data_size = 4;       /* ? */
   avimux->datax_size = 0;
   avimux->num_frames = 0;
   avimux->numx_frames = 0;
@@ -930,41 +992,39 @@ gst_avimux_start_file (GstAviMux *avimux)
   avimux->avix_start = 0;
 
   avimux->idx_index = 0;
-  avimux->idx_offset = 0; /* see 10 lines below */
+  avimux->idx_offset = 0;      /* see 10 lines below */
   avimux->idx_size = 0;
   avimux->idx_count = 0;
   avimux->idx = NULL;
 
   /* header */
-  avimux->avi_hdr.streams = (avimux->video_pad_connected?1:0) + (avimux->audio_pad_connected?1:0);
+  avimux->avi_hdr.streams =
+      (avimux->video_pad_connected ? 1 : 0) +
+      (avimux->audio_pad_connected ? 1 : 0);
   avimux->is_bigfile = FALSE;
 
-  header = gst_avimux_riff_get_avi_header(avimux);
-  avimux->total_data += GST_BUFFER_SIZE(header);
+  header = gst_avimux_riff_get_avi_header (avimux);
+  avimux->total_data += GST_BUFFER_SIZE (header);
   avimux->idx_offset = avimux->total_data;
-  gst_pad_push(avimux->srcpad, GST_DATA (header));
+  gst_pad_push (avimux->srcpad, GST_DATA (header));
 
   avimux->write_header = FALSE;
   avimux->restart = FALSE;
 }
 
 static void
-gst_avimux_stop_file (GstAviMux *avimux)
+gst_avimux_stop_file (GstAviMux * avimux)
 {
   GstEvent *event;
   GstBuffer *header;
 
   /* if bigfile, rewrite header, else write indexes */
-  if (avimux->video_pad_connected)
-  {
-    if (avimux->is_bigfile)
-    {
-      gst_avimux_bigfile(avimux, TRUE);
+  if (avimux->video_pad_connected) {
+    if (avimux->is_bigfile) {
+      gst_avimux_bigfile (avimux, TRUE);
       avimux->idx_size = 0;
-    }
-    else
-    {
-      gst_avimux_write_index(avimux);
+    } else {
+      gst_avimux_write_index (avimux);
     }
   }
 
@@ -974,7 +1034,8 @@ gst_avimux_stop_file (GstAviMux *avimux)
     avimux->vids_hdr.length = avimux->num_frames;
   }
   if (avimux->audio_pad_connected) {
-    avimux->auds_hdr.length = (avimux->audio_time * avimux->auds.rate)/GST_SECOND;
+    avimux->auds_hdr.length =
+       (avimux->audio_time * avimux->auds.rate) / GST_SECOND;
   }
 
   /* set rate and everything having to do with that */
@@ -983,68 +1044,68 @@ gst_avimux_stop_file (GstAviMux *avimux)
     /* calculate bps if needed */
     if (!avimux->auds.av_bps) {
       if (avimux->audio_time) {
-        avimux->auds_hdr.rate = (GST_SECOND * avimux->audio_size) / avimux->audio_time;
+       avimux->auds_hdr.rate =
+           (GST_SECOND * avimux->audio_size) / avimux->audio_time;
       } else {
-        GST_ELEMENT_ERROR (avimux, STREAM, MUX,
-                           (_("No or invalid input audio, AVI stream will be corrupt.")), (NULL));
-        avimux->auds_hdr.rate = 0;
+       GST_ELEMENT_ERROR (avimux, STREAM, MUX,
+           (_("No or invalid input audio, AVI stream will be corrupt.")),
+           (NULL));
+       avimux->auds_hdr.rate = 0;
       }
       avimux->auds.av_bps = avimux->auds_hdr.rate * avimux->auds_hdr.scale;
     }
     avimux->avi_hdr.max_bps += avimux->auds.av_bps;
   }
   if (avimux->video_pad_connected) {
-    avimux->avi_hdr.max_bps += ((avimux->vids.bit_cnt+7)/8) *
-                               (1000000. / avimux->avi_hdr.us_frame) *
-                               avimux->vids.image_size;
+    avimux->avi_hdr.max_bps += ((avimux->vids.bit_cnt + 7) / 8) *
+       (1000000. / avimux->avi_hdr.us_frame) * avimux->vids.image_size;
   }
 
   /* seek and rewrite the header */
-  header = gst_avimux_riff_get_avi_header(avimux);
-  event = gst_event_new_seek (GST_FORMAT_BYTES | 
-                             GST_SEEK_METHOD_SET, 0);
-  gst_pad_push(avimux->srcpad, GST_DATA(event));
-  gst_pad_push(avimux->srcpad, GST_DATA (header));
+  header = gst_avimux_riff_get_avi_header (avimux);
+  event = gst_event_new_seek (GST_FORMAT_BYTES | GST_SEEK_METHOD_SET, 0);
+  gst_pad_push (avimux->srcpad, GST_DATA (event));
+  gst_pad_push (avimux->srcpad, GST_DATA (header));
   event = gst_event_new_seek (GST_FORMAT_BYTES |
-                             GST_SEEK_METHOD_SET, avimux->total_data);
-  gst_pad_push(avimux->srcpad, GST_DATA(event));
+      GST_SEEK_METHOD_SET, avimux->total_data);
+  gst_pad_push (avimux->srcpad, GST_DATA (event));
 
   avimux->write_header = TRUE;
 }
 
 static void
-gst_avimux_restart_file (GstAviMux *avimux)
+gst_avimux_restart_file (GstAviMux * avimux)
 {
   GstEvent *event;
 
-  gst_avimux_stop_file(avimux);
+  gst_avimux_stop_file (avimux);
 
-  event = gst_event_new(GST_EVENT_EOS);
-  gst_pad_push(avimux->srcpad, GST_DATA(event));
+  event = gst_event_new (GST_EVENT_EOS);
+  gst_pad_push (avimux->srcpad, GST_DATA (event));
 
-  gst_avimux_start_file(avimux);
+  gst_avimux_start_file (avimux);
 }
 
 /* handle events (search) */
 static gboolean
-gst_avimux_handle_event (GstPad *pad, GstEvent *event)
+gst_avimux_handle_event (GstPad * pad, GstEvent * event)
 {
   GstAviMux *avimux;
   GstEventType type;
 
   avimux = GST_AVIMUX (gst_pad_get_parent (pad));
-  
+
   type = event ? GST_EVENT_TYPE (event) : GST_EVENT_UNKNOWN;
 
   switch (type) {
     case GST_EVENT_EOS:
       /* is this allright? */
       if (pad == avimux->videosinkpad) {
-        avimux->video_pad_eos = TRUE;
+       avimux->video_pad_eos = TRUE;
       } else if (pad == avimux->audiosinkpad) {
-        avimux->audio_pad_eos = TRUE;
+       avimux->audio_pad_eos = TRUE;
       } else {
-        g_warning("Unknown pad for EOS!");
+       g_warning ("Unknown pad for EOS!");
       }
       break;
     default:
@@ -1057,19 +1118,17 @@ gst_avimux_handle_event (GstPad *pad, GstEvent *event)
 
 /* fill the internal queue for each available pad */
 static void
-gst_avimux_fill_queue (GstAviMux *avimux)
+gst_avimux_fill_queue (GstAviMux * avimux)
 {
   GstBuffer *buffer;
 
   while (!avimux->audio_buffer_queue &&
-          avimux->audiosinkpad &&
-          avimux->audio_pad_connected &&
-          GST_PAD_IS_USABLE(avimux->audiosinkpad) &&
-         !avimux->audio_pad_eos)
-  {
-    buffer = GST_BUFFER (gst_pad_pull(avimux->audiosinkpad));
-    if (GST_IS_EVENT(buffer)) {
-      gst_avimux_handle_event(avimux->audiosinkpad, GST_EVENT(buffer));
+      avimux->audiosinkpad &&
+      avimux->audio_pad_connected &&
+      GST_PAD_IS_USABLE (avimux->audiosinkpad) && !avimux->audio_pad_eos) {
+    buffer = GST_BUFFER (gst_pad_pull (avimux->audiosinkpad));
+    if (GST_IS_EVENT (buffer)) {
+      gst_avimux_handle_event (avimux->audiosinkpad, GST_EVENT (buffer));
     } else {
       avimux->audio_buffer_queue = buffer;
       break;
@@ -1077,14 +1136,12 @@ gst_avimux_fill_queue (GstAviMux *avimux)
   }
 
   while (!avimux->video_buffer_queue &&
-          avimux->videosinkpad &&
-          avimux->video_pad_connected &&
-          GST_PAD_IS_USABLE(avimux->videosinkpad) &&
-         !avimux->video_pad_eos)
-  {
-    buffer = GST_BUFFER (gst_pad_pull(avimux->videosinkpad));
-    if (GST_IS_EVENT(buffer)) {
-      gst_avimux_handle_event(avimux->videosinkpad, GST_EVENT(buffer));
+      avimux->videosinkpad &&
+      avimux->video_pad_connected &&
+      GST_PAD_IS_USABLE (avimux->videosinkpad) && !avimux->video_pad_eos) {
+    buffer = GST_BUFFER (gst_pad_pull (avimux->videosinkpad));
+    if (GST_IS_EVENT (buffer)) {
+      gst_avimux_handle_event (avimux->videosinkpad, GST_EVENT (buffer));
     } else {
       avimux->video_buffer_queue = buffer;
       break;
@@ -1095,49 +1152,45 @@ gst_avimux_fill_queue (GstAviMux *avimux)
 
 /* send extra 'padding' data */
 static void
-gst_avimux_send_pad_data (GstAviMux *avimux,
-                          gulong     num_bytes)
+gst_avimux_send_pad_data (GstAviMux * avimux, gulong num_bytes)
 {
   GstBuffer *buffer;
 
-  buffer = gst_buffer_new();
-  GST_BUFFER_SIZE(buffer) = num_bytes;
-  GST_BUFFER_DATA(buffer) = g_malloc(num_bytes);
-  memset(GST_BUFFER_DATA(buffer), 0, num_bytes);
+  buffer = gst_buffer_new ();
+  GST_BUFFER_SIZE (buffer) = num_bytes;
+  GST_BUFFER_DATA (buffer) = g_malloc (num_bytes);
+  memset (GST_BUFFER_DATA (buffer), 0, num_bytes);
 
-  gst_pad_push(avimux->srcpad, GST_DATA (buffer));
+  gst_pad_push (avimux->srcpad, GST_DATA (buffer));
 }
 
 /* do audio buffer */
 static void
-gst_avimux_do_audio_buffer (GstAviMux *avimux)
+gst_avimux_do_audio_buffer (GstAviMux * avimux)
 {
   GstBuffer *data = avimux->audio_buffer_queue, *header;
   gulong total_size, pad_bytes = 0;
 
   /* write a audio header + index entry */
-  if (GST_BUFFER_SIZE(data) & 1) {
-    pad_bytes = 2 - (GST_BUFFER_SIZE(data) & 1);
+  if (GST_BUFFER_SIZE (data) & 1) {
+    pad_bytes = 2 - (GST_BUFFER_SIZE (data) & 1);
   }
-  header = gst_avimux_riff_get_audio_header(GST_BUFFER_SIZE(data));
-  total_size = GST_BUFFER_SIZE(header) + GST_BUFFER_SIZE(data) + pad_bytes;
+  header = gst_avimux_riff_get_audio_header (GST_BUFFER_SIZE (data));
+  total_size = GST_BUFFER_SIZE (header) + GST_BUFFER_SIZE (data) + pad_bytes;
 
-  if (avimux->is_bigfile)
-  {
+  if (avimux->is_bigfile) {
     avimux->datax_size += total_size;
-  }
-  else
-  {
+  } else {
     avimux->data_size += total_size;
-    avimux->audio_size += GST_BUFFER_SIZE(data);
-    avimux->audio_time += GST_BUFFER_DURATION(data);
-    gst_avimux_add_index(avimux, "01wb", 0x0, GST_BUFFER_SIZE(data));
+    avimux->audio_size += GST_BUFFER_SIZE (data);
+    avimux->audio_time += GST_BUFFER_DURATION (data);
+    gst_avimux_add_index (avimux, "01wb", 0x0, GST_BUFFER_SIZE (data));
   }
 
-  gst_pad_push(avimux->srcpad, GST_DATA (header));
-  gst_pad_push(avimux->srcpad, GST_DATA (data));
+  gst_pad_push (avimux->srcpad, GST_DATA (header));
+  gst_pad_push (avimux->srcpad, GST_DATA (data));
   if (pad_bytes) {
-    gst_avimux_send_pad_data(avimux, pad_bytes);
+    gst_avimux_send_pad_data (avimux, pad_bytes);
   }
   avimux->total_data += total_size;
   avimux->idx_offset += total_size;
@@ -1148,49 +1201,47 @@ gst_avimux_do_audio_buffer (GstAviMux *avimux)
 
 /* do video buffer */
 static void
-gst_avimux_do_video_buffer (GstAviMux *avimux)
+gst_avimux_do_video_buffer (GstAviMux * avimux)
 {
   GstBuffer *data = avimux->video_buffer_queue, *header;
   gulong total_size, pad_bytes = 0;
 
   if (avimux->restart)
-    gst_avimux_restart_file(avimux);
+    gst_avimux_restart_file (avimux);
 
   /* write a video header + index entry */
-  if ((avimux->is_bigfile?avimux->datax_size:avimux->data_size)+GST_BUFFER_SIZE(data)>1024*1024*2000)
-  {
+  if ((avimux->is_bigfile ? avimux->datax_size : avimux->data_size) +
+      GST_BUFFER_SIZE (data) > 1024 * 1024 * 2000) {
     if (avimux->enable_large_avi)
-      gst_avimux_bigfile(avimux, FALSE);
+      gst_avimux_bigfile (avimux, FALSE);
     else
-      gst_avimux_restart_file(avimux);
+      gst_avimux_restart_file (avimux);
   }
 
-  if (GST_BUFFER_SIZE(data) & 1) {
-    pad_bytes = 2 - (GST_BUFFER_SIZE(data) & 1);
+  if (GST_BUFFER_SIZE (data) & 1) {
+    pad_bytes = 2 - (GST_BUFFER_SIZE (data) & 1);
   }
-  header = gst_avimux_riff_get_video_header(GST_BUFFER_SIZE(data));
-  total_size = GST_BUFFER_SIZE(header) + GST_BUFFER_SIZE(data) + pad_bytes;
+  header = gst_avimux_riff_get_video_header (GST_BUFFER_SIZE (data));
+  total_size = GST_BUFFER_SIZE (header) + GST_BUFFER_SIZE (data) + pad_bytes;
   avimux->total_frames++;
 
-  if (avimux->is_bigfile)
-  {
+  if (avimux->is_bigfile) {
     avimux->datax_size += total_size;
     avimux->numx_frames++;
-  }
-  else
-  {
+  } else {
     guint flags = 0x2;
+
     if (GST_BUFFER_FLAG_IS_SET (data, GST_BUFFER_KEY_UNIT))
       flags |= 0x10;
     avimux->data_size += total_size;
     avimux->num_frames++;
-    gst_avimux_add_index(avimux, "00db", flags, GST_BUFFER_SIZE(data));
+    gst_avimux_add_index (avimux, "00db", flags, GST_BUFFER_SIZE (data));
   }
 
-  gst_pad_push(avimux->srcpad, GST_DATA (header));
-  gst_pad_push(avimux->srcpad, GST_DATA (data));
+  gst_pad_push (avimux->srcpad, GST_DATA (header));
+  gst_pad_push (avimux->srcpad, GST_DATA (data));
   if (pad_bytes) {
-    gst_avimux_send_pad_data(avimux, pad_bytes);
+    gst_avimux_send_pad_data (avimux, pad_bytes);
   }
   avimux->total_data += total_size;
   avimux->idx_offset += total_size;
@@ -1201,31 +1252,24 @@ gst_avimux_do_video_buffer (GstAviMux *avimux)
 
 /* take the oldest buffer in our internal queue and push-it */
 static gboolean
-gst_avimux_do_one_buffer (GstAviMux *avimux)
+gst_avimux_do_one_buffer (GstAviMux * avimux)
 {
-  if (avimux->video_buffer_queue &&
-      avimux->audio_buffer_queue)
-  {
-    if (GST_BUFFER_TIMESTAMP(avimux->video_buffer_queue) <=
-        GST_BUFFER_TIMESTAMP(avimux->audio_buffer_queue))
-      gst_avimux_do_video_buffer(avimux);
+  if (avimux->video_buffer_queue && avimux->audio_buffer_queue) {
+    if (GST_BUFFER_TIMESTAMP (avimux->video_buffer_queue) <=
+       GST_BUFFER_TIMESTAMP (avimux->audio_buffer_queue))
+      gst_avimux_do_video_buffer (avimux);
     else
-      gst_avimux_do_audio_buffer(avimux);
-  }
-  else if (avimux->video_buffer_queue ||
-           avimux->audio_buffer_queue)
-  {
+      gst_avimux_do_audio_buffer (avimux);
+  } else if (avimux->video_buffer_queue || avimux->audio_buffer_queue) {
     if (avimux->video_buffer_queue)
-      gst_avimux_do_video_buffer(avimux);
+      gst_avimux_do_video_buffer (avimux);
     else
-      gst_avimux_do_audio_buffer(avimux);
-  }
-  else {
+      gst_avimux_do_audio_buffer (avimux);
+  } else {
     /* simply finish off the file and send EOS */
-    gst_avimux_stop_file(avimux);
-    gst_pad_push(avimux->srcpad,
-                 GST_DATA(gst_event_new(GST_EVENT_EOS)));
-    gst_element_set_eos(GST_ELEMENT(avimux));
+    gst_avimux_stop_file (avimux);
+    gst_pad_push (avimux->srcpad, GST_DATA (gst_event_new (GST_EVENT_EOS)));
+    gst_element_set_eos (GST_ELEMENT (avimux));
     return FALSE;
   }
 
@@ -1234,38 +1278,35 @@ gst_avimux_do_one_buffer (GstAviMux *avimux)
 
 
 static void
-gst_avimux_loop (GstElement *element)
+gst_avimux_loop (GstElement * element)
 {
   GstAviMux *avimux;
 
-  avimux = GST_AVIMUX(element);
+  avimux = GST_AVIMUX (element);
 
   /* first fill queue (some elements only set caps when
    * flowing data), then write header */
-  gst_avimux_fill_queue(avimux);
-  
+  gst_avimux_fill_queue (avimux);
+
   if (avimux->write_header)
-    gst_avimux_start_file(avimux);
+    gst_avimux_start_file (avimux);
 
-  gst_avimux_do_one_buffer(avimux);
+  gst_avimux_do_one_buffer (avimux);
 }
 
 static void
-gst_avimux_get_property (GObject    *object,
-                         guint      prop_id,
-                         GValue     *value,
-                         GParamSpec *pspec)
+gst_avimux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
   GstAviMux *avimux;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_AVIMUX(object));
-  avimux = GST_AVIMUX(object);
+  g_return_if_fail (GST_IS_AVIMUX (object));
+  avimux = GST_AVIMUX (object);
 
-  switch (prop_id)
-  {
+  switch (prop_id) {
     case ARG_BIGFILE:
-      g_value_set_boolean(value, avimux->enable_large_avi);
+      g_value_set_boolean (value, avimux->enable_large_avi);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1274,21 +1315,18 @@ gst_avimux_get_property (GObject    *object,
 }
 
 static void
-gst_avimux_set_property (GObject      *object,
-                         guint         prop_id,
-                         const GValue *value,
-                         GParamSpec   *pspec)
+gst_avimux_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
 {
   GstAviMux *avimux;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_AVIMUX(object));
-  avimux = GST_AVIMUX(object);
+  g_return_if_fail (GST_IS_AVIMUX (object));
+  avimux = GST_AVIMUX (object);
 
-  switch (prop_id)
-  {
+  switch (prop_id) {
     case ARG_BIGFILE:
-      avimux->enable_large_avi = g_value_get_boolean(value);
+      avimux->enable_large_avi = g_value_get_boolean (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1297,14 +1335,14 @@ gst_avimux_set_property (GObject      *object,
 }
 
 static GstElementStateReturn
-gst_avimux_change_state (GstElement *element)
+gst_avimux_change_state (GstElement * element)
 {
   GstAviMux *avimux;
   gint transition = GST_STATE_TRANSITION (element);
 
-  g_return_val_if_fail(GST_IS_AVIMUX(element), GST_STATE_FAILURE);
-  
-  avimux = GST_AVIMUX(element);
+  g_return_val_if_fail (GST_IS_AVIMUX (element), GST_STATE_FAILURE);
+
+  avimux = GST_AVIMUX (element);
 
   switch (transition) {
     case GST_STATE_PAUSED_TO_PLAYING:
@@ -1317,4 +1355,3 @@ gst_avimux_change_state (GstElement *element)
 
   return GST_STATE_SUCCESS;
 }
-
index 452b722..e51f301 100644 (file)
@@ -28,8 +28,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_AVIMUX \
@@ -44,65 +45,67 @@ extern "C" {
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AVIMUX))
 
 
-typedef struct _GstAviMux GstAviMux;
-typedef struct _GstAviMuxClass GstAviMuxClass;
-
-struct _GstAviMux {
-  GstElement element;
-
-  /* pads */
-  GstPad *srcpad;
-  GstPad *audiosinkpad;
-  gboolean audio_pad_connected, audio_pad_eos;
-  GstPad *videosinkpad;
-  gboolean video_pad_connected, video_pad_eos;
-
-  /* the AVI header */
-  gst_riff_avih avi_hdr;
-  guint32 total_frames; /* total number of frames */
-  guint64 total_data; /* amount of total data */
-  guint32 data_size, datax_size; /* amount of data (bytes) in the AVI/AVIX block */
-  guint32 num_frames, numx_frames; /* num frames in the AVI/AVIX block */
-  guint32 header_size;
-  gboolean write_header;
-  gboolean restart;
-  guint32 audio_size;
-  guint64 audio_time;
-
-  /* video header */
-  gst_riff_strh vids_hdr;
-  gst_riff_strf_vids vids;
-
-  /* audio header */
-  gst_riff_strh auds_hdr;
-  gst_riff_strf_auds auds;
-
-  /* information about the AVI index ('idx') */
-  gst_riff_index_entry *idx;
-  gint idx_index, idx_count;
-  guint32 idx_offset, idx_size;
-
-  /* are we a big file already? */
-  gboolean is_bigfile;
-  guint64 avix_start;
-
-  /* whether to use "large AVI files" or just stick to small indexed files */
-  gboolean enable_large_avi;
-
-  /* in order to be usable as a loopbased element, we need an internal
-   * 'buffered' buffer for each pad, so one for audio, one for video */
-  GstBuffer *audio_buffer_queue, *video_buffer_queue;
-};
-
-struct _GstAviMuxClass {
-  GstElementClass parent_class;
-};
-
-GType gst_avimux_get_type(void);
+  typedef struct _GstAviMux GstAviMux;
+  typedef struct _GstAviMuxClass GstAviMuxClass;
+
+  struct _GstAviMux
+  {
+    GstElement element;
+
+    /* pads */
+    GstPad *srcpad;
+    GstPad *audiosinkpad;
+    gboolean audio_pad_connected, audio_pad_eos;
+    GstPad *videosinkpad;
+    gboolean video_pad_connected, video_pad_eos;
+
+    /* the AVI header */
+    gst_riff_avih avi_hdr;
+    guint32 total_frames;      /* total number of frames */
+    guint64 total_data;                /* amount of total data */
+    guint32 data_size, datax_size;     /* amount of data (bytes) in the AVI/AVIX block */
+    guint32 num_frames, numx_frames;   /* num frames in the AVI/AVIX block */
+    guint32 header_size;
+    gboolean write_header;
+    gboolean restart;
+    guint32 audio_size;
+    guint64 audio_time;
+
+    /* video header */
+    gst_riff_strh vids_hdr;
+    gst_riff_strf_vids vids;
+
+    /* audio header */
+    gst_riff_strh auds_hdr;
+    gst_riff_strf_auds auds;
+
+    /* information about the AVI index ('idx') */
+    gst_riff_index_entry *idx;
+    gint idx_index, idx_count;
+    guint32 idx_offset, idx_size;
+
+    /* are we a big file already? */
+    gboolean is_bigfile;
+    guint64 avix_start;
+
+    /* whether to use "large AVI files" or just stick to small indexed files */
+    gboolean enable_large_avi;
+
+    /* in order to be usable as a loopbased element, we need an internal
+     * 'buffered' buffer for each pad, so one for audio, one for video */
+    GstBuffer *audio_buffer_queue, *video_buffer_queue;
+  };
+
+  struct _GstAviMuxClass
+  {
+    GstElementClass parent_class;
+  };
+
+  GType gst_avimux_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_AVIMUX_H__ */
+#endif                         /* __GST_AVIMUX_H__ */
index f163c0b..9b82b05 100644 (file)
@@ -35,14 +35,16 @@ static GstElementDetails cutter_details = {
 
 
 /* Filter signals and args */
-enum {
+enum
+{
   /* FILL ME */
   CUT_START,
   CUT_STOP,
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_THRESHOLD,
   ARG_THRESHOLD_DB,
@@ -51,52 +53,43 @@ enum {
   ARG_LEAKY
 };
 
-static GstStaticPadTemplate cutter_src_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-    GST_AUDIO_INT_PAD_TEMPLATE_CAPS "; "
-    GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS
-  )
-);
+static GstStaticPadTemplate cutter_src_factory = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AUDIO_INT_PAD_TEMPLATE_CAPS "; "
+       GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS)
+    );
 
 static GstStaticPadTemplate cutter_sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-    GST_AUDIO_INT_PAD_TEMPLATE_CAPS "; "
-    GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS
-  )
-);
-
-static void     gst_cutter_base_init    (gpointer g_class);
-static void    gst_cutter_class_init   (GstCutterClass *klass);
-static void    gst_cutter_init         (GstCutter *filter);
-
-static void    gst_cutter_set_property (GObject *object, guint prop_id,
-                                        const GValue *value,
-                                        GParamSpec *pspec);
-static void    gst_cutter_get_property (GObject *object, guint prop_id,
-                                        GValue *value, GParamSpec *pspec);
-
-static void    gst_cutter_chain        (GstPad *pad, GstData *_data);
-static double
-inline         gst_cutter_16bit_ms     (gint16* data, guint numsamples);
-static double
-inline         gst_cutter_8bit_ms      (gint8* data, guint numsamples);
-
-void           gst_cutter_get_caps     (GstPad *pad, GstCutter* filter);
+    GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AUDIO_INT_PAD_TEMPLATE_CAPS "; "
+       GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS)
+    );
+
+static void gst_cutter_base_init (gpointer g_class);
+static void gst_cutter_class_init (GstCutterClass * klass);
+static void gst_cutter_init (GstCutter * filter);
+
+static void gst_cutter_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_cutter_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static void gst_cutter_chain (GstPad * pad, GstData * _data);
+static double inline gst_cutter_16bit_ms (gint16 * data, guint numsamples);
+static double inline gst_cutter_8bit_ms (gint8 * data, guint numsamples);
+
+void gst_cutter_get_caps (GstPad * pad, GstCutter * filter);
 
 static GstElementClass *parent_class = NULL;
 static guint gst_cutter_signals[LAST_SIGNAL] = { 0 };
 
 
 GType
-gst_cutter_get_type (void) {
+gst_cutter_get_type (void)
+{
   static GType cutter_type = 0;
 
   if (!cutter_type) {
@@ -109,7 +102,7 @@ gst_cutter_get_type (void) {
       (GInstanceInitFunc) gst_cutter_init,
     };
     cutter_type = g_type_register_static (GST_TYPE_ELEMENT, "GstCutter",
-                                         &cutter_info, 0);
+       &cutter_info, 0);
   }
   return cutter_type;
 }
@@ -119,13 +112,15 @@ gst_cutter_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
-  gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&cutter_src_factory));
-  gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&cutter_sink_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&cutter_src_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&cutter_sink_factory));
   gst_element_class_set_details (element_class, &cutter_details);
 }
 
 static GstPadLinkReturn
-gst_cutter_link (GstPad *pad, const GstCaps*caps)
+gst_cutter_link (GstPad * pad, const GstCaps * caps)
 {
   GstCutter *filter;
   GstPad *otherpad;
@@ -139,46 +134,46 @@ gst_cutter_link (GstPad *pad, const GstCaps*caps)
 }
 
 static void
-gst_cutter_class_init (GstCutterClass *klass)
+gst_cutter_class_init (GstCutterClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_THRESHOLD,
-    g_param_spec_double ("threshold", "Threshold",
-                        "Volume threshold before trigger",
-                         -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
+      g_param_spec_double ("threshold", "Threshold",
+         "Volume threshold before trigger",
+         -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_THRESHOLD_DB,
-    g_param_spec_double ("threshold_dB", "Threshold (dB)",
-                        "Volume threshold before trigger (in dB)",
-                         -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
+      g_param_spec_double ("threshold_dB", "Threshold (dB)",
+         "Volume threshold before trigger (in dB)",
+         -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_RUN_LENGTH,
-    g_param_spec_double ("runlength", "Runlength",
-                        "Length of drop below threshold before cut_stop (seconds)",
-                        0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
+      g_param_spec_double ("runlength", "Runlength",
+         "Length of drop below threshold before cut_stop (seconds)",
+         0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PRE_LENGTH,
-    g_param_spec_double ("prelength", "prelength",
-                        "Length of pre-recording buffer (seconds)",
-                        0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
+      g_param_spec_double ("prelength", "prelength",
+         "Length of pre-recording buffer (seconds)",
+         0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LEAKY,
-    g_param_spec_boolean ("leaky", "Leaky",
-                         "do we leak buffers when below threshold ?",
-                          FALSE, G_PARAM_READWRITE));
+      g_param_spec_boolean ("leaky", "Leaky",
+         "do we leak buffers when below threshold ?",
+         FALSE, G_PARAM_READWRITE));
   gst_cutter_signals[CUT_START] =
-       g_signal_new ("cut-start", G_TYPE_FROM_CLASS (klass),
-                     G_SIGNAL_RUN_FIRST,
-                     G_STRUCT_OFFSET (GstCutterClass, cut_start), NULL, NULL,
-                     g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+      g_signal_new ("cut-start", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_FIRST,
+      G_STRUCT_OFFSET (GstCutterClass, cut_start), NULL, NULL,
+      g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
   gst_cutter_signals[CUT_STOP] =
-       g_signal_new ("cut-stop", G_TYPE_FROM_CLASS (klass),
-                     G_SIGNAL_RUN_FIRST,
-                     G_STRUCT_OFFSET (GstCutterClass, cut_stop), NULL, NULL,
-                     g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+      g_signal_new ("cut-stop", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_FIRST,
+      G_STRUCT_OFFSET (GstCutterClass, cut_stop), NULL, NULL,
+      g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
 
   gobject_class->set_property = gst_cutter_set_property;
@@ -186,12 +181,14 @@ gst_cutter_class_init (GstCutterClass *klass)
 }
 
 static void
-gst_cutter_init (GstCutter *filter)
+gst_cutter_init (GstCutter * filter)
 {
-  filter->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&cutter_sink_factory),"sink");
-  filter->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&cutter_src_factory),"src");
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&cutter_sink_factory), "sink");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&cutter_src_factory), "src");
 
   filter->threshold_level = 0.1;
   filter->threshold_length = 0.5;
@@ -208,19 +205,19 @@ gst_cutter_init (GstCutter *filter)
   gst_pad_set_link_function (filter->sinkpad, gst_cutter_link);
 
   gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
-  /*gst_pad_set_link_function (filter->srcpad, gst_cutter_link);*/
+  /*gst_pad_set_link_function (filter->srcpad, gst_cutter_link); */
 }
 
 static void
-gst_cutter_chain (GstPad *pad, GstData *_data)
+gst_cutter_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstCutter *filter;
   gint16 *in_data;
-  double RMS = 0.0;                    /* RMS of signal in buffer */
-  double ms = 0.0;                     /* mean square value of buffer */
-  static gboolean silent_prev = FALSE;  /* previous value of silent */
-  GstBuffer *prebuf;                    /* pointer to a prebuffer element */
+  double RMS = 0.0;            /* RMS of signal in buffer */
+  double ms = 0.0;             /* mean square value of buffer */
+  static gboolean silent_prev = FALSE; /* previous value of silent */
+  GstBuffer *prebuf;           /* pointer to a prebuffer element */
 
   g_return_if_fail (pad != NULL);
   g_return_if_fail (GST_IS_PAD (pad));
@@ -233,16 +230,14 @@ gst_cutter_chain (GstPad *pad, GstData *_data)
   if (gst_audio_is_buffer_framed (pad, buf) == FALSE)
     g_warning ("audio buffer is not framed !\n");
 
-  if (!filter->have_caps) gst_cutter_get_caps (pad, filter);
+  if (!filter->have_caps)
+    gst_cutter_get_caps (pad, filter);
 
   in_data = (gint16 *) GST_BUFFER_DATA (buf);
-  GST_DEBUG (
-             "length of prerec buffer: %.3f sec",
-             filter->pre_run_length);
+  GST_DEBUG ("length of prerec buffer: %.3f sec", filter->pre_run_length);
 
   /* calculate mean square value on buffer */
-  switch (filter->width)
-  {
+  switch (filter->width) {
     case 16:
       ms = gst_cutter_16bit_ms (in_data, GST_BUFFER_SIZE (buf) / 2);
       break;
@@ -252,7 +247,7 @@ gst_cutter_chain (GstPad *pad, GstData *_data)
     default:
       /* this shouldn't happen */
       g_print ("WARNING: no mean square function for width %d\n",
-               filter->width);
+         filter->width);
       break;
   }
 
@@ -262,13 +257,11 @@ gst_cutter_chain (GstPad *pad, GstData *_data)
   /* if RMS below threshold, add buffer length to silent run length count
    * if not, reset
    */
-  GST_DEBUG (
-             "buffer stats: ms %f, RMS %f, audio length %f",
-            ms, RMS, gst_audio_length (filter->srcpad, buf));
+  GST_DEBUG ("buffer stats: ms %f, RMS %f, audio length %f",
+      ms, RMS, gst_audio_length (filter->srcpad, buf));
   if (RMS < filter->threshold_level)
     filter->silent_run_length += gst_audio_length (filter->srcpad, buf);
-  else
-  {
+  else {
     filter->silent_run_length = 0.0;
     filter->silent = FALSE;
   }
@@ -280,27 +273,21 @@ gst_cutter_chain (GstPad *pad, GstData *_data)
   /* has the silent status changed ? if so, send right signal
    * and, if from silent -> not silent, flush pre_record buffer
    */
-  if (filter->silent != silent_prev)
-  {
-    if (filter->silent)
-    {
+  if (filter->silent != silent_prev) {
+    if (filter->silent) {
 /*      g_print ("DEBUG: cutter: cut to here, turning off out\n"); */
       g_signal_emit (G_OBJECT (filter), gst_cutter_signals[CUT_STOP], 0);
-    }
-    else
-    {
+    } else {
       gint count = 0;
+
 /*      g_print ("DEBUG: cutter: start from here, turning on out\n"); */
       /* first of all, flush current buffer */
       g_signal_emit (G_OBJECT (filter), gst_cutter_signals[CUT_START], 0);
-      GST_DEBUG (
-                "flushing buffer of length %.3f",
-                filter->pre_run_length);
-      while (filter->pre_buffer)
-      {
-        prebuf = (g_list_first (filter->pre_buffer))->data;
-        filter->pre_buffer = g_list_remove (filter->pre_buffer, prebuf);
-        gst_pad_push (filter->srcpad, GST_DATA (prebuf));
+      GST_DEBUG ("flushing buffer of length %.3f", filter->pre_run_length);
+      while (filter->pre_buffer) {
+       prebuf = (g_list_first (filter->pre_buffer))->data;
+       filter->pre_buffer = g_list_remove (filter->pre_buffer, prebuf);
+       gst_pad_push (filter->srcpad, GST_DATA (prebuf));
        ++count;
       }
       GST_DEBUG ("flushed %d buffers", count);
@@ -309,59 +296,50 @@ gst_cutter_chain (GstPad *pad, GstData *_data)
   }
   /* now check if we have to send the new buffer to the internal buffer cache
    * or to the srcpad */
-  if (filter->silent)
-  {
-      /* we ref it before putting it in the pre_buffer */
-         /* FIXME: we shouldn't probably do this, because the buffer
-          * arrives reffed already; the plugin should just push it
-          * or unref it to make it disappear */
-         /*
-      gst_buffer_ref (buf);
-      */
-      filter->pre_buffer = g_list_append (filter->pre_buffer, buf);
-      filter->pre_run_length += gst_audio_length (filter->srcpad, buf);
-      while (filter->pre_run_length > filter->pre_length)
-      {
-        prebuf = (g_list_first (filter->pre_buffer))->data;
-       g_assert (GST_IS_BUFFER (prebuf));
-        filter->pre_buffer = g_list_remove (filter->pre_buffer, prebuf);
-        filter->pre_run_length -= gst_audio_length (filter->srcpad, prebuf);
-       /* only pass buffers if we don't leak */
-       if (!filter->leaky)
-          gst_pad_push (filter->srcpad, GST_DATA (prebuf));
-        /* we unref it after getting it out of the pre_buffer */
-       gst_buffer_unref (prebuf);
-      }
-  }
-  else
+  if (filter->silent) {
+    /* we ref it before putting it in the pre_buffer */
+    /* FIXME: we shouldn't probably do this, because the buffer
+     * arrives reffed already; the plugin should just push it
+     * or unref it to make it disappear */
+    /*
+       gst_buffer_ref (buf);
+     */
+    filter->pre_buffer = g_list_append (filter->pre_buffer, buf);
+    filter->pre_run_length += gst_audio_length (filter->srcpad, buf);
+    while (filter->pre_run_length > filter->pre_length) {
+      prebuf = (g_list_first (filter->pre_buffer))->data;
+      g_assert (GST_IS_BUFFER (prebuf));
+      filter->pre_buffer = g_list_remove (filter->pre_buffer, prebuf);
+      filter->pre_run_length -= gst_audio_length (filter->srcpad, prebuf);
+      /* only pass buffers if we don't leak */
+      if (!filter->leaky)
+       gst_pad_push (filter->srcpad, GST_DATA (prebuf));
+      /* we unref it after getting it out of the pre_buffer */
+      gst_buffer_unref (prebuf);
+    }
+  } else
     gst_pad_push (filter->srcpad, GST_DATA (buf));
 }
 
 static double inline
-gst_cutter_16bit_ms (gint16* data, guint num_samples)
+gst_cutter_16bit_ms (gint16 * data, guint num_samples)
 #include "filter.func"
-
-static double inline
-gst_cutter_8bit_ms (gint8* data, guint num_samples)
+     static double inline gst_cutter_8bit_ms (gint8 * data, guint num_samples)
 #include "filter.func"
-
-static void
-gst_cutter_set_property (GObject *object, guint prop_id,
-                         const GValue *value, GParamSpec *pspec)
+     static void
+        gst_cutter_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstCutter *filter;
 
   g_return_if_fail (GST_IS_CUTTER (object));
   filter = GST_CUTTER (object);
 
-  switch (prop_id)
-  {
+  switch (prop_id) {
     case ARG_THRESHOLD:
-       /* set the level */
+      /* set the level */
       filter->threshold_level = g_value_get_double (value);
-      GST_DEBUG (
-                "DEBUG: set threshold level to %f",
-                filter->threshold_level);
+      GST_DEBUG ("DEBUG: set threshold level to %f", filter->threshold_level);
       break;
     case ARG_THRESHOLD_DB:
       /* set the level given in dB
@@ -369,9 +347,7 @@ gst_cutter_set_property (GObject *object, guint prop_id,
        * values in dB < 0 result in values between 0 and 1
        */
       filter->threshold_level = pow (10, g_value_get_double (value) / 20);
-      GST_DEBUG (
-                 "DEBUG: set threshold level to %f",
-                filter->threshold_level);
+      GST_DEBUG ("DEBUG: set threshold level to %f", filter->threshold_level);
       break;
     case ARG_RUN_LENGTH:
       /* set the minimum length of the silent run required */
@@ -392,25 +368,24 @@ gst_cutter_set_property (GObject *object, guint prop_id,
 }
 
 static void
-gst_cutter_get_property (GObject *object, guint prop_id,
-                         GValue *value, GParamSpec *pspec)
+gst_cutter_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
   GstCutter *filter;
 
   g_return_if_fail (GST_IS_CUTTER (object));
   filter = GST_CUTTER (object);
 
-  switch (prop_id)
-  {
+  switch (prop_id) {
     case ARG_RUN_LENGTH:
-     g_value_set_double (value, filter->threshold_length);
-     break;
+      g_value_set_double (value, filter->threshold_length);
+      break;
     case ARG_THRESHOLD:
-     g_value_set_double (value, filter->threshold_level);
-     break;
+      g_value_set_double (value, filter->threshold_level);
+      break;
     case ARG_THRESHOLD_DB:
-     g_value_set_double (value, 20 * log (filter->threshold_level));
-     break;
+      g_value_set_double (value, 20 * log (filter->threshold_level));
+      break;
     case ARG_PRE_LENGTH:
       g_value_set_double (value, filter->pre_length);
       break;
@@ -424,9 +399,9 @@ gst_cutter_get_property (GObject *object, guint prop_id,
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-    /* load audio support library */
+  /* load audio support library */
   if (!gst_library_load ("gstaudio"))
     return FALSE;
 
@@ -436,25 +411,19 @@ plugin_init (GstPlugin *plugin)
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "cutter",
-  "Audio Cutter to split audio into non-silent bits",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
-
-void
-gst_cutter_get_caps (GstPad *pad, GstCutter* filter)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "cutter",
+    "Audio Cutter to split audio into non-silent bits",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
+
+     void gst_cutter_get_caps (GstPad * pad, GstCutter * filter)
 {
   const GstCaps *caps = NULL;
   GstStructure *structure;
 
   caps = GST_PAD_CAPS (pad);
-    /* FIXME : Please change this to a better warning method ! */
+  /* FIXME : Please change this to a better warning method ! */
   g_assert (caps != NULL);
   if (caps == NULL)
     printf ("WARNING: get_caps: Could not get caps of pad !\n");
@@ -463,4 +432,3 @@ gst_cutter_get_caps (GstPad *pad, GstCutter* filter)
   filter->max_sample = gst_audio_highest_sample_value (pad);
   filter->have_caps = TRUE;
 }
-
index 8416663..e1ed997 100644 (file)
@@ -27,8 +27,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_CUTTER \
@@ -42,44 +43,44 @@ extern "C" {
 #define GST_IS_CUTTER_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CUTTER))
 
-typedef struct _GstCutter GstCutter;
-typedef struct _GstCutterClass GstCutterClass;
+  typedef struct _GstCutter GstCutter;
+  typedef struct _GstCutterClass GstCutterClass;
 
-struct _GstCutter
-{
-  GstElement element;
+  struct _GstCutter
+  {
+    GstElement element;
 
-  GstPad *sinkpad, *srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  double threshold_level;      /* level below which to cut */
-  double threshold_length;     /* how long signal has to remain
+    double threshold_level;    /* level below which to cut */
+    double threshold_length;   /* how long signal has to remain
                                 * below this level before cutting */
 
-  double silent_run_length;    /* how long has it been below threshold ? */
-  gboolean silent;
+    double silent_run_length;  /* how long has it been below threshold ? */
+    gboolean silent;
 
-  double pre_length;           /* how long can the pre-record buffer be ? */
-  double pre_run_length;        /* how long is it currently ? */
-  GList *pre_buffer;           /* list of GstBuffers in pre-record buffer */
-  gboolean leaky;              /* do we leak an overflowing prebuffer ? */
+    double pre_length;         /* how long can the pre-record buffer be ? */
+    double pre_run_length;     /* how long is it currently ? */
+    GList *pre_buffer;         /* list of GstBuffers in pre-record buffer */
+    gboolean leaky;            /* do we leak an overflowing prebuffer ? */
 
-  gboolean have_caps;          /* did we get the needed caps yet ? */
-  gint width;                  /* bit width of data */
-  long max_sample;             /* maximum sample value */
-};
+    gboolean have_caps;                /* did we get the needed caps yet ? */
+    gint width;                        /* bit width of data */
+    long max_sample;           /* maximum sample value */
+  };
 
-struct _GstCutterClass
-{
-  GstElementClass parent_class;
-  void (*cut_start) (GstCutter* filter);
-  void (*cut_stop) (GstCutter* filter);
-};
+  struct _GstCutterClass
+  {
+    GstElementClass parent_class;
+    void (*cut_start) (GstCutter * filter);
+    void (*cut_stop) (GstCutter * filter);
+  };
 
-GType gst_cutter_get_type (void);
+  GType gst_cutter_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_STEREO_H__ */
+#endif                         /* __GST_STEREO_H__ */
index 571ab17..f6e576e 100644 (file)
@@ -43,79 +43,75 @@ static GstElementDetails plugin_details = {
   "Electric Fence",
   "Testing/EFence",
   "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 "
-"access to data in the buffer is more likely to cause segmentation "
-"faults.  This allocation method is very similar to the debugging tool "
-"\"Electric Fence\".",
+      "stream of buffers that are allocated in such a way that out-of-bounds "
+      "access to data in the buffer is more likely to cause segmentation "
+      "faults.  This allocation method is very similar to the debugging tool "
+      "\"Electric Fence\".",
   "David A. Schleef <ds@schleef.org>",
 };
 
 /* Filter signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_FENCE_TOP
 };
 
 static GstStaticPadTemplate gst_efence_sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS_ANY
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS_ANY);
 
 static GstStaticPadTemplate gst_efence_src_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS_ANY
-);
-
-static void     gst_efence_base_init    (gpointer g_class);
-static void    gst_efence_class_init   (GstEFenceClass *klass);
-static void    gst_efence_init (GstEFence *filter);
-
-static void    gst_efence_set_property(GObject *object, guint prop_id,
-                                                 const GValue *value,
-                                                GParamSpec *pspec);
-static void    gst_efence_get_property(GObject *object, guint prop_id,
-                                                 GValue *value,
-                                                GParamSpec *pspec);
-
-static void    gst_efence_chain        (GstPad *pad, GstData *_data);
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS_ANY);
+
+static void gst_efence_base_init (gpointer g_class);
+static void gst_efence_class_init (GstEFenceClass * klass);
+static void gst_efence_init (GstEFence * filter);
+
+static void gst_efence_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_efence_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static void gst_efence_chain (GstPad * pad, GstData * _data);
 
 static GstElementClass *parent_class = NULL;
 
 typedef struct _GstFencedBuffer GstFencedBuffer;
-struct _GstFencedBuffer {
+struct _GstFencedBuffer
+{
   GstBuffer buffer;
   void *region;
   unsigned int length;
 };
 
-void gst_fenced_buffer_default_free (GstData *data);
-GstData * gst_fenced_buffer_default_copy (const GstData *data);
-void *gst_fenced_buffer_alloc(GstBuffer *buffer, unsigned int length,
+void gst_fenced_buffer_default_free (GstData * data);
+GstData *gst_fenced_buffer_default_copy (const GstData * data);
+void *gst_fenced_buffer_alloc (GstBuffer * buffer, unsigned int length,
     gboolean fence_top);
-static GstBuffer * gst_efence_buffer_alloc (GstPad *pad, guint64 offset, guint size);
+static GstBuffer *gst_efence_buffer_alloc (GstPad * pad, guint64 offset,
+    guint size);
 
-GstBuffer *gst_fenced_buffer_new(void);
+GstBuffer *gst_fenced_buffer_new (void);
 
 GType
 gst_gst_efence_get_type (void)
 {
   static GType plugin_type = 0;
 
-  if (!plugin_type)
-  {
-    static const GTypeInfo plugin_info =
-    {
+  if (!plugin_type) {
+    static const GTypeInfo plugin_info = {
       sizeof (GstEFenceClass),
       gst_efence_base_init,
       NULL,
@@ -127,8 +123,7 @@ gst_gst_efence_get_type (void)
       (GInstanceInitFunc) gst_efence_init,
     };
     plugin_type = g_type_register_static (GST_TYPE_ELEMENT,
-                                         "GstEFence",
-                                         &plugin_info, 0);
+       "GstEFence", &plugin_info, 0);
   }
   return plugin_type;
 }
@@ -139,27 +134,27 @@ gst_efence_base_init (gpointer g_class)
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get(&gst_efence_sink_factory));
+      gst_static_pad_template_get (&gst_efence_sink_factory));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get(&gst_efence_src_factory));
+      gst_static_pad_template_get (&gst_efence_src_factory));
   gst_element_class_set_details (element_class, &plugin_details);
 }
 
 /* initialize the plugin's class */
 static void
-gst_efence_class_init (GstEFenceClass *klass)
+gst_efence_class_init (GstEFenceClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (gobject_class, ARG_FENCE_TOP,
-    g_param_spec_boolean ("fence_top", "Fence Top", "Align buffers with top of fenced region",
-                          TRUE, G_PARAM_READWRITE));
+      g_param_spec_boolean ("fence_top", "Fence Top",
+         "Align buffers with top of fenced region", TRUE, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_efence_set_property;
   gobject_class->get_property = gst_efence_get_property;
@@ -171,14 +166,16 @@ gst_efence_class_init (GstEFenceClass *klass)
  * initialize structure
  */
 static void
-gst_efence_init (GstEFence *filter)
+gst_efence_init (GstEFence * filter)
 {
-  filter->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_efence_sink_factory), "sink");
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_efence_sink_factory), "sink");
   gst_pad_set_getcaps_function (filter->sinkpad, gst_pad_proxy_getcaps);
   gst_pad_set_link_function (filter->sinkpad, gst_pad_proxy_pad_link);
-  filter->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_efence_src_factory), "src");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_efence_src_factory), "src");
   gst_pad_set_getcaps_function (filter->srcpad, gst_pad_proxy_getcaps);
   gst_pad_set_link_function (filter->srcpad, gst_pad_proxy_pad_link);
 
@@ -195,7 +192,7 @@ gst_efence_init (GstEFence *filter)
  */
 
 static void
-gst_efence_chain (GstPad *pad, GstData *_data)
+gst_efence_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buffer = GST_BUFFER (_data);
   GstEFence *efence;
@@ -215,27 +212,27 @@ gst_efence_chain (GstPad *pad, GstData *_data)
     return;
   }
 
-  copy = gst_fenced_buffer_new();
+  copy = gst_fenced_buffer_new ();
 
-  ptr = gst_fenced_buffer_alloc(copy, GST_BUFFER_SIZE(buffer),
+  ptr = gst_fenced_buffer_alloc (copy, GST_BUFFER_SIZE (buffer),
       efence->fence_top);
-  memcpy(ptr, GST_BUFFER_DATA(buffer), GST_BUFFER_SIZE(buffer));
-
-  GST_BUFFER_DATA (copy)         = ptr;
-  GST_BUFFER_SIZE (copy)         = GST_BUFFER_SIZE (buffer);
-  GST_BUFFER_MAXSIZE (copy)      = GST_BUFFER_SIZE (buffer);
-  GST_BUFFER_TIMESTAMP (copy)    = GST_BUFFER_TIMESTAMP (buffer);
-  GST_BUFFER_DURATION (copy)     = GST_BUFFER_DURATION (buffer);
-  GST_BUFFER_OFFSET (copy)       = GST_BUFFER_OFFSET (buffer);
+  memcpy (ptr, GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer));
+
+  GST_BUFFER_DATA (copy) = ptr;
+  GST_BUFFER_SIZE (copy) = GST_BUFFER_SIZE (buffer);
+  GST_BUFFER_MAXSIZE (copy) = GST_BUFFER_SIZE (buffer);
+  GST_BUFFER_TIMESTAMP (copy) = GST_BUFFER_TIMESTAMP (buffer);
+  GST_BUFFER_DURATION (copy) = GST_BUFFER_DURATION (buffer);
+  GST_BUFFER_OFFSET (copy) = GST_BUFFER_OFFSET (buffer);
   GST_BUFFER_FREE_DATA_FUNC (copy) = NULL;
-  GST_BUFFER_PRIVATE (copy)      = NULL;
+  GST_BUFFER_PRIVATE (copy) = NULL;
 
-  gst_buffer_unref(buffer);
+  gst_buffer_unref (buffer);
   gst_pad_push (efence->srcpad, GST_DATA (copy));
 }
 
 static GstBuffer *
-gst_efence_buffer_alloc (GstPad *pad, guint64 offset, guint size)
+gst_efence_buffer_alloc (GstPad * pad, guint64 offset, guint size)
 {
   GstBuffer *buffer;
   GstEFence *efence;
@@ -244,7 +241,7 @@ gst_efence_buffer_alloc (GstPad *pad, guint64 offset, guint size)
 
   buffer = gst_fenced_buffer_new ();
 
-  GST_BUFFER_DATA (buffer) = gst_fenced_buffer_alloc(buffer, size,
+  GST_BUFFER_DATA (buffer) = gst_fenced_buffer_alloc (buffer, size,
       efence->fence_top);
   GST_BUFFER_SIZE (buffer) = size;
 
@@ -252,28 +249,27 @@ gst_efence_buffer_alloc (GstPad *pad, guint64 offset, guint size)
 }
 
 static void
-gst_efence_set_property (GObject *object, guint prop_id,
-                                  const GValue *value, GParamSpec *pspec)
+gst_efence_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstEFence *filter;
 
   g_return_if_fail (GST_IS_EFENCE (object));
   filter = GST_EFENCE (object);
 
-  switch (prop_id)
-  {
-  case ARG_FENCE_TOP:
-    filter->fence_top = g_value_get_boolean (value);
-    break;
-  default:
-    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    break;
+  switch (prop_id) {
+    case ARG_FENCE_TOP:
+      filter->fence_top = g_value_get_boolean (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
   }
 }
 
 static void
-gst_efence_get_property (GObject *object, guint prop_id,
-                                  GValue *value, GParamSpec *pspec)
+gst_efence_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
   GstEFence *filter;
 
@@ -281,12 +277,12 @@ gst_efence_get_property (GObject *object, guint prop_id,
   filter = GST_EFENCE (object);
 
   switch (prop_id) {
-  case ARG_FENCE_TOP:
-    g_value_set_boolean (value, filter->fence_top);
-    break;
-  default:
-    G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    break;
+    case ARG_FENCE_TOP:
+      g_value_set_boolean (value, filter->fence_top);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
   }
 }
 
@@ -296,55 +292,50 @@ gst_efence_get_property (GObject *object, guint prop_id,
  * register the features
  */
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_element_register (plugin, "efence", GST_RANK_NONE, GST_TYPE_EFENCE))
     return FALSE;
-  
+
   /* plugin initialisation succeeded */
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "efence",
-  "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 "
-  "access to data in the buffer is more likely to cause segmentation "
-  "faults.  This allocation method is very similar to the debugging tool "
-  "\"Electric Fence\".",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
-
-GstBuffer *gst_fenced_buffer_new(void)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "efence",
+    "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 "
+    "access to data in the buffer is more likely to cause segmentation "
+    "faults.  This allocation method is very similar to the debugging tool "
+    "\"Electric Fence\".",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
+
+     GstBuffer *gst_fenced_buffer_new (void)
 {
   GstBuffer *newbuf;
 
-  newbuf = (GstBuffer *) g_new0(GstFencedBuffer,1);
+  newbuf = (GstBuffer *) g_new0 (GstFencedBuffer, 1);
 
   gst_data_init (GST_DATA (newbuf), _gst_buffer_type, 0,
-                  gst_fenced_buffer_default_free,
-                  gst_fenced_buffer_default_copy);
-
-  GST_BUFFER_DATA (newbuf)         = NULL;
-  GST_BUFFER_SIZE (newbuf)         = 0;
-  GST_BUFFER_MAXSIZE (newbuf)      = GST_BUFFER_MAXSIZE_NONE;
-  GST_BUFFER_TIMESTAMP (newbuf)    = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_DURATION (newbuf)     = GST_CLOCK_TIME_NONE;
-  GST_BUFFER_OFFSET (newbuf)       = GST_BUFFER_OFFSET_NONE;
+      gst_fenced_buffer_default_free, gst_fenced_buffer_default_copy);
+
+  GST_BUFFER_DATA (newbuf) = NULL;
+  GST_BUFFER_SIZE (newbuf) = 0;
+  GST_BUFFER_MAXSIZE (newbuf) = GST_BUFFER_MAXSIZE_NONE;
+  GST_BUFFER_TIMESTAMP (newbuf) = GST_CLOCK_TIME_NONE;
+  GST_BUFFER_DURATION (newbuf) = GST_CLOCK_TIME_NONE;
+  GST_BUFFER_OFFSET (newbuf) = GST_BUFFER_OFFSET_NONE;
   GST_BUFFER_FREE_DATA_FUNC (newbuf) = NULL;
-  GST_BUFFER_PRIVATE (newbuf)      = NULL;
+  GST_BUFFER_PRIVATE (newbuf) = NULL;
 
   GST_DEBUG ("new buffer=%p", newbuf);
 
   return newbuf;
 }
 
-void gst_fenced_buffer_default_free (GstData *data)
+void
+gst_fenced_buffer_default_free (GstData * data)
 {
   GstFencedBuffer *fenced_buffer;
   GstBuffer *buffer = GST_BUFFER (data);
@@ -360,51 +351,52 @@ void gst_fenced_buffer_default_free (GstData *data)
       GST_BUFFER_DATA (buffer)) {
     GST_DEBUG ("free region %p %d", fenced_buffer->region,
        fenced_buffer->length);
-    munmap(fenced_buffer->region, fenced_buffer->length);
-  }else{
+    munmap (fenced_buffer->region, fenced_buffer->length);
+  } else {
     GST_DEBUG ("not freeing region %p %d %p", fenced_buffer->region,
-       GST_BUFFER_FLAGS(buffer), GST_BUFFER_DATA(buffer));
+       GST_BUFFER_FLAGS (buffer), GST_BUFFER_DATA (buffer));
   }
 
   /* set to safe values */
   GST_BUFFER_DATA (buffer) = NULL;
   GST_BUFFER_SIZE (buffer) = 0;
-  
+
   g_free (buffer);
 }
 
-GstData* gst_fenced_buffer_default_copy (const GstData *data)
-{ 
+GstData *
+gst_fenced_buffer_default_copy (const GstData * data)
+{
   GstBuffer *buffer = GST_BUFFER (data);
   GstData *copy;
   void *ptr;
-  
+
   g_return_val_if_fail (buffer != NULL, NULL);
-  
+
   /* create a fresh new buffer */
-  copy = (GstData *) g_new0(GstFencedBuffer,1);
-  
+  copy = (GstData *) g_new0 (GstFencedBuffer, 1);
+
   gst_data_init (copy, _gst_buffer_type, 0,
-                  gst_fenced_buffer_default_free,
-                  gst_fenced_buffer_default_copy);
-  
+      gst_fenced_buffer_default_free, gst_fenced_buffer_default_copy);
+
   /* we simply copy everything from our parent */
-  ptr = gst_fenced_buffer_alloc(GST_BUFFER(copy),
-      GST_BUFFER_SIZE(buffer), TRUE);
-  memcpy(ptr, GST_BUFFER_DATA(buffer), GST_BUFFER_SIZE(buffer));
-
-  GST_BUFFER_SIZE (copy)         = GST_BUFFER_SIZE (buffer);
-  GST_BUFFER_MAXSIZE (copy)      = GST_BUFFER_SIZE (buffer);
-  GST_BUFFER_TIMESTAMP (copy)    = GST_BUFFER_TIMESTAMP (buffer);
-  GST_BUFFER_DURATION (copy)     = GST_BUFFER_DURATION (buffer);
-  GST_BUFFER_OFFSET (copy)       = GST_BUFFER_OFFSET (buffer);
+  ptr = gst_fenced_buffer_alloc (GST_BUFFER (copy),
+      GST_BUFFER_SIZE (buffer), TRUE);
+  memcpy (ptr, GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer));
+
+  GST_BUFFER_SIZE (copy) = GST_BUFFER_SIZE (buffer);
+  GST_BUFFER_MAXSIZE (copy) = GST_BUFFER_SIZE (buffer);
+  GST_BUFFER_TIMESTAMP (copy) = GST_BUFFER_TIMESTAMP (buffer);
+  GST_BUFFER_DURATION (copy) = GST_BUFFER_DURATION (buffer);
+  GST_BUFFER_OFFSET (copy) = GST_BUFFER_OFFSET (buffer);
   GST_BUFFER_FREE_DATA_FUNC (copy) = NULL;
-  GST_BUFFER_PRIVATE (copy)      = NULL;
-  
+  GST_BUFFER_PRIVATE (copy) = NULL;
+
   return copy;
 }
 
-void *gst_fenced_buffer_alloc(GstBuffer *buffer, unsigned int length,
+void *
+gst_fenced_buffer_alloc (GstBuffer * buffer, unsigned int length,
     gboolean fence_top)
 {
   int alloc_size;
@@ -414,41 +406,41 @@ void *gst_fenced_buffer_alloc(GstBuffer *buffer, unsigned int length,
 
   GST_DEBUG ("buffer=%p length=%d fence_top=%d", buffer, length, fence_top);
 
-  if(length==0)return NULL;
+  if (length == 0)
+    return NULL;
 
 #ifdef _SC_PAGESIZE
-  page_size = sysconf(_SC_PAGESIZE);
+  page_size = sysconf (_SC_PAGESIZE);
 #else
-  page_size = getpagesize();
+  page_size = getpagesize ();
 #endif
 
   alloc_size = ((length - 1) & ~(page_size - 1)) + page_size;
-  alloc_size += 2*page_size;
+  alloc_size += 2 * page_size;
 
-  region = mmap(NULL, alloc_size, PROT_READ|PROT_WRITE,
+  region = mmap (NULL, alloc_size, PROT_READ | PROT_WRITE,
       MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-  if(region == MAP_FAILED){
-    g_warning("mmap failed");
+  if (region == MAP_FAILED) {
+    g_warning ("mmap failed");
     return NULL;
   }
 
-  munmap(region, page_size);
-  munmap(region + alloc_size - page_size, page_size);
+  munmap (region, page_size);
+  munmap (region + alloc_size - page_size, page_size);
 
   fenced_buffer->region = region;
   fenced_buffer->length = alloc_size;
 
-  GST_DEBUG ("new region %p %d", fenced_buffer->region,
-      fenced_buffer->length);
-  
-  if(fence_top){
+  GST_DEBUG ("new region %p %d", fenced_buffer->region, fenced_buffer->length);
+
+  if (fence_top) {
     int offset;
+
     /* Align to top of region, but force alignment to 4 bytes */
     offset = alloc_size - page_size - length;
     offset &= ~0x3;
     return region + offset;
-  }else{
+  } else {
     return region + page_size;
   }
 }
-
index bf0790d..8447e84 100644 (file)
@@ -8,8 +8,9 @@
 #include <gst/gst.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 /* #define's don't like whitespacey bits */
 #define GST_TYPE_EFENCE \
@@ -23,27 +24,27 @@ extern "C" {
 #define GST_IS_EFENCE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_EFENCE))
 
-typedef struct _GstEFence      GstEFence;
-typedef struct _GstEFenceClass GstEFenceClass;
+  typedef struct _GstEFence GstEFence;
+  typedef struct _GstEFenceClass GstEFenceClass;
 
-struct _GstEFence
-{
-  GstElement element;
+  struct _GstEFence
+  {
+    GstElement element;
 
-  GstPad *sinkpad, *srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  gboolean fence_top;
-};
+    gboolean fence_top;
+  };
 
-struct _GstEFenceClass 
-{
-  GstElementClass parent_class;
-};
+  struct _GstEFenceClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_gst_efence_get_type (void);
+  GType gst_gst_efence_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
-#endif /* __GST_EFENCE_H__ */
+#endif                         /* __GST_EFENCE_H__ */
index 0dad689..e1b7486 100644 (file)
 #include <math.h>
 
 /* GstNavigationtest signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void    gst_navigationtest_base_init    (gpointer g_class);
-static void    gst_navigationtest_class_init   (gpointer g_class, gpointer class_data);
-static void    gst_navigationtest_init         (GTypeInstance *instance, gpointer g_class);
+static void gst_navigationtest_base_init (gpointer g_class);
+static void gst_navigationtest_class_init (gpointer g_class,
+    gpointer class_data);
+static void gst_navigationtest_init (GTypeInstance * instance,
+    gpointer g_class);
 
-static gboolean gst_navigationtest_handle_src_event    (GstPad *pad, GstEvent *event);
-static void    gst_navigationtest_set_property         (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_navigationtest_get_property         (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static gboolean gst_navigationtest_handle_src_event (GstPad * pad,
+    GstEvent * event);
+static void gst_navigationtest_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_navigationtest_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_navigationtest_planar411(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_navigationtest_setup(GstVideofilter *videofilter);
+static void gst_navigationtest_planar411 (GstVideofilter * videofilter,
+    void *dest, void *src);
+static void gst_navigationtest_setup (GstVideofilter * videofilter);
 
 GType
 gst_navigationtest_get_type (void)
@@ -61,44 +69,43 @@ gst_navigationtest_get_type (void)
 
   if (!navigationtest_type) {
     static const GTypeInfo navigationtest_info = {
-      sizeof(GstNavigationtestClass),
+      sizeof (GstNavigationtestClass),
       gst_navigationtest_base_init,
       NULL,
       gst_navigationtest_class_init,
       NULL,
       NULL,
-      sizeof(GstNavigationtest),
+      sizeof (GstNavigationtest),
       0,
       gst_navigationtest_init,
     };
-    navigationtest_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstNavigationtest", &navigationtest_info, 0);
+    navigationtest_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstNavigationtest", &navigationtest_info, 0);
   }
   return navigationtest_type;
 }
 
 static GstVideofilterFormat gst_navigationtest_formats[] = {
-  { "I420", 12, gst_navigationtest_planar411, },
+  {"I420", 12, gst_navigationtest_planar411,},
 };
 
-  
+
 static void
 gst_navigationtest_base_init (gpointer g_class)
 {
-  static GstElementDetails navigationtest_details = GST_ELEMENT_DETAILS (
-    "Video Filter Template",
-    "Filter/Video",
-    "Template for a video filter",
-    "David Schleef <ds@schleef.org>"
-  );
+  static GstElementDetails navigationtest_details =
+      GST_ELEMENT_DETAILS ("Video Filter Template",
+      "Filter/Video",
+      "Template for a video filter",
+      "David Schleef <ds@schleef.org>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &navigationtest_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_navigationtest_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_navigationtest_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_navigationtest_formats + i);
   }
 
@@ -115,10 +122,10 @@ gst_navigationtest_class_init (gpointer g_class, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
 #if 0
-  g_object_class_install_property(gobject_class, ARG_METHOD,
-      g_param_spec_enum("method","method","method",
-      GST_TYPE_NAVIGATIONTEST_METHOD, GST_NAVIGATIONTEST_METHOD_1,
-      G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_METHOD,
+      g_param_spec_enum ("method", "method", "method",
+         GST_TYPE_NAVIGATIONTEST_METHOD, GST_NAVIGATIONTEST_METHOD_1,
+         G_PARAM_READWRITE));
 #endif
 
   gobject_class->set_property = gst_navigationtest_set_property;
@@ -128,14 +135,14 @@ gst_navigationtest_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_navigationtest_init (GTypeInstance *instance, gpointer g_class)
+gst_navigationtest_init (GTypeInstance * instance, gpointer g_class)
 {
   GstNavigationtest *navigationtest = GST_NAVIGATIONTEST (instance);
   GstVideofilter *videofilter;
 
-  GST_DEBUG("gst_navigationtest_init");
+  GST_DEBUG ("gst_navigationtest_init");
 
-  videofilter = GST_VIDEOFILTER(navigationtest);
+  videofilter = GST_VIDEOFILTER (navigationtest);
 
   gst_pad_set_event_function (videofilter->srcpad,
       gst_navigationtest_handle_src_event);
@@ -145,7 +152,7 @@ gst_navigationtest_init (GTypeInstance *instance, gpointer g_class)
 }
 
 static gboolean
-gst_navigationtest_handle_src_event (GstPad *pad, GstEvent *event)
+gst_navigationtest_handle_src_event (GstPad * pad, GstEvent * event)
 {
   GstNavigationtest *navigationtest;
 
@@ -153,10 +160,10 @@ gst_navigationtest_handle_src_event (GstPad *pad, GstEvent *event)
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_NAVIGATION:
-      gst_structure_get_double(event->event_data.structure.structure,
-          "pointer_x", &navigationtest->x);
-      gst_structure_get_double(event->event_data.structure.structure,
-          "pointer_y", &navigationtest->y);
+      gst_structure_get_double (event->event_data.structure.structure,
+         "pointer_x", &navigationtest->x);
+      gst_structure_get_double (event->event_data.structure.structure,
+         "pointer_y", &navigationtest->y);
       break;
     default:
       break;
@@ -165,15 +172,16 @@ gst_navigationtest_handle_src_event (GstPad *pad, GstEvent *event)
 }
 
 static void
-gst_navigationtest_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_navigationtest_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstNavigationtest *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_NAVIGATIONTEST(object));
-  src = GST_NAVIGATIONTEST(object);
+  g_return_if_fail (GST_IS_NAVIGATIONTEST (object));
+  src = GST_NAVIGATIONTEST (object);
 
-  GST_DEBUG("gst_navigationtest_set_property");
+  GST_DEBUG ("gst_navigationtest_set_property");
   switch (prop_id) {
 #if 0
     case ARG_METHOD:
@@ -186,13 +194,14 @@ gst_navigationtest_set_property (GObject *object, guint prop_id, const GValue *v
 }
 
 static void
-gst_navigationtest_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_navigationtest_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
   GstNavigationtest *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_NAVIGATIONTEST(object));
-  src = GST_NAVIGATIONTEST(object);
+  g_return_if_fail (GST_IS_NAVIGATIONTEST (object));
+  src = GST_NAVIGATIONTEST (object);
 
   switch (prop_id) {
 #if 0
@@ -206,89 +215,85 @@ gst_navigationtest_get_property (GObject *object, guint prop_id, GValue *value,
   }
 }
 
-static gboolean plugin_init (GstPlugin *plugin)
+static gboolean
+plugin_init (GstPlugin * plugin)
 {
-  if(!gst_library_load("gstvideofilter"))
+  if (!gst_library_load ("gstvideofilter"))
     return FALSE;
 
   return gst_element_register (plugin, "navigationtest", GST_RANK_NONE,
       GST_TYPE_NAVIGATIONTEST);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "navigationtest",
-  "Template for a video filter",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
-
-static void gst_navigationtest_setup(GstVideofilter *videofilter)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "navigationtest",
+    "Template for a video filter",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
+
+     static void gst_navigationtest_setup (GstVideofilter * videofilter)
 {
   GstNavigationtest *navigationtest;
 
-  g_return_if_fail(GST_IS_NAVIGATIONTEST(videofilter));
-  navigationtest = GST_NAVIGATIONTEST(videofilter);
+  g_return_if_fail (GST_IS_NAVIGATIONTEST (videofilter));
+  navigationtest = GST_NAVIGATIONTEST (videofilter);
 
   /* if any setup needs to be done, do it here */
 
 }
 
-static void gst_navigationtest_planar411(GstVideofilter *videofilter,
+static void
+gst_navigationtest_planar411 (GstVideofilter * videofilter,
     void *dest, void *src)
 {
   GstNavigationtest *navigationtest;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
-  int x,y;
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
+  int x, y;
   int x1, x2, y1, y2;
 
-  g_return_if_fail(GST_IS_NAVIGATIONTEST(videofilter));
-  navigationtest = GST_NAVIGATIONTEST(videofilter);
+  g_return_if_fail (GST_IS_NAVIGATIONTEST (videofilter));
+  navigationtest = GST_NAVIGATIONTEST (videofilter);
 
   /* do something interesting here.  This simply copies the source
    * to the destination. */
-  memcpy(dest,src,width * height + (width/2) * (height/2) * 2);
+  memcpy (dest, src, width * height + (width / 2) * (height / 2) * 2);
 
-  x = rint(navigationtest->x);
-  y = rint(navigationtest->y);
+  x = rint (navigationtest->x);
+  y = rint (navigationtest->y);
 
-  if(x<0 || y<0 || x>=width || y>=height)return;
+  if (x < 0 || y < 0 || x >= width || y >= height)
+    return;
 
-  x1 = MAX(x-5, 0);
-  x2 = MIN(x+5, width);
-  y1 = MAX(y-5, 0);
-  y2 = MIN(y+5, height);
+  x1 = MAX (x - 5, 0);
+  x2 = MIN (x + 5, width);
+  y1 = MAX (y - 5, 0);
+  y2 = MIN (y + 5, height);
 
-  for(y=y1;y<y2;y++){
-    for(x=x1;x<x2;x++){
-      ((guint8 *)dest)[y*width + x] = 0;
+  for (y = y1; y < y2; y++) {
+    for (x = x1; x < x2; x++) {
+      ((guint8 *) dest)[y * width + x] = 0;
     }
   }
 
-  dest += height*width;
+  dest += height * width;
   width /= 2;
   height /= 2;
   x1 /= 2;
   x2 /= 2;
   y1 /= 2;
   y2 /= 2;
-  for(y=y1;y<y2;y++){
-    for(x=x1;x<x2;x++){
-      ((guint8 *)dest)[y*width + x] = 128;
+  for (y = y1; y < y2; y++) {
+    for (x = x1; x < x2; x++) {
+      ((guint8 *) dest)[y * width + x] = 128;
     }
   }
 
-  dest += height*width;
-  for(y=y1;y<y2;y++){
-    for(x=x1;x<x2;x++){
-      ((guint8 *)dest)[y*width + x] = 128;
+  dest += height * width;
+  for (y = y1; y < y2; y++) {
+    for (x = x1; x < x2; x++) {
+      ((guint8 *) dest)[y * width + x] = 128;
     }
   }
 
 }
-
index 61798c9..00d3e6d 100644 (file)
@@ -28,7 +28,6 @@
 
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_NAVIGATIONTEST \
   (gst_navigationtest_get_type())
 #define GST_NAVIGATIONTEST(obj) \
@@ -39,24 +38,23 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NAVIGATIONTEST))
 #define GST_IS_NAVIGATIONTEST_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NAVIGATIONTEST))
-
 typedef struct _GstNavigationtest GstNavigationtest;
 typedef struct _GstNavigationtestClass GstNavigationtestClass;
 
-struct _GstNavigationtest {
+struct _GstNavigationtest
+{
   GstVideofilter videofilter;
 
   double x;
   double y;
 };
 
-struct _GstNavigationtestClass {
+struct _GstNavigationtestClass
+{
   GstVideofilterClass parent_class;
 };
 
-GType gst_navigationtest_get_type(void);
+GType gst_navigationtest_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_NAVIGATIONTEST_H__ */
-
index b6739f4..4468354 100644 (file)
@@ -62,13 +62,14 @@ typedef struct _scratch
   gint init;
 } scratch;
 
-static int dx[8] = { 1, 1, 0, -1, -1, -1,  0, 1};
-static int dy[8] = { 0, -1, -1, -1, 0, 1, 1, 1};
+static int dx[8] = { 1, 1, 0, -1, -1, -1, 0, 1 };
+static int dy[8] = { 0, -1, -1, -1, 0, 1, 1, 1 };
 
 typedef struct _GstAgingTV GstAgingTV;
 typedef struct _GstAgingTVClass GstAgingTVClass;
 
-struct _GstAgingTV {
+struct _GstAgingTV
+{
   GstVideofilter videofilter;
 
   gint width, height;
@@ -82,29 +83,34 @@ struct _GstAgingTV {
 
 };
 
-struct _GstAgingTVClass {
+struct _GstAgingTVClass
+{
   GstVideofilterClass parent_class;
 };
 
 /* GstAgingTV signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void    gst_agingtv_base_init   (gpointer g_class);
-static void    gst_agingtv_class_init  (gpointer g_class, gpointer class_data);
-static void    gst_agingtv_init        (GTypeInstance *instance, gpointer g_class);
-static void     gst_agingtv_setup      (GstVideofilter *videofilter);
+static void gst_agingtv_base_init (gpointer g_class);
+static void gst_agingtv_class_init (gpointer g_class, gpointer class_data);
+static void gst_agingtv_init (GTypeInstance * instance, gpointer g_class);
+static void gst_agingtv_setup (GstVideofilter * videofilter);
 
-static void    gst_agingtv_set_property                (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_agingtv_get_property                (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-static void     gst_agingtv_rgb32      (GstVideofilter *videofilter, void *d, void *s);
+static void gst_agingtv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_agingtv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_agingtv_rgb32 (GstVideofilter * videofilter, void *d, void *s);
 
 GType
 gst_agingtv_get_type (void)
@@ -113,43 +119,42 @@ gst_agingtv_get_type (void)
 
   if (!agingtv_type) {
     static const GTypeInfo agingtv_info = {
-      sizeof(GstAgingTVClass),
+      sizeof (GstAgingTVClass),
       gst_agingtv_base_init,
       NULL,
       gst_agingtv_class_init,
       NULL,
       NULL,
-      sizeof(GstAgingTV),
+      sizeof (GstAgingTV),
       0,
       gst_agingtv_init,
     };
-    agingtv_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstAgingTV", &agingtv_info, 0);
+    agingtv_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstAgingTV", &agingtv_info, 0);
   }
   return agingtv_type;
 }
 
 static GstVideofilterFormat gst_agingtv_formats[] = {
-  { "RGB ", 32, gst_agingtv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000, 0xff000000 }
+  {"RGB ", 32, gst_agingtv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000,
+      0xff000000}
 };
-  
+
 static void
 gst_agingtv_base_init (gpointer g_class)
 {
-  static GstElementDetails agingtv_details = GST_ELEMENT_DETAILS (
-    "AgingTV",
-    "Filter/Effect/Video",
-    "AgingTV adds age to video input using scratches and dust",
-    "Sam Lantinga <slouken@devolution.com>"
-  );
+  static GstElementDetails agingtv_details = GST_ELEMENT_DETAILS ("AgingTV",
+      "Filter/Effect/Video",
+      "AgingTV adds age to video input using scratches and dust",
+      "Sam Lantinga <slouken@devolution.com>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &agingtv_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_agingtv_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_agingtv_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_agingtv_formats + i);
   }
 
@@ -166,10 +171,9 @@ gst_agingtv_class_init (gpointer g_class, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
 #if 0
-  g_object_class_install_property(gobject_class, ARG_METHOD,
-      g_param_spec_enum("method","method","method",
-      GST_TYPE_AGINGTV_METHOD, GST_AGINGTV_METHOD_1,
-      G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_METHOD,
+      g_param_spec_enum ("method", "method", "method",
+         GST_TYPE_AGINGTV_METHOD, GST_AGINGTV_METHOD_1, G_PARAM_READWRITE));
 #endif
 
   gobject_class->set_property = gst_agingtv_set_property;
@@ -179,26 +183,27 @@ gst_agingtv_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_agingtv_init (GTypeInstance *instance, gpointer g_class)
+gst_agingtv_init (GTypeInstance * instance, gpointer g_class)
 {
   GstAgingTV *agingtv = GST_AGINGTV (instance);
   GstVideofilter *videofilter;
 
-  GST_DEBUG("gst_agingtv_init");
+  GST_DEBUG ("gst_agingtv_init");
 
-  videofilter = GST_VIDEOFILTER(agingtv);
+  videofilter = GST_VIDEOFILTER (agingtv);
 
   /* do stuff */
 }
 
-static void gst_agingtv_setup(GstVideofilter *videofilter)
+static void
+gst_agingtv_setup (GstVideofilter * videofilter)
 {
   GstAgingTV *agingtv;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
 
-  g_return_if_fail(GST_IS_AGINGTV(videofilter));
-  agingtv = GST_AGINGTV(videofilter);
+  g_return_if_fail (GST_IS_AGINGTV (videofilter));
+  agingtv = GST_AGINGTV (videofilter);
 
   /* if any setup needs to be done, do it here */
 
@@ -206,7 +211,7 @@ static void gst_agingtv_setup(GstVideofilter *videofilter)
   agingtv->height = height;
 }
 
-static unsigned int 
+static unsigned int
 fastrand (void)
 {
   static unsigned int fastrand_val;
@@ -215,8 +220,8 @@ fastrand (void)
 }
 
 
-static void 
-coloraging (guint32 *src, guint32 *dest, gint video_area)
+static void
+coloraging (guint32 * src, guint32 * dest, gint video_area)
 {
   guint32 a, b;
   gint i;
@@ -229,8 +234,9 @@ coloraging (guint32 *src, guint32 *dest, gint video_area)
 }
 
 
-static void 
-scratching (scratch *scratches, gint scratch_lines, guint32 *dest, gint width, gint height)
+static void
+scratching (scratch * scratches, gint scratch_lines, guint32 * dest, gint width,
+    gint height)
 {
   gint i, y, y1, y2;
   guint32 *p, a, b;
@@ -241,7 +247,7 @@ scratching (scratch *scratches, gint scratch_lines, guint32 *dest, gint width, g
 
     if (scratch->life) {
       scratch->x = scratch->x + scratch->dx;
-      
+
       if (scratch->x < 0 || scratch->x > width * 256) {
        scratch->life = 0;
        break;
@@ -277,8 +283,9 @@ scratching (scratch *scratches, gint scratch_lines, guint32 *dest, gint width, g
   }
 }
 
-static void 
-dusts (guint32 *dest, gint width, gint height, gint dust_interval, gint area_scale)
+static void
+dusts (guint32 * dest, gint width, gint height, gint dust_interval,
+    gint area_scale)
 {
   int i, j;
   int dnum;
@@ -291,8 +298,8 @@ dusts (guint32 *dest, gint width, gint height, gint dust_interval, gint area_sca
     }
     return;
   }
-  dnum = area_scale * 4 + (fastrand() >> 27);
-  
+  dnum = area_scale * 4 + (fastrand () >> 27);
+
   for (i = 0; i < dnum; i++) {
     x = fastrand () % width;
     y = fastrand () % height;
@@ -303,7 +310,8 @@ dusts (guint32 *dest, gint width, gint height, gint dust_interval, gint area_sca
       y += dy[d];
       x += dx[d];
 
-      if (y >= height || x >= width) break;
+      if (y >= height || x >= width)
+       break;
 
       d = (d + fastrand () % 3 - 1) & 7;
     }
@@ -311,8 +319,9 @@ dusts (guint32 *dest, gint width, gint height, gint dust_interval, gint area_sca
   dust_interval--;
 }
 
-static void 
-pits (guint32 *dest, gint width, gint height, gint area_scale, gint pits_interval)
+static void
+pits (guint32 * dest, gint width, gint height, gint area_scale,
+    gint pits_interval)
 {
   int i, j;
   int pnum, size, pnumscale;
@@ -340,46 +349,50 @@ pits (guint32 *dest, gint width, gint height, gint area_scale, gint pits_interva
       x = x + fastrand () % 3 - 1;
       y = y + fastrand () % 3 - 1;
 
-      if (y >= height || x >= width) break;
+      if (y >= height || x >= width)
+       break;
 
       dest[y * width + x] = 0xc0c0c0;
     }
   }
 }
 
-static void     
-gst_agingtv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
+static void
+gst_agingtv_rgb32 (GstVideofilter * videofilter, void *d, void *s)
 {
   GstAgingTV *agingtv;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
   int video_size = width * height;
   guint32 *src = s;
   guint32 *dest = d;
   gint area_scale = width * height / 64 / 480;
-  if (area_scale <= 0) area_scale = 1;
 
-  g_return_if_fail(GST_IS_AGINGTV(videofilter));
-  agingtv = GST_AGINGTV(videofilter);
+  if (area_scale <= 0)
+    area_scale = 1;
+
+  g_return_if_fail (GST_IS_AGINGTV (videofilter));
+  agingtv = GST_AGINGTV (videofilter);
 
   coloraging (src, dest, video_size);
   scratching (agingtv->scratches, agingtv->scratch_lines, dest, width, height);
   pits (dest, width, height, area_scale, agingtv->pits_interval);
-  if(area_scale > 1)
+  if (area_scale > 1)
     dusts (dest, width, height, agingtv->dust_interval, area_scale);
-  
+
 }
 
 static void
-gst_agingtv_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_agingtv_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstAgingTV *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_AGINGTV(object));
-  src = GST_AGINGTV(object);
+  g_return_if_fail (GST_IS_AGINGTV (object));
+  src = GST_AGINGTV (object);
 
-  GST_DEBUG("gst_agingtv_set_property");
+  GST_DEBUG ("gst_agingtv_set_property");
   switch (prop_id) {
 #if 0
     case ARG_METHOD:
@@ -392,13 +405,14 @@ gst_agingtv_set_property (GObject *object, guint prop_id, const GValue *value, G
 }
 
 static void
-gst_agingtv_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_agingtv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstAgingTV *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_AGINGTV(object));
-  src = GST_AGINGTV(object);
+  g_return_if_fail (GST_IS_AGINGTV (object));
+  src = GST_AGINGTV (object);
 
   switch (prop_id) {
 #if 0
@@ -411,4 +425,3 @@ gst_agingtv_get_property (GObject *object, guint prop_id, GValue *value, GParamS
       break;
   }
 }
-
index ba2d1d6..a7cbbc3 100644 (file)
@@ -35,12 +35,12 @@ typedef struct _GstDiceTVClass GstDiceTVClass;
 #define MAX_CUBE_BITS       5
 #define MIN_CUBE_BITS       0
 
-typedef enum _dice_dir 
+typedef enum _dice_dir
 {
-  DICE_UP      = 0,
-  DICE_RIGHT   = 1,
-  DICE_DOWN    = 2,
-  DICE_LEFT    = 3
+  DICE_UP = 0,
+  DICE_RIGHT = 1,
+  DICE_DOWN = 2,
+  DICE_LEFT = 3
 } DiceDir;
 
 struct _GstDiceTV
@@ -48,7 +48,7 @@ struct _GstDiceTV
   GstVideofilter videofilter;
 
   gint width, height;
-  gchardicemap;
+  gchar *dicemap;
 
   gint g_cube_bits;
   gint g_cube_size;
@@ -60,7 +60,7 @@ struct _GstDiceTVClass
 {
   GstVideofilterClass parent_class;
 
-  void (*reset) (GstElement *element);
+  void (*reset) (GstElement * element);
 };
 
 /* Filter signals and args */
@@ -77,29 +77,30 @@ enum
   ARG_CUBE_BITS,
 };
 
-static void    gst_dicetv_base_init            (gpointer g_class);
-static void    gst_dicetv_class_init           (gpointer g_class, gpointer class_data);
-static void    gst_dicetv_init                 (GTypeInstance *instance, gpointer g_class);
+static void gst_dicetv_base_init (gpointer g_class);
+static void gst_dicetv_class_init (gpointer g_class, gpointer class_data);
+static void gst_dicetv_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_dicetv_reset_handler        (GstElement *elem);
-static void    gst_dicetv_create_map           (GstDiceTV *filter);
+static void gst_dicetv_reset_handler (GstElement * elem);
+static void gst_dicetv_create_map (GstDiceTV * filter);
 
-static void    gst_dicetv_set_property         (GObject * object, guint prop_id,
-                                                const GValue * value, GParamSpec * pspec);
-static void    gst_dicetv_get_property         (GObject * object, guint prop_id,
-                                                GValue * value, GParamSpec * pspec);
-static void     gst_dicetv_setup               (GstVideofilter *videofilter);
-static void     gst_dicetv_draw                (GstVideofilter *videofilter, void *d, void *s);
+static void gst_dicetv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_dicetv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_dicetv_setup (GstVideofilter * videofilter);
+static void gst_dicetv_draw (GstVideofilter * videofilter, void *d, void *s);
 
 static guint gst_dicetv_signals[LAST_SIGNAL] = { 0 };
 
-GType gst_dicetv_get_type (void)
+GType
+gst_dicetv_get_type (void)
 {
   static GType dicetv_type = 0;
 
   if (!dicetv_type) {
     static const GTypeInfo dicetv_info = {
-      sizeof (GstDiceTVClass), 
+      sizeof (GstDiceTVClass),
       gst_dicetv_base_init,
       NULL,
       (GClassInitFunc) gst_dicetv_class_init,
@@ -110,37 +111,41 @@ GType gst_dicetv_get_type (void)
       (GInstanceInitFunc) gst_dicetv_init,
     };
 
-    dicetv_type = g_type_register_static (GST_TYPE_VIDEOFILTER, "GstDiceTV", &dicetv_info, 0);
+    dicetv_type =
+       g_type_register_static (GST_TYPE_VIDEOFILTER, "GstDiceTV", &dicetv_info,
+       0);
   }
   return dicetv_type;
 }
 
 static GstVideofilterFormat gst_dicetv_formats[] = {
-  { "RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0x00ff0000, 0x0000ff00, 0x000000ff },
-  { "RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0xff000000, 0x00ff0000, 0x0000ff00 },
-  { "RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0x000000ff, 0x0000ff00, 0x00ff0000 },
-  { "RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000, 0xff000000 },
+  {"RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0x00ff0000, 0x0000ff00,
+      0x000000ff},
+  {"RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0xff000000, 0x00ff0000,
+      0x0000ff00},
+  {"RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0x000000ff, 0x0000ff00,
+      0x00ff0000},
+  {"RGB ", 32, gst_dicetv_draw, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000,
+      0xff000000},
 };
 
 static void
 gst_dicetv_base_init (gpointer g_class)
 {
   /* elementfactory information */
-  static GstElementDetails gst_dicetv_details = GST_ELEMENT_DETAILS (
-    "DiceTV",
-    "Filter/Effect/Video",
-    "'Dices' the screen up into many small squares",
-    "Wim Taymans <wim.taymans@chello.be>"
-  );
+  static GstElementDetails gst_dicetv_details = GST_ELEMENT_DETAILS ("DiceTV",
+      "Filter/Effect/Video",
+      "'Dices' the screen up into many small squares",
+      "Wim Taymans <wim.taymans@chello.be>");
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &gst_dicetv_details);
 
-  for(i=0; i < G_N_ELEMENTS(gst_dicetv_formats); i++) {
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_dicetv_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_dicetv_formats + i);
   }
 
@@ -159,19 +164,17 @@ gst_dicetv_class_init (gpointer g_class, gpointer class_data)
   dicetv_class = GST_DICETV_CLASS (g_class);
 
   gst_dicetv_signals[RESET_SIGNAL] =
-    g_signal_new ("reset",
-                  G_TYPE_FROM_CLASS (g_class),
-                  G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GstDiceTVClass, reset),
-                  NULL, NULL,
-                  g_cclosure_marshal_VOID__VOID,
-                  G_TYPE_NONE, 0);
+      g_signal_new ("reset",
+      G_TYPE_FROM_CLASS (g_class),
+      G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstDiceTVClass, reset),
+      NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
   dicetv_class->reset = gst_dicetv_reset_handler;
-       
+
   g_object_class_install_property (gobject_class, ARG_CUBE_BITS,
-    g_param_spec_int ("square_bits","Square Bits","The size of the Squares",
-                      MIN_CUBE_BITS, MAX_CUBE_BITS, DEFAULT_CUBE_BITS, G_PARAM_READWRITE));
+      g_param_spec_int ("square_bits", "Square Bits", "The size of the Squares",
+         MIN_CUBE_BITS, MAX_CUBE_BITS, DEFAULT_CUBE_BITS, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_dicetv_set_property;
   gobject_class->get_property = gst_dicetv_get_property;
@@ -180,7 +183,7 @@ gst_dicetv_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_dicetv_setup (GstVideofilter *videofilter)
+gst_dicetv_setup (GstVideofilter * videofilter)
 {
   GstDiceTV *dicetv;
 
@@ -191,12 +194,13 @@ gst_dicetv_setup (GstVideofilter *videofilter)
   dicetv->height = gst_videofilter_get_input_height (videofilter);
 
   g_free (dicetv->dicemap);
-  dicetv->dicemap = (gchar *) g_malloc (dicetv->height * dicetv->width * sizeof(char));
+  dicetv->dicemap =
+      (gchar *) g_malloc (dicetv->height * dicetv->width * sizeof (char));
   gst_dicetv_create_map (dicetv);
 }
 
 static void
-gst_dicetv_init (GTypeInstance *instance, gpointer g_class)
+gst_dicetv_init (GTypeInstance * instance, gpointer g_class)
 {
   GstDiceTV *filter = GST_DICETV (instance);
 
@@ -208,7 +212,7 @@ gst_dicetv_init (GTypeInstance *instance, gpointer g_class)
 }
 
 static void
-gst_dicetv_reset_handler (GstElement *element)
+gst_dicetv_reset_handler (GstElement * element)
 {
   GstDiceTV *filter = GST_DICETV (element);
 
@@ -217,14 +221,14 @@ gst_dicetv_reset_handler (GstElement *element)
 
 static unsigned int
 fastrand (void)
-{   
+{
   static unsigned int fastrand_val;
 
   return (fastrand_val = fastrand_val * 1103515245 + 12345);
 }
 
-static void 
-gst_dicetv_draw (GstVideofilter *videofilter, void *d, void *s)
+static void
+gst_dicetv_draw (GstVideofilter * videofilter, void *d, void *s)
 {
   GstDiceTV *filter;
   guint32 *src;
@@ -236,10 +240,10 @@ gst_dicetv_draw (GstVideofilter *videofilter, void *d, void *s)
   gint video_width = filter->width;
   gint g_cube_bits = filter->g_cube_bits;
   gint g_cube_size = filter->g_cube_size;
-    
+
   filter = GST_DICETV (videofilter);
-  src = (guint32 *)s;
-  dest = (guint32 *)d;
+  src = (guint32 *) s;
+  dest = (guint32 *) d;
 
   video_width = filter->width;
   g_cube_bits = filter->g_cube_bits;
@@ -248,64 +252,64 @@ gst_dicetv_draw (GstVideofilter *videofilter, void *d, void *s)
   map_i = 0;
   for (map_y = 0; map_y < filter->g_map_height; map_y++) {
     for (map_x = 0; map_x < filter->g_map_width; map_x++) {
-       base = (map_y << g_cube_bits) * video_width + (map_x << g_cube_bits);
-
-       switch (filter->dicemap[map_i]) {
-         case DICE_UP:
-           for (dy = 0; dy < g_cube_size; dy++) {
-             i = base + dy * video_width;
-             for (dx = 0; dx < g_cube_size; dx++) {
-               dest[i] = src[i];
-               i++;
-             }
-           }
-           break;
-         case DICE_LEFT:
-           for (dy = 0; dy < g_cube_size; dy++) {
-             i = base + dy * video_width;
-
-             for (dx = 0; dx < g_cube_size; dx++) {
-               di = base + (dx * video_width) + (g_cube_size - dy - 1);
-               dest[di] = src[i];
-               i++;
-             }
-           }
-           break;
-         case DICE_DOWN:
-           for (dy = 0; dy < g_cube_size; dy++) {
-             di = base + dy * video_width;
-             i = base + (g_cube_size - dy - 1) * video_width + g_cube_size;
-             for (dx = 0; dx < g_cube_size; dx++) {
-               i--;
-               dest[di] = src[i];
-               di++;
-             }
-           }
-           break;
-         case DICE_RIGHT:
-           for (dy = 0; dy < g_cube_size; dy++) {
-             i = base + (dy * video_width);
-             for (dx = 0; dx < g_cube_size; dx++) {
-               di = base + dy + (g_cube_size - dx - 1) * video_width;
-               dest[di] = src[i];
-               i++;
-             }
-           }
-           break;
-         default:
-          g_assert_not_reached ();
-           break;
+      base = (map_y << g_cube_bits) * video_width + (map_x << g_cube_bits);
+
+      switch (filter->dicemap[map_i]) {
+       case DICE_UP:
+         for (dy = 0; dy < g_cube_size; dy++) {
+           i = base + dy * video_width;
+           for (dx = 0; dx < g_cube_size; dx++) {
+             dest[i] = src[i];
+             i++;
+           }
+         }
+         break;
+       case DICE_LEFT:
+         for (dy = 0; dy < g_cube_size; dy++) {
+           i = base + dy * video_width;
+
+           for (dx = 0; dx < g_cube_size; dx++) {
+             di = base + (dx * video_width) + (g_cube_size - dy - 1);
+             dest[di] = src[i];
+             i++;
+           }
+         }
+         break;
+       case DICE_DOWN:
+         for (dy = 0; dy < g_cube_size; dy++) {
+           di = base + dy * video_width;
+           i = base + (g_cube_size - dy - 1) * video_width + g_cube_size;
+           for (dx = 0; dx < g_cube_size; dx++) {
+             i--;
+             dest[di] = src[i];
+             di++;
+           }
+         }
+         break;
+       case DICE_RIGHT:
+         for (dy = 0; dy < g_cube_size; dy++) {
+           i = base + (dy * video_width);
+           for (dx = 0; dx < g_cube_size; dx++) {
+             di = base + dy + (g_cube_size - dx - 1) * video_width;
+             dest[di] = src[i];
+             i++;
+           }
+         }
+         break;
+       default:
+         g_assert_not_reached ();
+         break;
       }
       map_i++;
     }
   }
 }
 
-static void 
-gst_dicetv_create_map (GstDiceTV *filter)
+static void
+gst_dicetv_create_map (GstDiceTV * filter)
 {
   gint x, y, i;
-    
+
   filter->g_map_height = filter->height >> filter->g_cube_bits;
   filter->g_map_width = filter->width >> filter->g_cube_bits;
   filter->g_cube_size = 1 << filter->g_cube_bits;
@@ -313,16 +317,17 @@ gst_dicetv_create_map (GstDiceTV *filter)
   i = 0;
 
   for (y = 0; y < filter->g_map_height; y++) {
-    for(x = 0; x < filter->g_map_width; x++) {
+    for (x = 0; x < filter->g_map_width; x++) {
       // dicemap[i] = ((i + y) & 0x3); /* Up, Down, Left or Right */
-      filter->dicemap[i] = (fastrand() >> 24) & 0x03;
+      filter->dicemap[i] = (fastrand () >> 24) & 0x03;
       i++;
     }
   }
 }
 
 static void
-gst_dicetv_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_dicetv_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstDiceTV *filter;
 
@@ -341,7 +346,8 @@ gst_dicetv_set_property (GObject * object, guint prop_id, const GValue * value,
 }
 
 static void
-gst_dicetv_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_dicetv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstDiceTV *filter;
 
index 26bf269..1e9002b 100644 (file)
@@ -69,27 +69,28 @@ enum
   ARG_0,
 };
 
-static void    gst_edgetv_base_init            (gpointer g_class);
-static void    gst_edgetv_class_init           (gpointer g_class, gpointer class_data);
-static void    gst_edgetv_init                 (GTypeInstance *instance, gpointer g_class);
+static void gst_edgetv_base_init (gpointer g_class);
+static void gst_edgetv_class_init (gpointer g_class, gpointer class_data);
+static void gst_edgetv_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_edgetv_set_property         (GObject * object, guint prop_id,
-                                                const GValue * value, GParamSpec * pspec);
-static void    gst_edgetv_get_property         (GObject * object, guint prop_id,
-                                                GValue * value, GParamSpec * pspec);
+static void gst_edgetv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_edgetv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void     gst_edgetv_setup               (GstVideofilter *videofilter);
-static void     gst_edgetv_rgb32               (GstVideofilter *videofilter, void *d, void *s);
+static void gst_edgetv_setup (GstVideofilter * videofilter);
+static void gst_edgetv_rgb32 (GstVideofilter * videofilter, void *d, void *s);
 
 /*static guint gst_edgetv_signals[LAST_SIGNAL] = { 0 }; */
 
-GType gst_edgetv_get_type (void)
+GType
+gst_edgetv_get_type (void)
 {
   static GType edgetv_type = 0;
 
   if (!edgetv_type) {
     static const GTypeInfo edgetv_info = {
-      sizeof (GstEdgeTVClass), 
+      sizeof (GstEdgeTVClass),
       gst_edgetv_base_init,
       NULL,
       (GClassInitFunc) gst_edgetv_class_init,
@@ -100,34 +101,35 @@ GType gst_edgetv_get_type (void)
       (GInstanceInitFunc) gst_edgetv_init,
     };
 
-    edgetv_type = g_type_register_static (GST_TYPE_VIDEOFILTER, "GstEdgeTV", &edgetv_info, 0);
+    edgetv_type =
+       g_type_register_static (GST_TYPE_VIDEOFILTER, "GstEdgeTV", &edgetv_info,
+       0);
   }
   return edgetv_type;
 }
 
 static GstVideofilterFormat gst_edgetv_formats[] = {
-  { "RGB ", 32, gst_edgetv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000, 0xff000000 }
+  {"RGB ", 32, gst_edgetv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000,
+      0xff000000}
 };
 
 static void
 gst_edgetv_base_init (gpointer g_class)
 {
   /* elementfactory information */
-  static GstElementDetails gst_edgetv_details = GST_ELEMENT_DETAILS (
-    "EdgeTV",
-    "Filter/Effect/Video",
-    "Apply edge detect on video",
-    "Wim Taymans <wim.taymans@chello.be>"
-  );
+  static GstElementDetails gst_edgetv_details = GST_ELEMENT_DETAILS ("EdgeTV",
+      "Filter/Effect/Video",
+      "Apply edge detect on video",
+      "Wim Taymans <wim.taymans@chello.be>");
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &gst_edgetv_details);
 
-  for(i=0; i < G_N_ELEMENTS(gst_edgetv_formats); i++) {
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_edgetv_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_edgetv_formats + i);
   }
 
@@ -150,14 +152,15 @@ gst_edgetv_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_edgetv_init (GTypeInstance *instance, gpointer g_class)
+gst_edgetv_init (GTypeInstance * instance, gpointer g_class)
 {
   GstEdgeTV *edgetv = GST_EDGETV (instance);
 
   edgetv->map = NULL;
 }
 
-static void gst_edgetv_setup(GstVideofilter *videofilter)
+static void
+gst_edgetv_setup (GstVideofilter * videofilter)
 {
   GstEdgeTV *edgetv;
   int width = gst_videofilter_get_input_width (videofilter);
@@ -173,12 +176,15 @@ static void gst_edgetv_setup(GstVideofilter *videofilter)
   edgetv->video_width_margin = width % 4;
 
   g_free (edgetv->map);
-  edgetv->map = (guint32 *)g_malloc (edgetv->map_width * edgetv->map_height * sizeof (guint32) * 2);
-  memset(edgetv->map, 0, edgetv->map_width * edgetv->map_height * sizeof (guint32) * 2);
+  edgetv->map =
+      (guint32 *) g_malloc (edgetv->map_width * edgetv->map_height *
+      sizeof (guint32) * 2);
+  memset (edgetv->map, 0,
+      edgetv->map_width * edgetv->map_height * sizeof (guint32) * 2);
 }
 
-static void     
-gst_edgetv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
+static void
+gst_edgetv_rgb32 (GstVideofilter * videofilter, void *d, void *s)
 {
   GstEdgeTV *filter;
   int x, y;
@@ -191,10 +197,10 @@ gst_edgetv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
 
   src = (guint32 *) s;
   dest = (guint32 *) d;
-  
+
   src += filter->width * 4 + 4;
   dest += filter->width * 4 + 4;
-  
+
   for (y = 1; y < filter->map_height - 1; y++) {
     for (x = 1; x < filter->map_width - 1; x++) {
 
@@ -272,7 +278,8 @@ gst_edgetv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
 }
 
 static void
-gst_edgetv_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_edgetv_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstEdgeTV *filter;
 
@@ -288,7 +295,8 @@ gst_edgetv_set_property (GObject * object, guint prop_id, const GValue * value,
 }
 
 static void
-gst_edgetv_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_edgetv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstEdgeTV *filter;
 
index 2fa1583..71f51c5 100644 (file)
 #include "gsteffectv.h"
 
 
-struct _elements_entry {
+struct _elements_entry
+{
   gchar *name;
-  GType (*type) (void);
+    GType (*type) (void);
 };
 
 static struct _elements_entry _elements[] = {
-  { "edgeTV",                  gst_edgetv_get_type }, 
-  { "agingTV",                 gst_agingtv_get_type },
-  { "diceTV",                  gst_dicetv_get_type },
-  { "warpTV",                  gst_warptv_get_type },
-  { "shagadelicTV",    gst_shagadelictv_get_type },
-  { "vertigoTV",       gst_vertigotv_get_type },
-  { "revTV",           gst_revtv_get_type },
-  { "quarkTV",                 gst_quarktv_get_type },
-  { NULL, 0 },
+  {"edgeTV", gst_edgetv_get_type},
+  {"agingTV", gst_agingtv_get_type},
+  {"diceTV", gst_dicetv_get_type},
+  {"warpTV", gst_warptv_get_type},
+  {"shagadelicTV", gst_shagadelictv_get_type},
+  {"vertigoTV", gst_vertigotv_get_type},
+  {"revTV", gst_revtv_get_type},
+  {"quarkTV", gst_quarktv_get_type},
+  {NULL, 0},
 };
 
 
-GstStaticPadTemplate gst_effectv_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GstStaticPadTemplate gst_effectv_src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( 
-                       GST_VIDEO_CAPS_BGRx "; "
-                       GST_VIDEO_CAPS_RGBx
-                   )
-);
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_BGRx "; " GST_VIDEO_CAPS_RGBx)
+    );
 
 GstStaticPadTemplate gst_effectv_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+    GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( 
-                       GST_VIDEO_CAPS_BGRx "; "
-                       GST_VIDEO_CAPS_RGBx
-                   )
-);
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_BGRx "; " GST_VIDEO_CAPS_RGBx)
+    );
 
 static gboolean
 plugin_init (GstPlugin * plugin)
@@ -81,7 +73,7 @@ plugin_init (GstPlugin * plugin)
 
   while (_elements[i].name) {
     if (!gst_element_register (plugin, _elements[i].name,
-         GST_RANK_NONE, (_elements[i].type) ()))
+           GST_RANK_NONE, (_elements[i].type) ()))
       return FALSE;
     i++;
   }
@@ -89,14 +81,8 @@ plugin_init (GstPlugin * plugin)
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "effectv",
-  "effect plugins from the effectv project",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-);
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "effectv",
+    "effect plugins from the effectv project",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN);
index 1b4a227..4268321 100644 (file)
@@ -66,12 +66,10 @@ struct _GstQuarkTVClass
 };
 
 /* elementfactory information */
-static GstElementDetails gst_quarktv_details = GST_ELEMENT_DETAILS (
-  "QuarkTV",
-  "Filter/Effect/Video",
-  "Motion dissolver",
-  "FUKUCHI, Kentarou <fukuchi@users.sourceforge.net>"
-);
+static GstElementDetails gst_quarktv_details = GST_ELEMENT_DETAILS ("QuarkTV",
+    "Filter/Effect/Video",
+    "Motion dissolver",
+    "FUKUCHI, Kentarou <fukuchi@users.sourceforge.net>");
 
 /* Filter signals and args */
 enum
@@ -86,21 +84,21 @@ enum
   ARG_PLANES,
 };
 
-static void    gst_quarktv_base_init           (gpointer g_class);
-static void    gst_quarktv_class_init          (GstQuarkTVClass * klass);
-static void    gst_quarktv_init                (GstQuarkTV * filter);
+static void gst_quarktv_base_init (gpointer g_class);
+static void gst_quarktv_class_init (GstQuarkTVClass * klass);
+static void gst_quarktv_init (GstQuarkTV * filter);
 
-static GstElementStateReturn
-               gst_quarktv_change_state        (GstElement *element);
-               
-static void    gst_quarktv_set_property        (GObject * object, guint prop_id,
-                                                const GValue * value, GParamSpec * pspec);
-static void    gst_quarktv_get_property        (GObject * object, guint prop_id,
-                                                GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_quarktv_change_state (GstElement * element);
+
+static void gst_quarktv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_quarktv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void    gst_quarktv_chain               (GstPad * pad, GstData *_data);
+static void gst_quarktv_chain (GstPad * pad, GstData * _data);
 
 static GstElementClass *parent_class = NULL;
+
 /* static guint gst_quarktv_signals[LAST_SIGNAL] = { 0 }; */
 
 static inline guint32
@@ -111,13 +109,14 @@ fastrand (void)
   return (fastrand_val = fastrand_val * 1103515245 + 12345);
 }
 
-GType gst_quarktv_get_type (void)
+GType
+gst_quarktv_get_type (void)
 {
   static GType quarktv_type = 0;
 
   if (!quarktv_type) {
     static const GTypeInfo quarktv_info = {
-      sizeof (GstQuarkTVClass), 
+      sizeof (GstQuarkTVClass),
       gst_quarktv_base_init,
       NULL,
       (GClassInitFunc) gst_quarktv_class_init,
@@ -128,7 +127,9 @@ GType gst_quarktv_get_type (void)
       (GInstanceInitFunc) gst_quarktv_init,
     };
 
-    quarktv_type = g_type_register_static (GST_TYPE_ELEMENT, "GstQuarkTV", &quarktv_info, 0);
+    quarktv_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstQuarkTV", &quarktv_info,
+       0);
   }
   return quarktv_type;
 }
@@ -142,7 +143,7 @@ gst_quarktv_base_init (gpointer g_class)
       gst_static_pad_template_get (&gst_effectv_src_template));
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_effectv_sink_template));
+
   gst_element_class_set_details (element_class, &gst_quarktv_details);
 }
 
@@ -158,9 +159,9 @@ gst_quarktv_class_init (GstQuarkTVClass * klass)
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PLANES,
-    g_param_spec_int ("planes","Planes","Number of frames in the buffer",
-                      1, 32, PLANES, G_PARAM_READWRITE));
-       
+      g_param_spec_int ("planes", "Planes", "Number of frames in the buffer",
+         1, 32, PLANES, G_PARAM_READWRITE));
+
   gobject_class->set_property = gst_quarktv_set_property;
   gobject_class->get_property = gst_quarktv_get_property;
 
@@ -192,8 +193,8 @@ gst_quarktv_link (GstPad * pad, const GstCaps * caps)
 
   filter->area = filter->width * filter->height;
 
-  for(i = 0; i < filter->planes; i++) {
-    if (filter->planetable[i]) 
+  for (i = 0; i < filter->planes; i++) {
+    if (filter->planetable[i])
       gst_buffer_unref (filter->planetable[i]);
     filter->planetable[i] = NULL;
   }
@@ -204,27 +205,30 @@ gst_quarktv_link (GstPad * pad, const GstCaps * caps)
 static void
 gst_quarktv_init (GstQuarkTV * filter)
 {
-  filter->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_effectv_sink_template), "sink");
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_effectv_sink_template), "sink");
   gst_pad_set_getcaps_function (filter->sinkpad, gst_pad_proxy_getcaps);
   gst_pad_set_chain_function (filter->sinkpad, gst_quarktv_chain);
   gst_pad_set_link_function (filter->sinkpad, gst_quarktv_link);
   gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
 
-  filter->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_effectv_src_template), "src");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_effectv_src_template), "src");
   gst_pad_set_getcaps_function (filter->srcpad, gst_pad_proxy_getcaps);
   gst_pad_set_link_function (filter->srcpad, gst_quarktv_link);
   gst_element_add_pad (GST_ELEMENT (filter), filter->srcpad);
 
   filter->planes = PLANES;
   filter->current_plane = filter->planes - 1;
-  filter->planetable = (GstBuffer **) g_malloc(filter->planes * sizeof(GstBuffer *));
-  memset (filter->planetable, 0, filter->planes * sizeof(GstBuffer *));
+  filter->planetable =
+      (GstBuffer **) g_malloc (filter->planes * sizeof (GstBuffer *));
+  memset (filter->planetable, 0, filter->planes * sizeof (GstBuffer *));
 }
 
 static void
-gst_quarktv_chain (GstPad * pad, GstData *_data)
+gst_quarktv_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstQuarkTV *filter;
@@ -239,35 +243,38 @@ gst_quarktv_chain (GstPad * pad, GstData *_data)
   area = filter->area;
 
   outbuf = gst_buffer_new ();
-  GST_BUFFER_SIZE (outbuf) = area * sizeof(guint32);
-  dest = (guint32 *) GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
+  GST_BUFFER_SIZE (outbuf) = area * sizeof (guint32);
+  dest = (guint32 *) GST_BUFFER_DATA (outbuf) =
+      g_malloc (GST_BUFFER_SIZE (outbuf));
   GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
-  
-  if (filter->planetable[filter->current_plane]) 
+
+  if (filter->planetable[filter->current_plane])
     gst_buffer_unref (filter->planetable[filter->current_plane]);
 
   filter->planetable[filter->current_plane] = buf;
 
   while (--area) {
     GstBuffer *rand;
-    
+
     /* pick a random buffer */
-    rand = filter->planetable[(filter->current_plane + (fastrand () >> 24)) & (filter->planes - 1)];
-    
-    dest[area] = (rand ? ((guint32 *)GST_BUFFER_DATA (rand))[area] : 0);
+    rand =
+       filter->planetable[(filter->current_plane +
+           (fastrand () >> 24)) & (filter->planes - 1)];
+
+    dest[area] = (rand ? ((guint32 *) GST_BUFFER_DATA (rand))[area] : 0);
   }
 
   gst_pad_push (filter->srcpad, GST_DATA (outbuf));
 
   filter->current_plane--;
-  
-  if (filter->current_plane < 0) 
+
+  if (filter->current_plane < 0)
     filter->current_plane = filter->planes - 1;
 }
 
 static GstElementStateReturn
-gst_quarktv_change_state (GstElement *element)
-{ 
+gst_quarktv_change_state (GstElement * element)
+{
   GstQuarkTV *filter = GST_QUARKTV (element);
 
   switch (GST_STATE_TRANSITION (element)) {
@@ -276,9 +283,9 @@ gst_quarktv_change_state (GstElement *element)
       gint i;
 
       for (i = 0; i < filter->planes; i++) {
-        if (filter->planetable[i])
-          gst_buffer_unref (filter->planetable[i]);
-        filter->planetable[i] = NULL;
+       if (filter->planetable[i])
+         gst_buffer_unref (filter->planetable[i]);
+       filter->planetable[i] = NULL;
       }
       g_free (filter->planetable);
       filter->planetable = NULL;
@@ -293,7 +300,8 @@ gst_quarktv_change_state (GstElement *element)
 
 
 static void
-gst_quarktv_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_quarktv_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstQuarkTV *filter;
 
@@ -304,29 +312,29 @@ gst_quarktv_set_property (GObject * object, guint prop_id, const GValue * value,
 
   switch (prop_id) {
     case ARG_PLANES:
-      {
-        gint new_n_planes = g_value_get_int (value);
-       GstBuffer **new_planetable;
-       gint i;
-
-        /* If the number of planes changed, copy across any existing planes */
-       if (new_n_planes != filter->planes)
-        {
-          new_planetable = (GstBuffer **) g_malloc(new_n_planes * sizeof(GstBuffer *));
-
-          for(i = 0; (i < new_n_planes) && (i < filter->planes); i++) {
-            new_planetable[i] = filter->planetable[i];
-          }
-          for(; i < filter->planes; i++) {
-            if (filter->planetable[i]) 
-              gst_buffer_unref (filter->planetable[i]);
-          }
-          g_free (filter->planetable);
-          filter->planetable = new_planetable;
-          filter->current_plane = filter->planes - 1;
-          filter->planes = new_n_planes;
-        }
+    {
+      gint new_n_planes = g_value_get_int (value);
+      GstBuffer **new_planetable;
+      gint i;
+
+      /* If the number of planes changed, copy across any existing planes */
+      if (new_n_planes != filter->planes) {
+       new_planetable =
+           (GstBuffer **) g_malloc (new_n_planes * sizeof (GstBuffer *));
+
+       for (i = 0; (i < new_n_planes) && (i < filter->planes); i++) {
+         new_planetable[i] = filter->planetable[i];
+       }
+       for (; i < filter->planes; i++) {
+         if (filter->planetable[i])
+           gst_buffer_unref (filter->planetable[i]);
+       }
+       g_free (filter->planetable);
+       filter->planetable = new_planetable;
+       filter->current_plane = filter->planes - 1;
+       filter->planes = new_n_planes;
       }
+    }
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -335,7 +343,8 @@ gst_quarktv_set_property (GObject * object, guint prop_id, const GValue * value,
 }
 
 static void
-gst_quarktv_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_quarktv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstQuarkTV *filter;
 
index 33e6bf8..3275210 100644 (file)
@@ -79,7 +79,7 @@ struct _GstRevTVClass
 {
   GstVideofilterClass parent_class;
 
-  void (*reset) (GstElement *element);
+  void (*reset) (GstElement * element);
 };
 
 /* Filter signals and args */
@@ -97,26 +97,27 @@ enum
   ARG_GAIN,
 };
 
-static void    gst_revtv_base_init             (gpointer g_class);
-static void    gst_revtv_class_init            (gpointer g_class, gpointer class_data);
-static void    gst_revtv_init                  (GTypeInstance *instance, gpointer g_class);
+static void gst_revtv_base_init (gpointer g_class);
+static void gst_revtv_class_init (gpointer g_class, gpointer class_data);
+static void gst_revtv_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_revtv_set_property          (GObject * object, guint prop_id,
-                                                const GValue * value, GParamSpec * pspec);
-static void    gst_revtv_get_property          (GObject * object, guint prop_id,
-                                                GValue * value, GParamSpec * pspec);
-static void     gst_revtv_setup                        (GstVideofilter *videofilter);
-static void     gst_revtv_rgb32                (GstVideofilter *videofilter, void *d, void *s);
+static void gst_revtv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_revtv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_revtv_setup (GstVideofilter * videofilter);
+static void gst_revtv_rgb32 (GstVideofilter * videofilter, void *d, void *s);
 
 /* static guint gst_revtv_signals[LAST_SIGNAL] = { 0 }; */
 
-GType gst_revtv_get_type (void)
+GType
+gst_revtv_get_type (void)
 {
   static GType revtv_type = 0;
 
   if (!revtv_type) {
     static const GTypeInfo revtv_info = {
-      sizeof (GstRevTVClass), 
+      sizeof (GstRevTVClass),
       gst_revtv_base_init,
       NULL,
       (GClassInitFunc) gst_revtv_class_init,
@@ -127,35 +128,35 @@ GType gst_revtv_get_type (void)
       (GInstanceInitFunc) gst_revtv_init,
     };
 
-    revtv_type = g_type_register_static (GST_TYPE_VIDEOFILTER, "GstRevTV", &revtv_info, 0);
+    revtv_type =
+       g_type_register_static (GST_TYPE_VIDEOFILTER, "GstRevTV", &revtv_info,
+       0);
   }
   return revtv_type;
 }
 
 static GstVideofilterFormat gst_revtv_formats[] = {
-  { "RGB ", 32, gst_revtv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000, 0xff000000 }
+  {"RGB ", 32, gst_revtv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000,
+      0xff000000}
 };
 
 static void
 gst_revtv_base_init (gpointer g_class)
 {
   /* elementfactory information */
-  static GstElementDetails gst_revtv_details = GST_ELEMENT_DETAILS (
-    "RevTV",
-    "Filter/Effect/Video",
-    "A video waveform monitor for each line of video processed",
-    "Wim Taymans <wim.taymans@chello.be>"
-  );
+  static GstElementDetails gst_revtv_details = GST_ELEMENT_DETAILS ("RevTV",
+      "Filter/Effect/Video",
+      "A video waveform monitor for each line of video processed",
+      "Wim Taymans <wim.taymans@chello.be>");
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &gst_revtv_details);
 
-  for(i=0; i < G_N_ELEMENTS(gst_revtv_formats); i++) {
-    gst_videofilter_class_add_format(videofilter_class,
-       gst_revtv_formats + i);
+  for (i = 0; i < G_N_ELEMENTS (gst_revtv_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class, gst_revtv_formats + i);
   }
 
   gst_videofilter_class_add_pad_templates (GST_VIDEOFILTER_CLASS (g_class));
@@ -171,14 +172,14 @@ gst_revtv_class_init (gpointer klass, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (klass);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DELAY,
-    g_param_spec_int ("delay","Delay","Delay in frames between updates",
-                        1, 100, 1, G_PARAM_READWRITE));
+      g_param_spec_int ("delay", "Delay", "Delay in frames between updates",
+         1, 100, 1, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LINESPACE,
-    g_param_spec_int ("linespace","Linespace","Control line spacing",
-                        1, 100, 6, G_PARAM_READWRITE));
+      g_param_spec_int ("linespace", "Linespace", "Control line spacing",
+         1, 100, 6, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_GAIN,
-    g_param_spec_int ("gain","Gain","Control gain",
-                        1, 200, 50, G_PARAM_READWRITE));
+      g_param_spec_int ("gain", "Gain", "Control gain",
+         1, 200, 50, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_revtv_set_property;
   gobject_class->get_property = gst_revtv_get_property;
@@ -187,7 +188,7 @@ gst_revtv_class_init (gpointer klass, gpointer class_data)
 }
 
 static void
-gst_revtv_init (GTypeInstance *instance, gpointer g_class)
+gst_revtv_init (GTypeInstance * instance, gpointer g_class)
 {
   GstRevTV *restv = GST_REVTV (instance);
 
@@ -198,7 +199,7 @@ gst_revtv_init (GTypeInstance *instance, gpointer g_class)
 }
 
 static void
-gst_revtv_setup (GstVideofilter *videofilter)
+gst_revtv_setup (GstVideofilter * videofilter)
 {
   GstRevTV *revtv;
 
@@ -210,7 +211,7 @@ gst_revtv_setup (GstVideofilter *videofilter)
 }
 
 static void
-gst_revtv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
+gst_revtv_rgb32 (GstVideofilter * videofilter, void *d, void *s)
 {
   GstRevTV *filter;
   guint32 *src, *dest;
@@ -227,29 +228,30 @@ gst_revtv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
   height = filter->height;
 
   /* Clear everything to black */
-  memset (dest, 0, width*height*sizeof(guint32));
+  memset (dest, 0, width * height * sizeof (guint32));
 
   // draw the offset lines
-  for (y = 0; y < height ; y += filter->linespace){
+  for (y = 0; y < height; y += filter->linespace) {
     for (x = 0; x <= width; x++) {
       nsrc = src + (y * width) + x;
 
       // Calc Y Value for curpix
       R = ((*nsrc) & 0xff0000) >> (16 - 1);
       G = ((*nsrc) & 0xff00) >> (8 - 2);
-      B =  (*nsrc) & 0xff;
+      B = (*nsrc) & 0xff;
 
-      yval = y - ((short) (R + G + B) / filter->vscale) ;
+      yval = y - ((short) (R + G + B) / filter->vscale);
 
       if (yval > 0) {
-       dest[x + (yval * width)] = THE_COLOR;
+       dest[x + (yval * width)] = THE_COLOR;
       }
     }
   }
 }
 
 static void
-gst_revtv_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_revtv_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstRevTV *filter;
 
@@ -274,7 +276,8 @@ gst_revtv_set_property (GObject * object, guint prop_id, const GValue * value, G
 }
 
 static void
-gst_revtv_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_revtv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRevTV *filter;
 
index 790649d..345f276 100644 (file)
@@ -20,7 +20,7 @@
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
- */ 
+ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -76,28 +76,30 @@ enum
   ARG_0,
 };
 
-static void    gst_shagadelictv_base_init      (gpointer g_class);
-static void    gst_shagadelictv_class_init     (gpointer g_class, gpointer class_data);
-static void    gst_shagadelictv_init           (GTypeInstance *instance, gpointer g_class);
+static void gst_shagadelictv_base_init (gpointer g_class);
+static void gst_shagadelictv_class_init (gpointer g_class, gpointer class_data);
+static void gst_shagadelictv_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_shagadelic_initialize       (GstShagadelicTV *filter);
+static void gst_shagadelic_initialize (GstShagadelicTV * filter);
 
-static void    gst_shagadelictv_set_property   (GObject * object, guint prop_id,
-                                                const GValue * value, GParamSpec * pspec);
-static void    gst_shagadelictv_get_property   (GObject * object, guint prop_id,
-                                                GValue * value, GParamSpec * pspec);
-static void    gst_shagadelictv_setup          (GstVideofilter *videofilter);
-static void     gst_shagadelictv_rgb32                 (GstVideofilter *videofilter, void *d, void *s);
+static void gst_shagadelictv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_shagadelictv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_shagadelictv_setup (GstVideofilter * videofilter);
+static void gst_shagadelictv_rgb32 (GstVideofilter * videofilter, void *d,
+    void *s);
 
 /*static guint gst_shagadelictv_signals[LAST_SIGNAL] = { 0 }; */
 
-GType gst_shagadelictv_get_type (void)
+GType
+gst_shagadelictv_get_type (void)
 {
   static GType shagadelictv_type = 0;
 
   if (!shagadelictv_type) {
     static const GTypeInfo shagadelictv_info = {
-      sizeof (GstShagadelicTVClass), 
+      sizeof (GstShagadelicTVClass),
       gst_shagadelictv_base_init,
       NULL,
       (GClassInitFunc) gst_shagadelictv_class_init,
@@ -108,34 +110,36 @@ GType gst_shagadelictv_get_type (void)
       (GInstanceInitFunc) gst_shagadelictv_init,
     };
 
-    shagadelictv_type = g_type_register_static (GST_TYPE_VIDEOFILTER, "GstShagadelicTV", &shagadelictv_info, 0);
+    shagadelictv_type =
+       g_type_register_static (GST_TYPE_VIDEOFILTER, "GstShagadelicTV",
+       &shagadelictv_info, 0);
   }
   return shagadelictv_type;
 }
 
 static GstVideofilterFormat gst_shagadelictv_formats[] = {
-  { "RGB ", 32, gst_shagadelictv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000, 0xff000000 }
+  {"RGB ", 32, gst_shagadelictv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000,
+      0xff000000}
 };
-  
+
 static void
 gst_shagadelictv_base_init (gpointer g_class)
 {
   /* elementfactory information */
-  static GstElementDetails gst_shagadelictv_details = GST_ELEMENT_DETAILS (
-    "ShagadelicTV",
-    "Filter/Effect/Video",
-    "Oh behave, ShagedelicTV makes images shagadelic!",
-    "Wim Taymans <wim.taymans@chello.be>"
-  );
+  static GstElementDetails gst_shagadelictv_details =
+      GST_ELEMENT_DETAILS ("ShagadelicTV",
+      "Filter/Effect/Video",
+      "Oh behave, ShagedelicTV makes images shagadelic!",
+      "Wim Taymans <wim.taymans@chello.be>");
 
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &gst_shagadelictv_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_shagadelictv_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_shagadelictv_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_shagadelictv_formats + i);
   }
 
@@ -158,7 +162,7 @@ gst_shagadelictv_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_shagadelictv_init (GTypeInstance *instance, gpointer g_class)
+gst_shagadelictv_init (GTypeInstance * instance, gpointer g_class)
 {
   GstShagadelicTV *filter = GST_SHAGADELICTV (instance);
 
@@ -166,12 +170,12 @@ gst_shagadelictv_init (GTypeInstance *instance, gpointer g_class)
   filter->spiral = NULL;
 }
 
-static void 
-gst_shagadelictv_setup(GstVideofilter *videofilter)
+static void
+gst_shagadelictv_setup (GstVideofilter * videofilter)
 {
   GstShagadelicTV *filter;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
   int area;
 
   g_return_if_fail (GST_IS_SHAGADELICTV (videofilter));
@@ -193,16 +197,17 @@ gst_shagadelictv_setup(GstVideofilter *videofilter)
 
 static unsigned int
 fastrand (void)
-{   
+{
   static unsigned int fastrand_val;
 
   return (fastrand_val = fastrand_val * 1103515245 + 12345);
 }
 
 static void
-gst_shagadelic_initialize (GstShagadelicTV *filter)
+gst_shagadelic_initialize (GstShagadelicTV * filter)
 {
   int i, x, y;
+
 #ifdef PS2
   float xx, yy;
 #else
@@ -210,32 +215,35 @@ gst_shagadelic_initialize (GstShagadelicTV *filter)
 #endif
 
   i = 0;
-  for(y = 0; y < filter->height * 2; y++) {
+  for (y = 0; y < filter->height * 2; y++) {
     yy = y - filter->height;
     yy *= yy;
 
     for (x = 0; x < filter->width * 2; x++) {
       xx = x - filter->width;
 #ifdef PS2
-      filter->ripple[i++] = ((unsigned int)(sqrtf(xx*xx+yy)*8))&255;
+      filter->ripple[i++] = ((unsigned int) (sqrtf (xx * xx + yy) * 8)) & 255;
 #else
-      filter->ripple[i++] = ((unsigned int)(sqrt(xx*xx+yy)*8))&255;
+      filter->ripple[i++] = ((unsigned int) (sqrt (xx * xx + yy) * 8)) & 255;
 #endif
     }
   }
 
   i = 0;
   for (y = 0; y < filter->height; y++) {
-    yy = y - filter->height/2;
-    
+    yy = y - filter->height / 2;
+
     for (x = 0; x < filter->width; x++) {
-      xx = x - filter->width/2;
+      xx = x - filter->width / 2;
 #ifdef PS2
       filter->spiral[i++] = ((unsigned int)
-       ((atan2f(xx, yy)/((float)M_PI)*256*9) + (sqrtf(xx*xx+yy*yy)*5)))&255;
+         ((atan2f (xx,
+                     yy) / ((float) M_PI) * 256 * 9) + (sqrtf (xx * xx +
+                     yy * yy) * 5))) & 255;
 #else
       filter->spiral[i++] = ((unsigned int)
-       ((atan2(xx, yy)/M_PI*256*9) + (sqrt(xx*xx+yy*yy)*5)))&255;
+         ((atan2 (xx, yy) / M_PI * 256 * 9) + (sqrt (xx * xx +
+                     yy * yy) * 5))) & 255;
 #endif
 /* Here is another Swinger!
  * ((atan2(xx, yy)/M_PI*256) + (sqrt(xx*xx+yy*yy)*10))&255;
@@ -254,7 +262,7 @@ gst_shagadelic_initialize (GstShagadelicTV *filter)
 }
 
 static void
-gst_shagadelictv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
+gst_shagadelictv_rgb32 (GstVideofilter * videofilter, void *d, void *s)
 {
   GstShagadelicTV *filter;
   guint32 *src, *dest;
@@ -280,18 +288,24 @@ gst_shagadelictv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
  * v = *src++;
  * *dest++ = v & ((r<<16)|(g<<8)|b);
  */
-      r = (gchar) (filter->ripple[(filter->ry + y) * width * 2 + filter->rx + x] + filter->phase * 2) >> 7;
+      r = (gchar) (filter->ripple[(filter->ry + y) * width * 2 + filter->rx +
+             x] + filter->phase * 2) >> 7;
       g = (gchar) (filter->spiral[y * width + x] + filter->phase * 3) >> 7;
-      b = (gchar) (filter->ripple[(filter->by + y) * width * 2 + filter->bx + x] - filter->phase) >> 7;
+      b = (gchar) (filter->ripple[(filter->by + y) * width * 2 + filter->bx +
+             x] - filter->phase) >> 7;
       *dest++ = v & ((r << 16) | (g << 8) | b);
     }
   }
 
   filter->phase -= 8;
-  if ((filter->rx + filter->rvx) < 0 || (filter->rx + filter->rvx) >= width)  filter->rvx =- filter->rvx;
-  if ((filter->ry + filter->rvy) < 0 || (filter->ry + filter->rvy) >= height) filter->rvy =- filter->rvy;
-  if ((filter->bx + filter->bvx) < 0 || (filter->bx + filter->bvx) >= width)  filter->bvx =- filter->bvx;
-  if ((filter->by + filter->bvy) < 0 || (filter->by + filter->bvy) >= height) filter->bvy =- filter->bvy;
+  if ((filter->rx + filter->rvx) < 0 || (filter->rx + filter->rvx) >= width)
+    filter->rvx = -filter->rvx;
+  if ((filter->ry + filter->rvy) < 0 || (filter->ry + filter->rvy) >= height)
+    filter->rvy = -filter->rvy;
+  if ((filter->bx + filter->bvx) < 0 || (filter->bx + filter->bvx) >= width)
+    filter->bvx = -filter->bvx;
+  if ((filter->by + filter->bvy) < 0 || (filter->by + filter->bvy) >= height)
+    filter->bvy = -filter->bvy;
   filter->rx += filter->rvx;
   filter->ry += filter->rvy;
   filter->bx += filter->bvx;
@@ -299,7 +313,8 @@ gst_shagadelictv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
 }
 
 static void
-gst_shagadelictv_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_shagadelictv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstShagadelicTV *filter;
 
@@ -315,7 +330,8 @@ gst_shagadelictv_set_property (GObject * object, guint prop_id, const GValue * v
 }
 
 static void
-gst_shagadelictv_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_shagadelictv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstShagadelicTV *filter;
 
index 06e795e..6faa8cb 100644 (file)
@@ -19,8 +19,8 @@
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
- */ 
+ */
+
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -62,7 +62,7 @@ struct _GstVertigoTVClass
 {
   GstVideofilterClass parent_class;
 
-  void (*reset) (GstElement *element);
+  void (*reset) (GstElement * element);
 };
 
 /* Filter signals and args */
@@ -80,28 +80,31 @@ enum
   ARG_ZOOM_SPEED,
 };
 
-static void    gst_vertigotv_base_init         (gpointer g_class);
-static void    gst_vertigotv_class_init        (GstVertigoTVClass * klass, gpointer class_data);
-static void    gst_vertigotv_init              (GTypeInstance *instance, gpointer g_class);
-static void     gst_vertigotv_setup            (GstVideofilter *videofilter);
+static void gst_vertigotv_base_init (gpointer g_class);
+static void gst_vertigotv_class_init (GstVertigoTVClass * klass,
+    gpointer class_data);
+static void gst_vertigotv_init (GTypeInstance * instance, gpointer g_class);
+static void gst_vertigotv_setup (GstVideofilter * videofilter);
 
-static void    gst_vertigotv_reset_handler     (GstElement *element);
+static void gst_vertigotv_reset_handler (GstElement * element);
 
-static void    gst_vertigotv_set_property      (GObject * object, guint prop_id,
-                                                const GValue * value, GParamSpec * pspec);
-static void    gst_vertigotv_get_property      (GObject * object, guint prop_id,
-                                                GValue * value, GParamSpec * pspec);
-static void     gst_vertigotv_rgb32            (GstVideofilter *videofilter, void *d, void *s);
+static void gst_vertigotv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_vertigotv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_vertigotv_rgb32 (GstVideofilter * videofilter, void *d,
+    void *s);
 
 static guint gst_vertigotv_signals[LAST_SIGNAL] = { 0 };
 
-GType gst_vertigotv_get_type (void)
+GType
+gst_vertigotv_get_type (void)
 {
   static GType vertigotv_type = 0;
 
   if (!vertigotv_type) {
     static const GTypeInfo vertigotv_info = {
-      sizeof (GstVertigoTVClass), 
+      sizeof (GstVertigoTVClass),
       gst_vertigotv_base_init,
       NULL,
       (GClassInitFunc) gst_vertigotv_class_init,
@@ -112,33 +115,34 @@ GType gst_vertigotv_get_type (void)
       (GInstanceInitFunc) gst_vertigotv_init,
     };
 
-    vertigotv_type = g_type_register_static (GST_TYPE_VIDEOFILTER, "GstVertigoTV", &vertigotv_info, 0);
+    vertigotv_type =
+       g_type_register_static (GST_TYPE_VIDEOFILTER, "GstVertigoTV",
+       &vertigotv_info, 0);
   }
   return vertigotv_type;
 }
 
 static GstVideofilterFormat gst_vertigotv_formats[] = {
-  { "RGB ", 32, gst_vertigotv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000, 0xff000000 }
+  {"RGB ", 32, gst_vertigotv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000,
+      0xff000000}
 };
 
 static void
 gst_vertigotv_base_init (gpointer g_class)
 {
   /* elementfactory information */
-  static GstElementDetails vertigotv_details = GST_ELEMENT_DETAILS (
-    "VertigoTV",
-    "Filter/Effect/Video",
-    "A loopback alpha blending effector with rotating and scaling",
-    "Wim Taymans <wim.taymans@chello.be>"
-  );
+  static GstElementDetails vertigotv_details = GST_ELEMENT_DETAILS ("VertigoTV",
+      "Filter/Effect/Video",
+      "A loopback alpha blending effector with rotating and scaling",
+      "Wim Taymans <wim.taymans@chello.be>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &vertigotv_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_vertigotv_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_vertigotv_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_vertigotv_formats + i);
   }
 
@@ -157,22 +161,20 @@ gst_vertigotv_class_init (GstVertigoTVClass * klass, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (klass);
 
   gst_vertigotv_signals[RESET_SIGNAL] =
-    g_signal_new ("reset-parms",
-                  G_TYPE_FROM_CLASS (klass),
-                  G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
-                  G_STRUCT_OFFSET (GstVertigoTVClass, reset),
-                  NULL, NULL,
-                  g_cclosure_marshal_VOID__VOID,
-                  G_TYPE_NONE, 0);
+      g_signal_new ("reset-parms",
+      G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+      G_STRUCT_OFFSET (GstVertigoTVClass, reset),
+      NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
 
   klass->reset = gst_vertigotv_reset_handler;
-       
+
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SPEED,
-    g_param_spec_float ("speed","Speed","Control the speed of movement",
-                        0.01, 100.0, 0.02, G_PARAM_READWRITE));
+      g_param_spec_float ("speed", "Speed", "Control the speed of movement",
+         0.01, 100.0, 0.02, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ZOOM_SPEED,
-    g_param_spec_float ("zoom_speed","Zoom Speed","Control the rate of zooming",
-                        1.01, 1.1, 1.01, G_PARAM_READWRITE));
+      g_param_spec_float ("zoom_speed", "Zoom Speed",
+         "Control the rate of zooming", 1.01, 1.1, 1.01, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_vertigotv_set_property;
   gobject_class->get_property = gst_vertigotv_get_property;
@@ -181,7 +183,7 @@ gst_vertigotv_class_init (GstVertigoTVClass * klass, gpointer class_data)
 }
 
 static void
-gst_vertigotv_reset_handler (GstElement *element)
+gst_vertigotv_reset_handler (GstElement * element)
 {
   GstVertigoTV *filter = GST_VERTIGOTV (element);
 
@@ -190,16 +192,16 @@ gst_vertigotv_reset_handler (GstElement *element)
   filter->zoomrate = 1.01;
 }
 
-static void 
-gst_vertigotv_setup(GstVideofilter *videofilter)
+static void
+gst_vertigotv_setup (GstVideofilter * videofilter)
 {
   GstVertigoTV *filter;
   gint area;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
 
-  g_return_if_fail(GST_IS_VERTIGOTV(videofilter));
-  filter = GST_VERTIGOTV(videofilter);
+  g_return_if_fail (GST_IS_VERTIGOTV (videofilter));
+  filter = GST_VERTIGOTV (videofilter);
 
   filter->width = width;
   filter->height = height;
@@ -207,16 +209,16 @@ gst_vertigotv_setup(GstVideofilter *videofilter)
   area = width * height;
 
   g_free (filter->buffer);
-  filter->buffer = (guint32 *) g_malloc (area * 2 * sizeof(guint32));
+  filter->buffer = (guint32 *) g_malloc (area * 2 * sizeof (guint32));
 
-  memset (filter->buffer, 0, area * 2 * sizeof(guint32));
+  memset (filter->buffer, 0, area * 2 * sizeof (guint32));
   filter->current_buffer = filter->buffer;
   filter->alt_buffer = filter->buffer + area;
   filter->phase = 0;
 }
 
 static void
-gst_vertigotv_init (GTypeInstance *instance, gpointer g_class)
+gst_vertigotv_init (GTypeInstance * instance, gpointer g_class)
 {
   GstVertigoTV *filter = GST_VERTIGOTV (instance);
 
@@ -226,36 +228,40 @@ gst_vertigotv_init (GTypeInstance *instance, gpointer g_class)
   filter->zoomrate = 1.01;
 }
 
-static void 
-gst_vertigotv_set_parms (GstVertigoTV *filter)
+static void
+gst_vertigotv_set_parms (GstVertigoTV * filter)
 {
   double vx, vy;
   double t;
   double x, y;
   double dizz;
 
-  dizz = sin (filter->phase) * 10 + sin (filter->phase*1.9+5) * 5;
+  dizz = sin (filter->phase) * 10 + sin (filter->phase * 1.9 + 5) * 5;
 
   x = filter->width / 2;
   y = filter->height / 2;
 
-  t = (x*x + y*y) * filter->zoomrate;
+  t = (x * x + y * y) * filter->zoomrate;
 
   if (filter->width > filter->height) {
     if (dizz >= 0) {
-      if (dizz > x) dizz = x;
-       vx = (x * (x - dizz) + y * y) / t;
+      if (dizz > x)
+       dizz = x;
+      vx = (x * (x - dizz) + y * y) / t;
     } else {
-      if (dizz < -x) dizz = -x;
+      if (dizz < -x)
+       dizz = -x;
       vx = (x * (x + dizz) + y * y) / t;
     }
     vy = (dizz * y) / t;
   } else {
     if (dizz >= 0) {
-      if (dizz > y) dizz = y;
+      if (dizz > y)
+       dizz = y;
       vx = (x * x + y * (y - dizz)) / t;
     } else {
-      if (dizz < -y) dizz = -y;
+      if (dizz < -y)
+       dizz = -y;
       vx = (x * x + y * (y + dizz)) / t;
     }
     vy = (dizz * x) / t;
@@ -266,11 +272,12 @@ gst_vertigotv_set_parms (GstVertigoTV *filter)
   filter->sy = (-vx * y - vy * x + y + sin (filter->phase * 6) * 2) * 65536;
 
   filter->phase += filter->phase_increment;
-  if (filter->phase > 5700000) filter->phase = 0;
+  if (filter->phase > 5700000)
+    filter->phase = 0;
 }
-       
-static void     
-gst_vertigotv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
+
+static void
+gst_vertigotv_rgb32 (GstVideofilter * videofilter, void *d, void *s)
 {
   GstVertigoTV *filter;
   guint32 *src, *dest;
@@ -299,12 +306,14 @@ gst_vertigotv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
 
     for (x = width; x > 0; x--) {
       i = (oy >> 16) * width + (ox >> 16);
-      if (i < 0) i = 0;
-      if (i >= area) i = area;
-      
+      if (i < 0)
+       i = 0;
+      if (i >= area)
+       i = area;
+
       v = filter->current_buffer[i] & 0xfcfcff;
       v = (v * 3) + ((*src++) & 0xfcfcff);
-      
+
       *p++ = (v >> 2);
       ox += filter->dx;
       oy += filter->dy;
@@ -313,7 +322,7 @@ gst_vertigotv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
     filter->sy += filter->dx;
   }
 
-  memcpy(dest, filter->alt_buffer, area * sizeof(guint32));
+  memcpy (dest, filter->alt_buffer, area * sizeof (guint32));
 
   p = filter->current_buffer;
   filter->current_buffer = filter->alt_buffer;
@@ -321,7 +330,8 @@ gst_vertigotv_rgb32 (GstVideofilter *videofilter, void *d, void *s)
 }
 
 static void
-gst_vertigotv_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_vertigotv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstVertigoTV *filter;
 
@@ -343,7 +353,8 @@ gst_vertigotv_set_property (GObject * object, guint prop_id, const GValue * valu
 }
 
 static void
-gst_vertigotv_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_vertigotv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstVertigoTV *filter;
 
index 82c24dd..4eb81a6 100644 (file)
 typedef struct _GstWarpTV GstWarpTV;
 typedef struct _GstWarpTVClass GstWarpTVClass;
 
-struct _GstWarpTV {
+struct _GstWarpTV
+{
   GstVideofilter videofilter;
 
   gint width, height;
   gint *offstable;
   gint32 *disttable;
   gint32 ctable[1024];
-  gint32 sintable[1024+256];
+  gint32 sintable[1024 + 256];
   gint tval;
 };
 
-struct _GstWarpTVClass {
+struct _GstWarpTVClass
+{
   GstVideofilterClass parent_class;
 };
 
 
 /* GstWarpTV signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void    gst_warptv_base_init    (gpointer g_class);
-static void    gst_warptv_class_init   (gpointer g_class, gpointer class_data);
-static void    gst_warptv_init         (GTypeInstance *instance, gpointer g_class);
+static void gst_warptv_base_init (gpointer g_class);
+static void gst_warptv_class_init (gpointer g_class, gpointer class_data);
+static void gst_warptv_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_warptv_set_property         (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_warptv_get_property         (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_warptv_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_warptv_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_warptv_setup(GstVideofilter *videofilter);
-static void initSinTable (GstWarpTV *filter);
-static void initOffsTable (GstWarpTV *filter);
-static void initDistTable (GstWarpTV *filter);
-static void gst_warptv_rgb32 (GstVideofilter *videofilter, void *d, void *s);
+static void gst_warptv_setup (GstVideofilter * videofilter);
+static void initSinTable (GstWarpTV * filter);
+static void initOffsTable (GstWarpTV * filter);
+static void initDistTable (GstWarpTV * filter);
+static void gst_warptv_rgb32 (GstVideofilter * videofilter, void *d, void *s);
 
 GType
 gst_warptv_get_type (void)
@@ -109,46 +115,48 @@ gst_warptv_get_type (void)
 
   if (!warptv_type) {
     static const GTypeInfo warptv_info = {
-      sizeof(GstWarpTVClass),
+      sizeof (GstWarpTVClass),
       gst_warptv_base_init,
       NULL,
       gst_warptv_class_init,
       NULL,
       NULL,
-      sizeof(GstWarpTV),
+      sizeof (GstWarpTV),
       0,
       gst_warptv_init,
     };
-    warptv_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstWarpTV", &warptv_info, 0);
+    warptv_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstWarpTV", &warptv_info, 0);
   }
   return warptv_type;
 }
 
 static GstVideofilterFormat gst_warptv_formats[] = {
-  { "RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0x00ff0000, 0x0000ff00, 0x000000ff },
-  { "RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0xff000000, 0x00ff0000, 0x0000ff00 },
-  { "RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0x000000ff, 0x0000ff00, 0x00ff0000 },
-  { "RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000, 0xff000000 },
+  {"RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0x00ff0000, 0x0000ff00,
+      0x000000ff},
+  {"RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0xff000000, 0x00ff0000,
+      0x0000ff00},
+  {"RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0x000000ff, 0x0000ff00,
+      0x00ff0000},
+  {"RGB ", 32, gst_warptv_rgb32, 24, G_BIG_ENDIAN, 0x0000ff00, 0x00ff0000,
+      0xff000000},
 };
 
 static void
 gst_warptv_base_init (gpointer g_class)
 {
-  static GstElementDetails warptv_details = GST_ELEMENT_DETAILS (
-    "WarpTV",
-    "Filter/Effect/Video",
-    "WarpTV does realtime goo'ing of the video input",
-    "Sam Lantinga <slouken@devolution.com>"
-  );
+  static GstElementDetails warptv_details = GST_ELEMENT_DETAILS ("WarpTV",
+      "Filter/Effect/Video",
+      "WarpTV does realtime goo'ing of the video input",
+      "Sam Lantinga <slouken@devolution.com>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &warptv_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_warptv_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_warptv_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_warptv_formats + i);
   }
 
@@ -165,10 +173,9 @@ gst_warptv_class_init (gpointer g_class, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
 #if 0
-  g_object_class_install_property(gobject_class, ARG_METHOD,
-      g_param_spec_enum("method","method","method",
-      GST_TYPE_WARPTV_METHOD, GST_WARPTV_METHOD_1,
-      G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_METHOD,
+      g_param_spec_enum ("method", "method", "method",
+         GST_TYPE_WARPTV_METHOD, GST_WARPTV_METHOD_1, G_PARAM_READWRITE));
 #endif
 
   gobject_class->set_property = gst_warptv_set_property;
@@ -178,28 +185,29 @@ gst_warptv_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_warptv_init (GTypeInstance *instance, gpointer g_class)
+gst_warptv_init (GTypeInstance * instance, gpointer g_class)
 {
   GstWarpTV *warptv = GST_WARPTV (instance);
   GstVideofilter *videofilter;
 
-  GST_DEBUG("gst_warptv_init");
+  GST_DEBUG ("gst_warptv_init");
 
-  videofilter = GST_VIDEOFILTER(warptv);
+  videofilter = GST_VIDEOFILTER (warptv);
 
   /* do stuff */
 }
 
 static void
-gst_warptv_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_warptv_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstWarpTV *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_WARPTV(object));
-  src = GST_WARPTV(object);
+  g_return_if_fail (GST_IS_WARPTV (object));
+  src = GST_WARPTV (object);
 
-  GST_DEBUG("gst_warptv_set_property");
+  GST_DEBUG ("gst_warptv_set_property");
   switch (prop_id) {
 #if 0
     case ARG_METHOD:
@@ -212,13 +220,14 @@ gst_warptv_set_property (GObject *object, guint prop_id, const GValue *value, GP
 }
 
 static void
-gst_warptv_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_warptv_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstWarpTV *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_WARPTV(object));
-  src = GST_WARPTV(object);
+  g_return_if_fail (GST_IS_WARPTV (object));
+  src = GST_WARPTV (object);
 
   switch (prop_id) {
 #if 0
@@ -233,14 +242,15 @@ gst_warptv_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
 }
 
 
-static void gst_warptv_setup(GstVideofilter *videofilter)
+static void
+gst_warptv_setup (GstVideofilter * videofilter)
 {
   GstWarpTV *warptv;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
 
-  g_return_if_fail(GST_IS_WARPTV(videofilter));
-  warptv = GST_WARPTV(videofilter);
+  g_return_if_fail (GST_IS_WARPTV (videofilter));
+  warptv = GST_WARPTV (videofilter);
 
   /* if any setup needs to be done, do it here */
 
@@ -254,7 +264,7 @@ static void gst_warptv_setup(GstVideofilter *videofilter)
   g_free (warptv->disttable);
   g_free (warptv->offstable);
 
-  warptv->offstable = (guint32 *) g_malloc (height * sizeof (guint32));      
+  warptv->offstable = (guint32 *) g_malloc (height * sizeof (guint32));
   warptv->disttable = g_malloc (width * height * sizeof (guint32));
 
   initSinTable (warptv);
@@ -262,11 +272,11 @@ static void gst_warptv_setup(GstVideofilter *videofilter)
   initDistTable (warptv);
 }
 
-static void 
-initSinTable (GstWarpTV *filter) 
+static void
+initSinTable (GstWarpTV * filter)
 {
-  gint32       *tptr, *tsinptr;
-  double       i;
+  gint32 *tptr, *tsinptr;
+  double i;
 
   tsinptr = tptr = filter->sintable;
 
@@ -277,35 +287,36 @@ initSinTable (GstWarpTV *filter)
     *tptr++ = *tsinptr++;
 }
 
-static void 
-initOffsTable (GstWarpTV *filter) 
+static void
+initOffsTable (GstWarpTV * filter)
 {
   int y;
-       
+
   for (y = 0; y < filter->height; y++) {
     filter->offstable[y] = y * filter->width;
   }
 }
-      
-static void 
-initDistTable (GstWarpTV *filter) 
+
+static void
+initDistTable (GstWarpTV * filter)
 {
   gint32 halfw, halfh, *distptr;
+
 #ifdef PS2
-  float x,y,m;
+  float x, y, m;
 #else
-  double x,y,m;
+  double x, y, m;
 #endif
 
-  halfw = filter->width>> 1;
+  halfw = filter->width >> 1;
   halfh = filter->height >> 1;
 
   distptr = filter->disttable;
 
-  m = sqrt ((double)(halfw * halfw + halfh * halfh));
+  m = sqrt ((double) (halfw * halfw + halfh * halfh));
 
   for (y = -halfh; y < halfh; y++)
-    for (x= -halfw; x < halfw; x++)
+    for (x = -halfw; x < halfw; x++)
 #ifdef PS2
       *distptr++ = ((int) ((sqrtf (x * x + y * y) * 511.9999) / m)) << 1;
 #else
@@ -313,34 +324,34 @@ initDistTable (GstWarpTV *filter)
 #endif
 }
 
-static void gst_warptv_rgb32 (GstVideofilter *videofilter,
-    void *d, void *s)
+static void
+gst_warptv_rgb32 (GstVideofilter * videofilter, void *d, void *s)
 {
   GstWarpTV *warptv;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
   guint32 *src = s;
   guint32 *dest = d;
-  gint xw,yw,cw;
-  gint32 c,i, x,y, dx,dy, maxx, maxy;
+  gint xw, yw, cw;
+  gint32 c, i, x, y, dx, dy, maxx, maxy;
   gint32 skip, *ctptr, *distptr;
   gint32 *sintable, *ctable;
 
-  g_return_if_fail(GST_IS_WARPTV(videofilter));
-  warptv = GST_WARPTV(videofilter);
+  g_return_if_fail (GST_IS_WARPTV (videofilter));
+  warptv = GST_WARPTV (videofilter);
 
-  xw  = (gint) (sin ((warptv->tval + 100) * M_PI / 128) * 30);
-  yw  = (gint) (sin ((warptv->tval) * M_PI / 256) * -35);
-  cw  = (gint) (sin ((warptv->tval - 70) * M_PI / 64) * 50);
+  xw = (gint) (sin ((warptv->tval + 100) * M_PI / 128) * 30);
+  yw = (gint) (sin ((warptv->tval) * M_PI / 256) * -35);
+  cw = (gint) (sin ((warptv->tval - 70) * M_PI / 64) * 50);
   xw += (gint) (sin ((warptv->tval - 10) * M_PI / 512) * 40);
-  yw += (gint) (sin ((warptv->tval + 30) * M_PI / 512) * 40);    
+  yw += (gint) (sin ((warptv->tval + 30) * M_PI / 512) * 40);
 
   ctptr = warptv->ctable;
   distptr = warptv->disttable;
   sintable = warptv->sintable;
   ctable = warptv->ctable;
 
-  skip = 0 ; /* video_width*sizeof(RGB32)/4 - video_width;; */
+  skip = 0;                    /* video_width*sizeof(RGB32)/4 - video_width;; */
   c = 0;
 
   for (x = 0; x < 512; x++) {
@@ -349,24 +360,28 @@ static void gst_warptv_rgb32 (GstVideofilter *videofilter,
     *ctptr++ = ((sintable[i + 256] * xw) >> 15);
     c += cw;
   }
-  maxx = width - 2; maxy = height - 2;
+  maxx = width - 2;
+  maxy = height - 2;
 
   for (y = 0; y < height - 1; y++) {
     for (x = 0; x < width; x++) {
-      i = *distptr++; 
-      dx = ctable [i + 1] + x; 
-      dy = ctable [i] + y;      
-
-      if (dx < 0) dx = 0; 
-      else if (dx > maxx) dx = maxx; 
-   
-      if (dy < 0) dy = 0; 
-      else if (dy > maxy) dy = maxy; 
-      *dest++ = src[warptv->offstable[dy] + dx]; 
+      i = *distptr++;
+      dx = ctable[i + 1] + x;
+      dy = ctable[i] + y;
+
+      if (dx < 0)
+       dx = 0;
+      else if (dx > maxx)
+       dx = maxx;
+
+      if (dy < 0)
+       dy = 0;
+      else if (dy > maxy)
+       dy = maxy;
+      *dest++ = src[warptv->offstable[dy] + dx];
     }
     dest += skip;
   }
 
   warptv->tval = (warptv->tval + 1) & 511;
 }
-
index b64c90c..7384684 100644 (file)
 #include "flx_color.h"
 
 FlxColorSpaceConverter *
-flx_colorspace_converter_new(gint width, gint height)
+flx_colorspace_converter_new (gint width, gint height)
 {
-  FlxColorSpaceConverter *new = g_malloc(sizeof(FlxColorSpaceConverter));
+  FlxColorSpaceConverter *new = g_malloc (sizeof (FlxColorSpaceConverter));
 
   new->width = width;
   new->height = height;
 
-  memset(new->palvec, 0, sizeof(new->palvec));  
+  memset (new->palvec, 0, sizeof (new->palvec));
   return new;
 }
 
 void
-flx_colorspace_converter_destroy(FlxColorSpaceConverter *flxpal)
+flx_colorspace_converter_destroy (FlxColorSpaceConverter * flxpal)
 {
-  g_return_if_fail(flxpal != NULL);
+  g_return_if_fail (flxpal != NULL);
 
-  g_free(flxpal);
+  g_free (flxpal);
 }
 
 void
-flx_colorspace_convert(FlxColorSpaceConverter *flxpal, guchar *src, guchar *dest)
+flx_colorspace_convert (FlxColorSpaceConverter * flxpal, guchar * src,
+    guchar * dest)
 {
   guint size, col;
 
-  g_return_if_fail(flxpal != NULL);
-  g_return_if_fail(src != dest);
+  g_return_if_fail (flxpal != NULL);
+  g_return_if_fail (src != dest);
 
 
   size = flxpal->width * flxpal->height;
 
-  while(size--) {
-    col     = (*src++ * 3);
-    *dest++ = flxpal->palvec[col+2];
-    *dest++ = flxpal->palvec[col+1];
+  while (size--) {
+    col = (*src++ * 3);
+    *dest++ = flxpal->palvec[col + 2];
+    *dest++ = flxpal->palvec[col + 1];
     *dest++ = flxpal->palvec[col];
     *dest++ = 0;
   }
@@ -68,13 +69,14 @@ flx_colorspace_convert(FlxColorSpaceConverter *flxpal, guchar *src, guchar *dest
 }
 
 
-void 
-flx_set_palette_vector(FlxColorSpaceConverter *flxpal, guint start, guint num, guchar *newpal, gint scale)
+void
+flx_set_palette_vector (FlxColorSpaceConverter * flxpal, guint start, guint num,
+    guchar * newpal, gint scale)
 {
-  guint  grab;
-  
-  g_return_if_fail(flxpal != NULL);
-  g_return_if_fail(start < 0x100);
+  guint grab;
+
+  g_return_if_fail (flxpal != NULL);
+  g_return_if_fail (start < 0x100);
 
   grab = ((start + num) > 0x100 ? 0x100 - start : num);
 
@@ -88,23 +90,21 @@ flx_set_palette_vector(FlxColorSpaceConverter *flxpal, guint start, guint num, g
       flxpal->palvec[start++] = newpal[i++] << scale;
       grab--;
     }
-  }
-  else {
-    memcpy(&flxpal->palvec[start * 3], newpal, grab * 3);
+  } else {
+    memcpy (&flxpal->palvec[start * 3], newpal, grab * 3);
   }
 
 }
 
 void
-flx_set_color(FlxColorSpaceConverter *flxpal, guint colr, guint red, guint green, guint blue, gint scale)
+flx_set_color (FlxColorSpaceConverter * flxpal, guint colr, guint red,
+    guint green, guint blue, gint scale)
 {
-  
-  g_return_if_fail(flxpal != NULL);
-  g_return_if_fail(colr < 0x100);
 
-  flxpal->palvec[(colr * 3)]     = red << scale;
+  g_return_if_fail (flxpal != NULL);
+  g_return_if_fail (colr < 0x100);
+
+  flxpal->palvec[(colr * 3)] = red << scale;
   flxpal->palvec[(colr * 3) + 1] = green << scale;
   flxpal->palvec[(colr * 3) + 2] = blue << scale;
 }
-
-
index d423ab8..2ad852f 100644 (file)
@@ -17,7 +17,8 @@
  * Boston, MA 02111-1307, USA.
  */
 
-typedef enum {
+typedef enum
+{
   FLX_COLORSPACE_RGB8,
   FLX_COLORSPACE_RGB32,
 } FlxColorSpaceType;
@@ -25,19 +26,20 @@ typedef enum {
 
 typedef struct _FlxColorSpaceConverter FlxColorSpaceConverter;
 
-struct _FlxColorSpaceConverter {
-  guint      width;
-  guint      height;
-  guchar      palvec[768];
+struct _FlxColorSpaceConverter
+{
+  guint width;
+  guint height;
+  guchar palvec[768];
 };
 
 
-void flx_colorspace_converter_destroy(FlxColorSpaceConverter *flxpal);
-void flx_colorspace_convert(FlxColorSpaceConverter *flxpal, guchar *src, guchar *dest);
-FlxColorSpaceConverter * flx_colorspace_converter_new(gint width, gint height);
-
-void flx_set_palette_vector(FlxColorSpaceConverter *flxpal, guint start, guint num, 
-          guchar *newpal, gint scale);
-void flx_set_color(FlxColorSpaceConverter *flxpal, guint colr, guint red, guint green,
-          guint blue, gint scale);
+void flx_colorspace_converter_destroy (FlxColorSpaceConverter * flxpal);
+void flx_colorspace_convert (FlxColorSpaceConverter * flxpal, guchar * src,
+    guchar * dest);
+FlxColorSpaceConverter *flx_colorspace_converter_new (gint width, gint height);
 
+void flx_set_palette_vector (FlxColorSpaceConverter * flxpal, guint start,
+    guint num, guchar * newpal, gint scale);
+void flx_set_color (FlxColorSpaceConverter * flxpal, guint colr, guint red,
+    guint green, guint blue, gint scale);
index ac2062e..1457551 100644 (file)
 #include <gst/gst.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-enum Flx_TypeChunk
-{
-       /* frame chunks */
-       FLX_PREFIX_TYPE = 0xf100,
-       FLX_SCRIPT_CHUNK        = 0xf1e0,
-       FLX_FRAME_TYPE          = 0xf1fa,
-       FLX_SEGMENT_TABLE       = 0xf1fb,
-       FLX_HUFFMAN_TABLE       = 0xf1fc,
-
-       /* sub chunks */
-       FLX_CEL_DATA            = 3,
-       FLX_COLOR256            = 4,
-       FLX_SS2                 = 7,
-        FLX_COLOR64            = 11,
-        FLX_LC                 = 12,
-        FLX_BLACK              = 13,
-        FLX_BRUN               = 15,
-        FLX_COPY               = 16,
-        FLX_MINI               = 18,
-       FLX_DTA_RUN             = 25,
-       FLX_DTA_COPY            = 26,
-       FLX_DTA_LC              = 27,
-       FLX_LABEL               = 31,
-       FLX_BMP_MASK            = 32,
-       FLX_MLEV_MASK           = 33,
-       FLX_SEGMENT             = 34,
-       FLX_KEY_IMAGE           = 35,
-       FLX_KEY_PAL             = 36,
-       FLX_REGION              = 37,
-       FLX_WAVE                = 38,
-       FLX_USERSTRING          = 39,
-       FLX_RGN_MASK            = 40,
-
-};
-
-enum Flx_MagicHdr
+extern "C"
 {
-       FLX_MAGICHDR_FLI        = 0xaf11,
-       FLX_MAGICHDR_FLC        = 0xaf12,
-       FLX_MAGICHDR_FLX        = 0xaf44,
-       FLX_MAGICHDR_HUFFBWT    = 0xaf30,
-};
-
-
-
-typedef struct _FlxHeader 
-{
-       guint32 size;
-       guint16 type;
-       guint16 frames;
-       guint16 width,height,depth,flags;
-       guint32 speed;
-       guint16 reserved1;
-       /* FLC */ 
-       guint32 created,creator,updated,updater;
-       guint16 aspect_dx, aspect_dy;
-       /* EGI */
-       guint16 ext_flags,keyframes,totalframes;
-       guint32 req_memory;
-       guint16 max_regions,transp_num;
-       guchar  reserved2[24];
-       /* FLC */
-       guint32 oframe1,oframe2;
-       guchar  reserved3[40];
-} FlxHeader;
+#endif                         /* __cplusplus */
+
+  enum Flx_TypeChunk
+  {
+    /* frame chunks */
+    FLX_PREFIX_TYPE = 0xf100,
+    FLX_SCRIPT_CHUNK = 0xf1e0,
+    FLX_FRAME_TYPE = 0xf1fa,
+    FLX_SEGMENT_TABLE = 0xf1fb,
+    FLX_HUFFMAN_TABLE = 0xf1fc,
+
+    /* sub chunks */
+    FLX_CEL_DATA = 3,
+    FLX_COLOR256 = 4,
+    FLX_SS2 = 7,
+    FLX_COLOR64 = 11,
+    FLX_LC = 12,
+    FLX_BLACK = 13,
+    FLX_BRUN = 15,
+    FLX_COPY = 16,
+    FLX_MINI = 18,
+    FLX_DTA_RUN = 25,
+    FLX_DTA_COPY = 26,
+    FLX_DTA_LC = 27,
+    FLX_LABEL = 31,
+    FLX_BMP_MASK = 32,
+    FLX_MLEV_MASK = 33,
+    FLX_SEGMENT = 34,
+    FLX_KEY_IMAGE = 35,
+    FLX_KEY_PAL = 36,
+    FLX_REGION = 37,
+    FLX_WAVE = 38,
+    FLX_USERSTRING = 39,
+    FLX_RGN_MASK = 40,
+
+  };
+
+  enum Flx_MagicHdr
+  {
+    FLX_MAGICHDR_FLI = 0xaf11,
+    FLX_MAGICHDR_FLC = 0xaf12,
+    FLX_MAGICHDR_FLX = 0xaf44,
+    FLX_MAGICHDR_HUFFBWT = 0xaf30,
+  };
+
+
+
+  typedef struct _FlxHeader
+  {
+    guint32 size;
+    guint16 type;
+    guint16 frames;
+    guint16 width, height, depth, flags;
+    guint32 speed;
+    guint16 reserved1;
+    /* FLC */
+    guint32 created, creator, updated, updater;
+    guint16 aspect_dx, aspect_dy;
+    /* EGI */
+    guint16 ext_flags, keyframes, totalframes;
+    guint32 req_memory;
+    guint16 max_regions, transp_num;
+    guchar reserved2[24];
+    /* FLC */
+    guint32 oframe1, oframe2;
+    guchar reserved3[40];
+  } FlxHeader;
 #define FlxHeaderSize 128
 
-typedef struct _FlxFrameChunk
-{
-       guint32 size;
-       guint16 id;
-} FlxFrameChunk;
+  typedef struct _FlxFrameChunk
+  {
+    guint32 size;
+    guint16 id;
+  } FlxFrameChunk;
 #define FlxFrameChunkSize 6
 
-typedef struct _FlxPrefixChunk
-{
-       guint16 chunks;
-       guchar  reserved[8];
-} FlxPrefixChunk;
-
-typedef struct _FlxSegmentTable
-{
-       guint16 segments;
-} FlxSegmentTable;
-
-typedef struct _FlxHuffmanTable
-{
-       guint16 codelength;
-       guint16 numcodes;
-       guchar  reserved[6];
-} FlxHuffmanTable;
-
-typedef struct _FlxFrameType
-{
-       guint16 chunks;
-       guint16 delay;
-       guchar  reserved[6];
-} FlxFrameType;
+  typedef struct _FlxPrefixChunk
+  {
+    guint16 chunks;
+    guchar reserved[8];
+  } FlxPrefixChunk;
+
+  typedef struct _FlxSegmentTable
+  {
+    guint16 segments;
+  } FlxSegmentTable;
+
+  typedef struct _FlxHuffmanTable
+  {
+    guint16 codelength;
+    guint16 numcodes;
+    guchar reserved[6];
+  } FlxHuffmanTable;
+
+  typedef struct _FlxFrameType
+  {
+    guint16 chunks;
+    guint16 delay;
+    guchar reserved[6];
+  } FlxFrameType;
 #define FlxFrameTypeSize 10
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_FLX_FMT_H__ */
+#endif                         /* __GST_FLX_FMT_H__ */
index aaddee5..a84ce2d 100644 (file)
@@ -37,120 +37,122 @@ static GstElementDetails flxdec_details = {
 };
 
 /* Flx signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0
 };
 
 /* input */
-static GstStaticPadTemplate sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",          
-  GST_PAD_SINK, 
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ( "video/x-fli" )
-);
+static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-fli")
+    );
 
 /* output */
-static GstStaticPadTemplate src_video_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ( GST_VIDEO_CAPS_xRGB_HOST_ENDIAN )
-);
+static GstStaticPadTemplate src_video_factory = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_xRGB_HOST_ENDIAN)
+    );
 
 
-static void    gst_flxdec_class_init   (GstFlxDecClass *klass);
-static void    gst_flxdec_base_init    (GstFlxDecClass *klass);
-static void    gst_flxdec_init         (GstFlxDec *flxdec);
+static void gst_flxdec_class_init (GstFlxDecClass * klass);
+static void gst_flxdec_base_init (GstFlxDecClass * klass);
+static void gst_flxdec_init (GstFlxDec * flxdec);
 
-static void    gst_flxdec_loop         (GstElement *element);
+static void gst_flxdec_loop (GstElement * element);
 
-static GstElementStateReturn 
-               gst_flxdec_change_state (GstElement *element);
+static GstElementStateReturn gst_flxdec_change_state (GstElement * element);
 
-static void    gst_flxdec_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_flxdec_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_flxdec_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_flxdec_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 
-static void    flx_decode_color        (GstFlxDec *, guchar *, guchar *, gint);
-static void    flx_decode_brun         (GstFlxDec *, guchar *, guchar *);
-static void    flx_decode_delta_fli    (GstFlxDec *, guchar *, guchar *);
-static void    flx_decode_delta_flc    (GstFlxDec *, guchar *, guchar *);
+static void flx_decode_color (GstFlxDec *, guchar *, guchar *, gint);
+static void flx_decode_brun (GstFlxDec *, guchar *, guchar *);
+static void flx_decode_delta_fli (GstFlxDec *, guchar *, guchar *);
+static void flx_decode_delta_flc (GstFlxDec *, guchar *, guchar *);
 
 #define rndalign(off) ((off) + ((off) % 2))
 
 static GstElementClass *parent_class = NULL;
 
 GType
-gst_flxdec_get_type(void) 
+gst_flxdec_get_type (void)
 {
   static GType flxdec_type = 0;
 
   if (!flxdec_type) {
     static const GTypeInfo flxdec_info = {
-      sizeof(GstFlxDecClass),
-      (GBaseInitFunc)gst_flxdec_base_init,
+      sizeof (GstFlxDecClass),
+      (GBaseInitFunc) gst_flxdec_base_init,
       NULL,
-      (GClassInitFunc)gst_flxdec_class_init,
+      (GClassInitFunc) gst_flxdec_class_init,
       NULL,
       NULL,
-      sizeof(GstFlxDec),
+      sizeof (GstFlxDec),
       0,
-      (GInstanceInitFunc)gst_flxdec_init,
+      (GInstanceInitFunc) gst_flxdec_init,
     };
-    flxdec_type = g_type_register_static(GST_TYPE_ELEMENT, "GstFlxDec", &flxdec_info, 0);
+    flxdec_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstFlxDec", &flxdec_info, 0);
   }
   return flxdec_type;
 }
 
 static void
-gst_flxdec_base_init (GstFlxDecClass *klass)
+gst_flxdec_base_init (GstFlxDecClass * klass)
 {
   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
-  
+
   gst_element_class_set_details (gstelement_class, &flxdec_details);
   gst_element_class_add_pad_template (gstelement_class,
-       gst_static_pad_template_get (&sink_factory));
+      gst_static_pad_template_get (&sink_factory));
   gst_element_class_add_pad_template (gstelement_class,
-       gst_static_pad_template_get (&src_video_factory));
+      gst_static_pad_template_get (&src_video_factory));
 }
 
-static void 
-gst_flxdec_class_init (GstFlxDecClass *klass) 
+static void
+gst_flxdec_class_init (GstFlxDecClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gobject_class->set_property = gst_flxdec_set_property;  
+  gobject_class->set_property = gst_flxdec_set_property;
   gobject_class->get_property = gst_flxdec_get_property;
 
   gstelement_class->change_state = gst_flxdec_change_state;
 }
 
 
-  
-static void 
-gst_flxdec_init(GstFlxDec *flxdec) 
+
+static void
+gst_flxdec_init (GstFlxDec * flxdec)
 {
-  flxdec->sinkpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&sink_factory), "sink");
-  gst_element_add_pad(GST_ELEMENT(flxdec),flxdec->sinkpad);
-  gst_element_set_loop_function(GST_ELEMENT(flxdec),gst_flxdec_loop);
+  flxdec->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get (&sink_factory),
+      "sink");
+  gst_element_add_pad (GST_ELEMENT (flxdec), flxdec->sinkpad);
+  gst_element_set_loop_function (GST_ELEMENT (flxdec), gst_flxdec_loop);
 
-  flxdec->srcpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&src_video_factory), "src");
-  gst_element_add_pad(GST_ELEMENT(flxdec),flxdec->srcpad);
+  flxdec->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&src_video_factory), "src");
+  gst_element_add_pad (GST_ELEMENT (flxdec), flxdec->srcpad);
 
   flxdec->bs = NULL;
   flxdec->frame = NULL;
@@ -158,75 +160,74 @@ gst_flxdec_init(GstFlxDec *flxdec)
 }
 
 static void
-flx_decode_chunks (GstFlxDec *flxdec , gulong count, gchar *data, gchar *dest)
+flx_decode_chunks (GstFlxDec * flxdec, gulong count, gchar * data, gchar * dest)
 {
-  FlxFrameChunk  *hdr;
+  FlxFrameChunk *hdr;
 
-  g_return_if_fail(data != NULL);
+  g_return_if_fail (data != NULL);
 
   while (count--) {
-    hdr  = (FlxFrameChunk *) data;
+    hdr = (FlxFrameChunk *) data;
     data += FlxFrameChunkSize;
 
-    switch(hdr->id) 
-    {
+    switch (hdr->id) {
       case FLX_COLOR64:
-        flx_decode_color(flxdec, data, dest, 2);
-        data += rndalign(hdr->size) - FlxFrameChunkSize;
-        break;
+       flx_decode_color (flxdec, data, dest, 2);
+       data += rndalign (hdr->size) - FlxFrameChunkSize;
+       break;
 
       case FLX_COLOR256:
-        flx_decode_color(flxdec, data, dest, 0);
-        data += rndalign(hdr->size) - FlxFrameChunkSize;
-        break;
+       flx_decode_color (flxdec, data, dest, 0);
+       data += rndalign (hdr->size) - FlxFrameChunkSize;
+       break;
 
       case FLX_BRUN:
-        flx_decode_brun(flxdec, data, dest);
-        data += rndalign(hdr->size) - FlxFrameChunkSize;
-        break;
+       flx_decode_brun (flxdec, data, dest);
+       data += rndalign (hdr->size) - FlxFrameChunkSize;
+       break;
 
       case FLX_LC:
-        flx_decode_delta_fli(flxdec, data, dest);
-        data += rndalign(hdr->size) - FlxFrameChunkSize;
-        break;
+       flx_decode_delta_fli (flxdec, data, dest);
+       data += rndalign (hdr->size) - FlxFrameChunkSize;
+       break;
 
       case FLX_SS2:
-        flx_decode_delta_flc(flxdec, data, dest);
-        data += rndalign(hdr->size) - FlxFrameChunkSize;
-        break;
+       flx_decode_delta_flc (flxdec, data, dest);
+       data += rndalign (hdr->size) - FlxFrameChunkSize;
+       break;
 
       case FLX_BLACK:
-        memset(dest, 0, flxdec->size);
-        break;
+       memset (dest, 0, flxdec->size);
+       break;
 
       case FLX_MINI:
-        data += rndalign(hdr->size) - FlxFrameChunkSize;
-        break;
+       data += rndalign (hdr->size) - FlxFrameChunkSize;
+       break;
 
       default:
-        g_print("GstFlxDec: Unimplented chunk type: 0x%02x size: %d\n",
-                 hdr->id, hdr->size);
-        g_print("GstFlxDec: Skipping...\n");
-        data += rndalign(hdr->size) - FlxFrameChunkSize;
-        break;
+       g_print ("GstFlxDec: Unimplented chunk type: 0x%02x size: %d\n",
+           hdr->id, hdr->size);
+       g_print ("GstFlxDec: Skipping...\n");
+       data += rndalign (hdr->size) - FlxFrameChunkSize;
+       break;
     }
   }
 }
 
 
 static void
-flx_decode_color(GstFlxDec *flxdec, guchar *data, guchar *dest, gint scale)
+flx_decode_color (GstFlxDec * flxdec, guchar * data, guchar * dest, gint scale)
 {
   guint packs, count, indx;
 
-  g_return_if_fail(flxdec != NULL);
+  g_return_if_fail (flxdec != NULL);
 
   packs = (data[0] + (data[1] << 8));
 
   data += 2;
-  indx  = 0;
+  indx = 0;
 
-  g_print("GstFlxDec: cmap packs: %d\n", packs);
+  g_print ("GstFlxDec: cmap packs: %d\n", packs);
   while (packs--) {
     /* color map index + skip count */
     indx += *data++;
@@ -236,23 +237,23 @@ flx_decode_color(GstFlxDec *flxdec, guchar *data, guchar *dest, gint scale)
     if (count == 0)
       count = 256;
 
-    g_print("GstFlxDec: cmap count: %d (indx: %d)\n", count, indx);
-    flx_set_palette_vector(flxdec->converter, indx, count, data, scale);
+    g_print ("GstFlxDec: cmap count: %d (indx: %d)\n", count, indx);
+    flx_set_palette_vector (flxdec->converter, indx, count, data, scale);
 
     data += (count * 3);
   }
 }
 
-static void 
-flx_decode_brun(GstFlxDec *flxdec, guchar *data, guchar *dest)
+static void
+flx_decode_brun (GstFlxDec * flxdec, guchar * data, guchar * dest)
 {
-  gulong  count, lines, row;
-  guchar  x;
-  
-  g_return_if_fail(flxdec != NULL);
+  gulong count, lines, row;
+  guchar x;
+
+  g_return_if_fail (flxdec != NULL);
 
   lines = flxdec->hdr.height;
-  while(lines--) {
+  while (lines--) {
     /* packet count.  
      * should not be used anymore, since the flc format can
      * contain more then 255 RLE packets. we use the frame 
@@ -261,101 +262,101 @@ flx_decode_brun(GstFlxDec *flxdec, guchar *data, guchar *dest)
     data++;
 
     row = flxdec->hdr.width;
-    while(row) {
+    while (row) {
       count = *data++;
 
-      if (count > 0x7f) { 
-        /* literal run */
-        count = 0x100 - count;
-        row -= count;
+      if (count > 0x7f) {
+       /* literal run */
+       count = 0x100 - count;
+       row -= count;
+
+       while (count--)
+         *dest++ = *data++;
 
-        while(count--) 
-          *dest++ = *data++;
-        
       } else {
-        /* replicate run */
-        row -= count;
-        x = *data++;
+       /* replicate run */
+       row -= count;
+       x = *data++;
 
-        while(count--) 
-          *dest++ = x;
+       while (count--)
+         *dest++ = x;
       }
     }
   }
 }
 
-static void 
-flx_decode_delta_fli(GstFlxDec *flxdec, guchar *data, guchar *dest)
+static void
+flx_decode_delta_fli (GstFlxDec * flxdec, guchar * data, guchar * dest)
 {
-  gulong  count, packets, lines, start_line, start_l;
-  guchar  *start_p,  x;
-  
-  g_return_if_fail(flxdec != NULL);
-  g_return_if_fail(flxdec->delta != NULL);
+  gulong count, packets, lines, start_line, start_l;
+  guchar *start_p, x;
+
+  g_return_if_fail (flxdec != NULL);
+  g_return_if_fail (flxdec->delta != NULL);
 
 
   /* use last frame for delta */
-  memcpy(dest, GST_BUFFER_DATA(flxdec->delta), 
-         GST_BUFFER_SIZE(flxdec->delta));
+  memcpy (dest, GST_BUFFER_DATA (flxdec->delta),
+      GST_BUFFER_SIZE (flxdec->delta));
 
   start_line = (data[0] + (data[1] << 8));
-  lines      = (data[2] + (data[3] << 8));
-  data    += 4;
+  lines = (data[2] + (data[3] << 8));
+  data += 4;
 
   /* start position of delta */
   dest += (flxdec->hdr.width * start_line);
   start_p = dest;
   start_l = lines;
 
-  while(lines--) {
+  while (lines--) {
     /* packet count */
     packets = *data++;
 
-    while(packets--) {
+    while (packets--) {
       /* skip count */
       dest += *data++;
 
       /* RLE count */
       count = *data++;
 
-      if (count > 0x7f) { 
-        /* literal run */
-        count = 0x100 - count;
-        x = *data++;
+      if (count > 0x7f) {
+       /* literal run */
+       count = 0x100 - count;
+       x = *data++;
 
-        while (count--)
-          *dest++ = x;
+       while (count--)
+         *dest++ = x;
 
       } else {
-        /* replicate run */
-        while (count--) 
-          *dest++ = *data++;
+       /* replicate run */
+       while (count--)
+         *dest++ = *data++;
       }
     }
     start_p += flxdec->hdr.width;
     dest = start_p;
-  }                  
+  }
 }
 
-static void 
-flx_decode_delta_flc(GstFlxDec *flxdec, guchar *data, guchar *dest)
+static void
+flx_decode_delta_flc (GstFlxDec * flxdec, guchar * data, guchar * dest)
 {
-  gulong  count, lines, start_l, opcode;
-  guchar  *start_p;
-  
-  g_return_if_fail(flxdec != NULL);
-  g_return_if_fail(flxdec->delta != NULL);
+  gulong count, lines, start_l, opcode;
+  guchar *start_p;
+
+  g_return_if_fail (flxdec != NULL);
+  g_return_if_fail (flxdec->delta != NULL);
 
 
   /* use last frame for delta */
-  memcpy(dest, GST_BUFFER_DATA(flxdec->delta), 
-         GST_BUFFER_SIZE(flxdec->delta));
+  memcpy (dest, GST_BUFFER_DATA (flxdec->delta),
+      GST_BUFFER_SIZE (flxdec->delta));
 
-  lines      = (data[0] + (data[1] << 8));
-  data    += 2;
+  lines = (data[0] + (data[1] << 8));
+  data += 2;
 
-  start_p    = dest;
-  start_l    = lines;
+  start_p = dest;
+  start_l = lines;
 
   while (lines) {
     dest = start_p + (flxdec->hdr.width * (start_l - lines));
@@ -364,47 +365,47 @@ flx_decode_delta_flc(GstFlxDec *flxdec, guchar *data, guchar *dest)
     while ((opcode = (data[0] + (data[1] << 8))) & 0xc000) {
       data += 2;
       if ((opcode & 0xc000) == 0xc000) {
-        /* skip count */
-        start_l += (0x10000 - opcode);  
-        dest    += flxdec->hdr.width * (0x10000 - opcode);
+       /* skip count */
+       start_l += (0x10000 - opcode);
+       dest += flxdec->hdr.width * (0x10000 - opcode);
       } else {
-        /* last pixel */
-        dest    += flxdec->hdr.width;
-        *dest++  = (opcode & 0xff);
-      }        
+       /* last pixel */
+       dest += flxdec->hdr.width;
+       *dest++ = (opcode & 0xff);
+      }
     }
     data += 2;
 
     /* last opcode is the packet count */
-    while(opcode--) {
+    while (opcode--) {
       /* skip count */
       dest += *data++;
-  
+
       /* RLE count */
       count = *data++;
-      
+
       if (count > 0x7f) {
-        /* replicate word run */
-        count = 0x100 - count;
-        while (count--) {
-          *dest++ = data[0];
-          *dest++ = data[1];
-        }
-        data += 2;
+       /* replicate word run */
+       count = 0x100 - count;
+       while (count--) {
+         *dest++ = data[0];
+         *dest++ = data[1];
+       }
+       data += 2;
       } else {
-        /* literal word run */
-        while (count--) {
-          *dest++ = *data++;
-          *dest++ = *data++;
-        }
+       /* literal word run */
+       while (count--) {
+         *dest++ = *data++;
+         *dest++ = *data++;
+       }
       }
     }
     lines--;
   }
 }
-          
-static GstBuffer*
-flx_get_data(GstFlxDec *flxdec, gulong size)
+
+static GstBuffer *
+flx_get_data (GstFlxDec * flxdec, gulong size)
 {
   GstBuffer *retbuf;
   guint32 got_bytes;
@@ -424,36 +425,36 @@ flx_get_data(GstFlxDec *flxdec, gulong size)
 }
 
 
-static void 
-gst_flxdec_loop (GstElement *element) 
+static void
+gst_flxdec_loop (GstElement * element)
 {
-  GstBuffer  *buf;  
-  GstBuffer  *databuf;
-  guchar     *data, *chunk;
-  GstCaps   *caps;
-
-  GstFlxDec         *flxdec;  
-  FlxHeader      *flxh;
-  FlxFrameChunk  *flxfh;
-  
+  GstBuffer *buf;
+  GstBuffer *databuf;
+  guchar *data, *chunk;
+  GstCaps *caps;
+
+  GstFlxDec *flxdec;
+  FlxHeader *flxh;
+  FlxFrameChunk *flxfh;
+
   g_return_if_fail (element != NULL);
-  g_return_if_fail (GST_IS_FLXDEC(element));
+  g_return_if_fail (GST_IS_FLXDEC (element));
 
   GST_DEBUG ("entering loop function");
-  
-  flxdec = GST_FLXDEC(element);
+
+  flxdec = GST_FLXDEC (element);
 
   if (flxdec->state == GST_FLXDEC_READ_HEADER) {
-    databuf = flx_get_data(flxdec, FlxHeaderSize);
+    databuf = flx_get_data (flxdec, FlxHeaderSize);
 
     if (!databuf) {
       g_print ("empty buffer\n");
       return;
     }
 
-    data = GST_BUFFER_DATA(databuf);
+    data = GST_BUFFER_DATA (databuf);
 
-    memcpy((char *) &flxdec->hdr, data, sizeof(FlxHeader));
+    memcpy ((char *) &flxdec->hdr, data, sizeof (FlxHeader));
 
     gst_buffer_unref (databuf);
 
@@ -461,119 +462,115 @@ gst_flxdec_loop (GstElement *element)
 
     /* check header */
     if (flxh->type != FLX_MAGICHDR_FLI &&
-      flxh->type != FLX_MAGICHDR_FLC &&
-      flxh->type != FLX_MAGICHDR_FLX) {
-      GST_ELEMENT_ERROR (element, STREAM, WRONG_TYPE, (NULL), ("not a flx file (type %d)\n", flxh->type));
+       flxh->type != FLX_MAGICHDR_FLC && flxh->type != FLX_MAGICHDR_FLX) {
+      GST_ELEMENT_ERROR (element, STREAM, WRONG_TYPE, (NULL),
+         ("not a flx file (type %d)\n", flxh->type));
       return;
     }
-  
-  
-    g_print("GstFlxDec:       size      :  %d\n", flxh->size);
-    g_print("GstFlxDec:       frames    :  %d\n", flxh->frames);
-    g_print("GstFlxDec:       width     :  %d\n", flxh->width);
-    g_print("GstFlxDec:       height    :  %d\n", flxh->height);
-    g_print("GstFlxDec:       depth     :  %d\n", flxh->depth);
-    g_print("GstFlxDec:       speed     :  %d\n", flxh->speed);
+
+
+    g_print ("GstFlxDec:       size      :  %d\n", flxh->size);
+    g_print ("GstFlxDec:       frames    :  %d\n", flxh->frames);
+    g_print ("GstFlxDec:       width     :  %d\n", flxh->width);
+    g_print ("GstFlxDec:       height    :  %d\n", flxh->height);
+    g_print ("GstFlxDec:       depth     :  %d\n", flxh->depth);
+    g_print ("GstFlxDec:       speed     :  %d\n", flxh->speed);
 
     flxdec->next_time = 0;
 
     if (flxh->type == FLX_MAGICHDR_FLI) {
       flxdec->frame_time = JIFFIE * flxh->speed;
-    }
-    else {
+    } else {
       flxdec->frame_time = flxh->speed * GST_MSECOND;
     }
-    
+
     caps = gst_caps_from_string (GST_VIDEO_CAPS_xRGB_HOST_ENDIAN);
     gst_caps_set_simple (caps,
-       "width", G_TYPE_INT, flxh->width, 
+       "width", G_TYPE_INT, flxh->width,
        "height", G_TYPE_INT, flxh->height,
-       "framerate",  G_TYPE_DOUBLE, GST_SECOND/flxdec->frame_time, NULL);
+       "framerate", G_TYPE_DOUBLE, GST_SECOND / flxdec->frame_time, NULL);
 
-    if (flxh->depth <= 8) 
-      flxdec->converter = flx_colorspace_converter_new(flxh->width, flxh->height);
+    if (flxh->depth <= 8)
+      flxdec->converter =
+         flx_colorspace_converter_new (flxh->width, flxh->height);
 
-    if (flxh->type == FLX_MAGICHDR_FLC || 
-        flxh->type == FLX_MAGICHDR_FLX) {
-      g_print("GstFlxDec: (FLC) aspect_dx :  %d\n", flxh->aspect_dx);
-      g_print("GstFlxDec: (FLC) aspect_dy :  %d\n", flxh->aspect_dy);
-      g_print("GstFlxDec: (FLC) oframe1   :  0x%08x\n", flxh->oframe1);
-      g_print("GstFlxDec: (FLC) oframe2   :  0x%08x\n", flxh->oframe2);
+    if (flxh->type == FLX_MAGICHDR_FLC || flxh->type == FLX_MAGICHDR_FLX) {
+      g_print ("GstFlxDec: (FLC) aspect_dx :  %d\n", flxh->aspect_dx);
+      g_print ("GstFlxDec: (FLC) aspect_dy :  %d\n", flxh->aspect_dy);
+      g_print ("GstFlxDec: (FLC) oframe1   :  0x%08x\n", flxh->oframe1);
+      g_print ("GstFlxDec: (FLC) oframe2   :  0x%08x\n", flxh->oframe2);
     }
-  
+
     flxdec->size = (flxh->width * flxh->height);
-  
+
     /* create delta and output frame */
-    flxdec->frame = gst_buffer_new();
-    flxdec->delta = gst_buffer_new();
-    GST_BUFFER_DATA(flxdec->frame) = g_malloc(flxdec->size);
-    GST_BUFFER_SIZE(flxdec->frame) = flxdec->size;
-    GST_BUFFER_DATA(flxdec->delta) = g_malloc(flxdec->size);
-    GST_BUFFER_SIZE(flxdec->delta) = flxdec->size;
+    flxdec->frame = gst_buffer_new ();
+    flxdec->delta = gst_buffer_new ();
+    GST_BUFFER_DATA (flxdec->frame) = g_malloc (flxdec->size);
+    GST_BUFFER_SIZE (flxdec->frame) = flxdec->size;
+    GST_BUFFER_DATA (flxdec->delta) = g_malloc (flxdec->size);
+    GST_BUFFER_SIZE (flxdec->delta) = flxdec->size;
 
     flxdec->state = GST_FLXDEC_PLAYING;
-  }
-  else if (flxdec->state == GST_FLXDEC_PLAYING) {
+  } else if (flxdec->state == GST_FLXDEC_PLAYING) {
     GstBuffer *out;
 
-    databuf = flx_get_data(flxdec, FlxFrameChunkSize);
+    databuf = flx_get_data (flxdec, FlxFrameChunkSize);
     if (!databuf)
       return;
 
-    flxfh = (FlxFrameChunk *) GST_BUFFER_DATA(databuf);
-    
-    switch(flxfh->id) {
+    flxfh = (FlxFrameChunk *) GST_BUFFER_DATA (databuf);
+
+    switch (flxfh->id) {
       case FLX_FRAME_TYPE:
-        buf = flx_get_data(flxdec, flxfh->size-FlxFrameChunkSize);
-        chunk = GST_BUFFER_DATA(buf);
-        if (((FlxFrameType *)chunk)->chunks == 0)
-          break;
-
-        /* create 32 bits output frame */
-        out = gst_buffer_new();
-        GST_BUFFER_DATA(out) = g_malloc(flxdec->size * 4);
-        GST_BUFFER_SIZE(out) = flxdec->size * 4;
-
-        /* decode chunks */
-        flx_decode_chunks(flxdec, 
-                         ((FlxFrameType *)chunk)->chunks, 
-                         GST_BUFFER_DATA(buf) + FlxFrameTypeSize,
-                         GST_BUFFER_DATA(flxdec->frame));
-        /* destroy input buffer*/
-        gst_buffer_unref(buf);
-    
-        /* save copy of the current frame for possible delta. */
-        memcpy(GST_BUFFER_DATA(flxdec->delta), 
-               GST_BUFFER_DATA(flxdec->frame), 
-               GST_BUFFER_SIZE(flxdec->delta));
-
-        /* convert current frame. */
-        flx_colorspace_convert(flxdec->converter,
-             GST_BUFFER_DATA(flxdec->frame),
-             GST_BUFFER_DATA(out));
+       buf = flx_get_data (flxdec, flxfh->size - FlxFrameChunkSize);
+
+       chunk = GST_BUFFER_DATA (buf);
+
+       if (((FlxFrameType *) chunk)->chunks == 0)
+         break;
+
+       /* create 32 bits output frame */
+       out = gst_buffer_new ();
+       GST_BUFFER_DATA (out) = g_malloc (flxdec->size * 4);
+       GST_BUFFER_SIZE (out) = flxdec->size * 4;
+
+       /* decode chunks */
+       flx_decode_chunks (flxdec,
+           ((FlxFrameType *) chunk)->chunks,
+           GST_BUFFER_DATA (buf) + FlxFrameTypeSize,
+           GST_BUFFER_DATA (flxdec->frame));
+
+       /* destroy input buffer */
+       gst_buffer_unref (buf);
+
+       /* save copy of the current frame for possible delta. */
+       memcpy (GST_BUFFER_DATA (flxdec->delta),
+           GST_BUFFER_DATA (flxdec->frame), GST_BUFFER_SIZE (flxdec->delta));
+
+       /* convert current frame. */
+       flx_colorspace_convert (flxdec->converter,
+           GST_BUFFER_DATA (flxdec->frame), GST_BUFFER_DATA (out));
 
        GST_BUFFER_TIMESTAMP (out) = flxdec->next_time;
        flxdec->next_time += flxdec->frame_time;
 
-        gst_pad_push(flxdec->srcpad, GST_DATA (out));
-        
-        break;
+       gst_pad_push (flxdec->srcpad, GST_DATA (out));
+
+       break;
     }
 
     /* destroy header buffer */
-    gst_buffer_unref(databuf);
+    gst_buffer_unref (databuf);
   }
 }
 
-static GstElementStateReturn 
-gst_flxdec_change_state (GstElement *element)
+static GstElementStateReturn
+gst_flxdec_change_state (GstElement * element)
 {
   GstFlxDec *flxdec;
 
-  flxdec = GST_FLXDEC(element);
+  flxdec = GST_FLXDEC (element);
 
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
@@ -596,20 +593,21 @@ gst_flxdec_change_state (GstElement *element)
     case GST_STATE_READY_TO_NULL:
       break;
   }
-  
+
   parent_class->change_state (element);
 
   return GST_STATE_SUCCESS;
 }
 
-static void 
-gst_flxdec_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) 
+static void
+gst_flxdec_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstFlxDec *flxdec;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_FLXDEC(object));
-  flxdec = GST_FLXDEC(object);
+  g_return_if_fail (GST_IS_FLXDEC (object));
+  flxdec = GST_FLXDEC (object);
 
   switch (prop_id) {
     default:
@@ -617,14 +615,15 @@ gst_flxdec_set_property (GObject *object, guint prop_id, const GValue *value, GP
   }
 }
 
-static void 
-gst_flxdec_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) 
+static void
+gst_flxdec_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstFlxDec *flxdec;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_FLXDEC(object));
-  flxdec = GST_FLXDEC(object);
+  g_return_if_fail (GST_IS_FLXDEC (object));
+  flxdec = GST_FLXDEC (object);
 
   switch (prop_id) {
     default:
@@ -634,23 +633,17 @@ gst_flxdec_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_library_load ("gstbytestream"))
     return FALSE;
 
   return gst_element_register (plugin, "flxdec",
-                              GST_RANK_PRIMARY, GST_TYPE_FLXDEC);
+      GST_RANK_PRIMARY, GST_TYPE_FLXDEC);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "flxdec",
-  "FLX video decoder",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "flxdec",
+    "FLX video decoder",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index c7d6f38..c5ce60e 100644 (file)
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
+
+  typedef enum
+  {
+    GST_FLXDEC_READ_HEADER,
+    GST_FLXDEC_PLAYING,
+  } GstFlxDecState;
 
-typedef enum {
-  GST_FLXDEC_READ_HEADER,
-  GST_FLXDEC_PLAYING,
-} GstFlxDecState;
-       
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstFlxDec  GstFlxDec;
+  typedef struct _GstFlxDec GstFlxDec;
 
-struct _GstFlxDec {
-  GstElement element;
+  struct _GstFlxDec
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  gboolean active, new_meta;
+    gboolean active, new_meta;
 
-  GstBuffer *delta, *frame;
-  GstByteStream *bs;
-  gulong size;
-  GstFlxDecState state;
-  glong frame_time;
-  gint64 next_time;
+    GstBuffer *delta, *frame;
+    GstByteStream *bs;
+    gulong size;
+    GstFlxDecState state;
+    glong frame_time;
+    gint64 next_time;
 
-  FlxColorSpaceConverter *converter;
+    FlxColorSpaceConverter *converter;
 
-  FlxHeader hdr;
-};
+    FlxHeader hdr;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstFlxDecClass GstFlxDecClass;
-struct _GstFlxDecClass {
-  GstElementClass parent_class;
-};
+  typedef struct _GstFlxDecClass GstFlxDecClass;
+  struct _GstFlxDecClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_FLXDEC \
@@ -77,12 +81,12 @@ struct _GstFlxDecClass {
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FLXDEC))
 
 /* Standard function returning type information. */
-GType gst_flxdec_get_type(void);
+  GType gst_flxdec_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_FLX_DECODER_H__ */
+#endif                         /* __GST_FLX_DECODER_H__ */
index 5d74b62..14bd7ec 100644 (file)
@@ -43,44 +43,45 @@ extern volatile guint32 resoly;
 #ifdef USE_ASM
 
 #ifdef MMX
-int mmx_zoom () ;
+int mmx_zoom ();
 guint32 mmx_zoom_size;
 #endif /* MMX */
 
 #ifdef POWERPC
 extern unsigned int useAltivec;
-extern void ppc_zoom(void);
-extern void ppc_zoom_altivec(void);
+extern void ppc_zoom (void);
+extern void ppc_zoom_altivec (void);
 unsigned int ppcsize4;
 #endif /* PowerPC */
 
 unsigned int *coeffs = 0, *freecoeffs = 0;
-guint32 *expix1 = 0; /* pointeur exporte vers p1 */
-guint32 *expix2 = 0; /* pointeur exporte vers p2 */
+guint32 *expix1 = 0;           /* pointeur exporte vers p1 */
+guint32 *expix2 = 0;           /* pointeur exporte vers p2 */
 guint32 zoom_width;
 
 #endif /* ASM */
 
 
-static int sintable [0xffff] ;
+static int sintable[0xffff];
 static int vitesse = 127;
-static char theMode = AMULETTE_MODE ;
+static char theMode = AMULETTE_MODE;
 static int vPlaneEffect = 0;
 static int hPlaneEffect = 0;
 static char noisify = 2;
-static int middleX , middleY ;
-static unsigned char sqrtperte = 16 ;
+static int middleX, middleY;
+static unsigned char sqrtperte = 16;
 
-static int * firedec = 0 ;
+static int *firedec = 0;
 
 
 /* retourne x>>s , en testant le signe de x */
-inline int ShiftRight (int x, const unsigned char s)
+inline int
+ShiftRight (int x, const unsigned char s)
 {
-  if (x<0)
-       return -(-x >> s) ;
+  if (x < 0)
+    return -(-x >> s);
   else
-       return x >> s ;
+    return x >> s;
 }
 
 /*
@@ -88,454 +89,463 @@ inline int ShiftRight (int x, const unsigned char s)
   px et py indique la nouvelle position (en sqrtperte ieme de pixel)
   (valeur * 16)
 */
-void calculatePXandPY (int x, int y, int *px, int *py)
+void
+calculatePXandPY (int x, int y, int *px, int *py)
 {
-    if (theMode == WATER_MODE)
-    {
-        static int wave = 0 ;
-        static int wavesp = 0 ;
-        int yy ;
-
-        yy = y + RAND () % 4 + wave / 10 ;
-        yy -= RAND () % 4;
-        if (yy < 0) yy = 0 ;
-        if (yy >= resoly) yy = resoly - 1 ;
-         
-        *px = (x<<4) + firedec [yy] + (wave / 10) ;
-        *py = (y<<4) + 132 - ((vitesse < 132) ? vitesse : 131) ;
-
-        wavesp += RAND () % 3;
-       wavesp -= RAND () % 3;
-        if (wave < -10) wavesp += 2 ;
-        if (wave > 10) wavesp -= 2 ;
-        wave += (wavesp / 10) + RAND () % 3;
-       wave -= RAND () % 3;
-        if (wavesp > 100) wavesp = (wavesp * 9) / 10  ;
+  if (theMode == WATER_MODE) {
+    static int wave = 0;
+    static int wavesp = 0;
+    int yy;
+
+    yy = y + RAND () % 4 + wave / 10;
+    yy -= RAND () % 4;
+    if (yy < 0)
+      yy = 0;
+    if (yy >= resoly)
+      yy = resoly - 1;
+
+    *px = (x << 4) + firedec[yy] + (wave / 10);
+    *py = (y << 4) + 132 - ((vitesse < 132) ? vitesse : 131);
+
+    wavesp += RAND () % 3;
+    wavesp -= RAND () % 3;
+    if (wave < -10)
+      wavesp += 2;
+    if (wave > 10)
+      wavesp -= 2;
+    wave += (wavesp / 10) + RAND () % 3;
+    wave -= RAND () % 3;
+    if (wavesp > 100)
+      wavesp = (wavesp * 9) / 10;
+  } else {
+    int dist;
+    register int vx, vy;
+    int fvitesse = vitesse << 4;
+
+    if (noisify) {
+      x += RAND () % noisify;
+      x -= RAND () % noisify;
+      y += RAND () % noisify;
+      y -= RAND () % noisify;
     }
+
+    if (hPlaneEffect)
+      vx = ((x - middleX) << 9) + hPlaneEffect * (y - middleY);
+    else
+      vx = (x - middleX) << 9;
+
+    if (vPlaneEffect)
+      vy = ((y - middleY) << 9) + vPlaneEffect * (x - middleX);
     else
-    {
-        int dist ;
-        register int vx,vy ;
-        int fvitesse = vitesse << 4 ;
-
-        if (noisify)
-        {
-            x += RAND() % noisify;
-            x -= RAND() % noisify;
-            y += RAND() % noisify;
-            y -= RAND() % noisify;
-        }
-
-        if (hPlaneEffect) vx = ((x - middleX) << 9) + hPlaneEffect * (y - middleY);
-        else vx = (x - middleX) << 9 ;
-         
-        if (vPlaneEffect) vy = ((y - middleY) << 9) + vPlaneEffect * (x - middleX);
-        else vy = (y - middleY) << 9 ;
-         
-        switch (theMode)
-        {
-            case WAVE_MODE:
-                dist = ShiftRight(vx,9) * ShiftRight(vx,9) + ShiftRight(vy,9) * ShiftRight(vy,9);
-                fvitesse *= 1024 + ShiftRight (
-                                    sintable [(unsigned short)(0xffff*dist*EFFECT_DISTORS)],6);
-                fvitesse /= 1024 ;
-                break ;
-            case CRYSTAL_BALL_MODE:
-                dist = ShiftRight(vx,9) * ShiftRight(vx,9) + ShiftRight(vy,9) * ShiftRight(vy,9);
-                fvitesse += (dist * EFFECT_DISTORS >> 10);
-                break;
-            case AMULETTE_MODE:
-                dist = ShiftRight(vx,9) * ShiftRight(vx,9) + ShiftRight(vy,9) * ShiftRight(vy,9);
-                fvitesse -= (dist * EFFECT_DISTORS >> 4);
-                break;
-            case SCRUNCH_MODE:
-                dist = ShiftRight(vx,9) * ShiftRight(vx,9) + ShiftRight(vy,9) * ShiftRight(vy,9);
-                fvitesse -= (dist * EFFECT_DISTORS >> 9);
-                break;
-        }
-        if (vx<0) *px = (middleX << 4) - (-(vx * fvitesse) >> 16) ;
-        else *px = (middleX << 4) + ((vx * fvitesse) >> 16) ;
-        if (vy<0) *py = (middleY << 4) - (-(vy * fvitesse) >> 16) ;
-        else *py = (middleY << 4) + ((vy * fvitesse) >> 16) ;
+      vy = (y - middleY) << 9;
+
+    switch (theMode) {
+      case WAVE_MODE:
+       dist =
+           ShiftRight (vx, 9) * ShiftRight (vx, 9) + ShiftRight (vy,
+           9) * ShiftRight (vy, 9);
+       fvitesse *=
+           1024 +
+           ShiftRight (sintable[(unsigned short) (0xffff * dist *
+                   EFFECT_DISTORS)], 6);
+       fvitesse /= 1024;
+       break;
+      case CRYSTAL_BALL_MODE:
+       dist =
+           ShiftRight (vx, 9) * ShiftRight (vx, 9) + ShiftRight (vy,
+           9) * ShiftRight (vy, 9);
+       fvitesse += (dist * EFFECT_DISTORS >> 10);
+       break;
+      case AMULETTE_MODE:
+       dist =
+           ShiftRight (vx, 9) * ShiftRight (vx, 9) + ShiftRight (vy,
+           9) * ShiftRight (vy, 9);
+       fvitesse -= (dist * EFFECT_DISTORS >> 4);
+       break;
+      case SCRUNCH_MODE:
+       dist =
+           ShiftRight (vx, 9) * ShiftRight (vx, 9) + ShiftRight (vy,
+           9) * ShiftRight (vy, 9);
+       fvitesse -= (dist * EFFECT_DISTORS >> 9);
+       break;
     }
+    if (vx < 0)
+      *px = (middleX << 4) - (-(vx * fvitesse) >> 16);
+    else
+      *px = (middleX << 4) + ((vx * fvitesse) >> 16);
+    if (vy < 0)
+      *py = (middleY << 4) - (-(vy * fvitesse) >> 16);
+    else
+      *py = (middleY << 4) + ((vy * fvitesse) >> 16);
+  }
 }
 
 /*#define _DEBUG */
 
-inline void setPixelRGB(Uint *buffer, Uint x, Uint y, Color c)
+inline void
+setPixelRGB (Uint * buffer, Uint x, Uint y, Color c)
 {
 /*             buffer[ y*WIDTH + x ] = (c.r<<16)|(c.v<<8)|c.b */
 #ifdef _DEBUG_PIXEL
-  if ( x+y*resolx >= resolx * resoly)
-       {
-         fprintf (stderr,"setPixel ERROR : hors du tableau... %i, %i\n", x,y) ;
-         /*exit (1) ; */
-       }
+  if (x + y * resolx >= resolx * resoly) {
+    fprintf (stderr, "setPixel ERROR : hors du tableau... %i, %i\n", x, y);
+    /*exit (1) ; */
+  }
 #endif
-  
+
 #ifdef USE_DGA
-  buffer[ y*resolx + x ] = (c.b<<16)|(c.v<<8)|c.r ;
+  buffer[y * resolx + x] = (c.b << 16) | (c.v << 8) | c.r;
 #else
-  buffer[ y*resolx + x ] = (c.r<<16)|(c.v<<8)|c.b ;
+  buffer[y * resolx + x] = (c.r << 16) | (c.v << 8) | c.b;
 #endif
 }
 
 
-inline void setPixelRGB_ (Uint *buffer, Uint x, Color c)
+inline void
+setPixelRGB_ (Uint * buffer, Uint x, Color c)
 {
 #ifdef _DEBUG
-  if ( x >= resolx*resoly )
-       {
-         printf ("setPixel ERROR : hors du tableau... %i, %i\n", x,y) ;
-         exit (1) ;
-       }
+  if (x >= resolx * resoly) {
+    printf ("setPixel ERROR : hors du tableau... %i, %i\n", x, y);
+    exit (1);
+  }
 #endif
-  
+
 #ifdef USE_DGA
-  buffer[ x ] = (c.b<<16)|(c.v<<8)|c.r ;
+  buffer[x] = (c.b << 16) | (c.v << 8) | c.r;
 #else
-  buffer[ x ] = (c.r<<16)|(c.v<<8)|c.b ;
+  buffer[x] = (c.r << 16) | (c.v << 8) | c.b;
 #endif
 }
 
 
 
-inline void getPixelRGB (Uint *buffer, Uint x, Uint y, Color *c)
+inline void
+getPixelRGB (Uint * buffer, Uint x, Uint y, Color * c)
 {
-       register unsigned char *tmp8;
+  register unsigned char *tmp8;
 
-       #ifdef _DEBUG
-       if (x + y * resolx >= resolx*resoly)
-       {
-               printf ("getPixel ERROR : hors du tableau... %i, %i\n", x,y) ;
-               exit (1) ;
-       }
-       #endif
+#ifdef _DEBUG
+  if (x + y * resolx >= resolx * resoly) {
+    printf ("getPixel ERROR : hors du tableau... %i, %i\n", x, y);
+    exit (1);
+  }
+#endif
 
 #ifdef __BIG_ENDIAN__
-       c->b = *(unsigned char *)(tmp8 = (unsigned char*)(buffer + (x + y*resolx)));
-    c->r = *(unsigned char *)(++tmp8);
-    c->v = *(unsigned char *)(++tmp8);
-       c->b = *(unsigned char *)(++tmp8);
-                       
+  c->b = *(unsigned char *) (tmp8 =
+      (unsigned char *) (buffer + (x + y * resolx)));
+  c->r = *(unsigned char *) (++tmp8);
+  c->v = *(unsigned char *) (++tmp8);
+  c->b = *(unsigned char *) (++tmp8);
+
 #else
-       /* ATTENTION AU PETIT INDIEN  */
-       c->b = *(unsigned char *)(tmp8 = (unsigned char*)(buffer + (x + y*resolx)));
-       c->v = *(unsigned char *)(++tmp8);
-       c->r = *(unsigned char *)(++tmp8);
+  /* ATTENTION AU PETIT INDIEN  */
+  c->b = *(unsigned char *) (tmp8 =
+      (unsigned char *) (buffer + (x + y * resolx)));
+  c->v = *(unsigned char *) (++tmp8);
+  c->r = *(unsigned char *) (++tmp8);
 /*     *c = (Color) buffer[x+y*WIDTH] ; */
 #endif
 }
 
 
-inline void getPixelRGB_ (Uint *buffer, Uint x, Color *c)
+inline void
+getPixelRGB_ (Uint * buffer, Uint x, Color * c)
 {
-       register unsigned char *tmp8;
+  register unsigned char *tmp8;
 
-       #ifdef _DEBUG
-       if ( x >= resolx*resoly )
-       {
-               printf ("getPixel ERROR : hors du tableau... %i\n", x) ;
-               exit (1) ;
-       }
-       #endif
+#ifdef _DEBUG
+  if (x >= resolx * resoly) {
+    printf ("getPixel ERROR : hors du tableau... %i\n", x);
+    exit (1);
+  }
+#endif
 
 #ifdef __BIG_ENDIAN__
-       c->b = *(unsigned char *)(tmp8 = (unsigned char*)(buffer + x));
-    c->r = *(unsigned char *)(++tmp8);
-    c->v = *(unsigned char *)(++tmp8);
-       c->b = *(unsigned char *)(++tmp8);
-                       
+  c->b = *(unsigned char *) (tmp8 = (unsigned char *) (buffer + x));
+  c->r = *(unsigned char *) (++tmp8);
+  c->v = *(unsigned char *) (++tmp8);
+  c->b = *(unsigned char *) (++tmp8);
+
 #else
-       /* ATTENTION AU PETIT INDIEN  */
-       c->b = *(unsigned char *)(tmp8 = (unsigned char*)(buffer + x));
-       c->v = *(unsigned char *)(++tmp8);
-       c->r = *(unsigned char *)(++tmp8);
+  /* ATTENTION AU PETIT INDIEN  */
+  c->b = *(unsigned char *) (tmp8 = (unsigned char *) (buffer + x));
+  c->v = *(unsigned char *) (++tmp8);
+  c->r = *(unsigned char *) (++tmp8);
 /*     *c = (Color) buffer[x+y*WIDTH] ; */
 #endif
 }
 
 
 /*===============================================================*/
-void zoomFilterFastRGB (Uint *pix1,
-                                               Uint *pix2,
-                                               ZoomFilterData *zf,
-                                               Uint resx, Uint resy)
+void
+zoomFilterFastRGB (Uint * pix1,
+    Uint * pix2, ZoomFilterData * zf, Uint resx, Uint resy)
 {
   static guint32 prevX = 0, prevY = 0;
 
-  static char reverse = 0 ; /*vitesse inversé..(zoom out) */
-  /*   static int perte = 100; // 100 = normal */
-  static unsigned char pertedec = 8 ;
+  static char reverse = 0;     /*vitesse inversé..(zoom out) */
+
+  /*    static int perte = 100; // 100 = normal */
+  static unsigned char pertedec = 8;
   static char firstTime = 1;
-  
+
   Uint x, y;
 
 /*  static unsigned int prevX = 0, prevY = 0; */
-  
+
 #ifdef USE_ASM
-  expix1 = pix1 ;
-  expix2 = pix2 ;
+  expix1 = pix1;
+  expix2 = pix2;
 #else
   Color couleur;
-  Color col1,col2,col3,col4;
-  Uint position ;
+  Color col1, col2, col3, col4;
+  Uint position;
 
   static unsigned int *pos10 = 0;
-  static unsigned int *c1 = 0,
-       *c2 = 0,
-       *c3 = 0,
-       *c4 = 0;
+  static unsigned int *c1 = 0, *c2 = 0, *c3 = 0, *c4 = 0;
 #endif
-  
-  if ((prevX != resx) || (prevY != resy))
-       {
-         prevX = resx;
-         prevY = resy;
+
+  if ((prevX != resx) || (prevY != resy)) {
+    prevX = resx;
+    prevY = resy;
 #ifndef USE_ASM
-         if (c1) free (c1) ;
-         if (c2) free (c2) ;
-         if (c3) free (c3) ;
-         if (c4) free (c4) ;
-         if (pos10) free (pos10) ;
-         c1=c2=c3=c4=pos10=0;
+    if (c1)
+      free (c1);
+    if (c2)
+      free (c2);
+    if (c3)
+      free (c3);
+    if (c4)
+      free (c4);
+    if (pos10)
+      free (pos10);
+    c1 = c2 = c3 = c4 = pos10 = 0;
 #else
-         if (coeffs) free (freecoeffs) ;
-         coeffs = 0;
+    if (coeffs)
+      free (freecoeffs);
+    coeffs = 0;
 #endif
-         middleX = resx / 2 ;
-         middleY = resy - 1;
-         firstTime = 1 ;
-         if (firedec) free (firedec);
-         firedec=0;
-       }
-       
-       if (zf)
-         {
-               reverse = zf->reverse ;
-               vitesse = zf->vitesse ;
-               if (reverse)
-                 vitesse = 256 - vitesse ;
+    middleX = resx / 2;
+    middleY = resy - 1;
+    firstTime = 1;
+    if (firedec)
+      free (firedec);
+    firedec = 0;
+  }
+
+  if (zf) {
+    reverse = zf->reverse;
+    vitesse = zf->vitesse;
+    if (reverse)
+      vitesse = 256 - vitesse;
 #ifndef USE_ASM
-               sqrtperte = zf->sqrtperte ;
+    sqrtperte = zf->sqrtperte;
 #endif
-               pertedec = zf->pertedec ;
-               middleX = zf->middleX ;
-               middleY = zf->middleY ;
-               theMode = zf->mode ;
-               hPlaneEffect = zf->hPlaneEffect;
-               vPlaneEffect = zf->vPlaneEffect;
-               noisify = zf->noisify;
-         }
-       
-       if (firstTime || zf)
-         {
-               
-               /* generation d'une table de sinus */
-               if (firstTime)
-                 {
-                       unsigned short us ;
-
-                       firstTime = 0;
+    pertedec = zf->pertedec;
+    middleX = zf->middleX;
+    middleY = zf->middleY;
+    theMode = zf->mode;
+    hPlaneEffect = zf->hPlaneEffect;
+    vPlaneEffect = zf->vPlaneEffect;
+    noisify = zf->noisify;
+  }
+
+  if (firstTime || zf) {
+
+    /* generation d'une table de sinus */
+    if (firstTime) {
+      unsigned short us;
+
+      firstTime = 0;
 #ifdef USE_ASM
-                       freecoeffs = (unsigned int *)
-                         malloc (resx*resy*2*sizeof(unsigned int)+128);
-                        coeffs = (guint32 *)((1+((unsigned int)(freecoeffs))/128)*128);
+      freecoeffs = (unsigned int *)
+         malloc (resx * resy * 2 * sizeof (unsigned int) + 128);
+      coeffs = (guint32 *) ((1 + ((unsigned int) (freecoeffs)) / 128) * 128);
 
 #else
-                       pos10 = (unsigned int *) malloc (resx*resy*sizeof(unsigned int)) ;
-                       c1 = (unsigned int *) malloc (resx*resy*sizeof(unsigned int)) ;
-                       c2 = (unsigned int *) malloc (resx*resy*sizeof(unsigned int)) ;
-                       c3 = (unsigned int *) malloc (resx*resy*sizeof(unsigned int)) ;
-                       c4 = (unsigned int *) malloc (resx*resy*sizeof(unsigned int)) ;
+      pos10 = (unsigned int *) malloc (resx * resy * sizeof (unsigned int));
+      c1 = (unsigned int *) malloc (resx * resy * sizeof (unsigned int));
+      c2 = (unsigned int *) malloc (resx * resy * sizeof (unsigned int));
+      c3 = (unsigned int *) malloc (resx * resy * sizeof (unsigned int));
+      c4 = (unsigned int *) malloc (resx * resy * sizeof (unsigned int));
 #endif
-                       for (us=0; us<0xffff; us++)
-                         {
-                               sintable [us] = (int)(1024.0f * sin (us*2*3.31415f/0xffff)) ;
-                         }
-                       
-                       {
-                         int loopv ;
-                         firedec = (int *) malloc (prevY * sizeof(int)) ;
-                         for (loopv = prevY ; loopv != 0 ;)
-                               {
-                                 static int decc = 0 ;
-                                 static int spdc = 0 ;
-                                 static int accel = 0 ;
-                                 loopv -- ;
-                                 firedec [loopv] = decc ;
-                                 decc += spdc / 10 ;
-                                 spdc+= RAND () % 3;
-                                 spdc-= RAND () % 3;
-                                 
-                                 if (decc > 4)
-                                       spdc -= 1 ;
-                                 if (decc < -4)
-                                       spdc += 1 ;
-                                 
-                                 if (spdc > 30)
-                                       spdc = spdc - RAND () % 3 + accel / 10 ;
-                                 if (spdc < -30)
-                                       spdc = spdc + RAND () % 3 + accel / 10 ;
-                                 
-                                 if (decc > 8 && spdc > 1 )
-                                       spdc -= RAND () % 3 - 2 ;
-                                 
-                                 if (decc < -8 && spdc < -1 )
-                                       spdc += RAND () % 3 + 2 ;
-                                 
-                                 if (decc > 8 || decc < -8)
-                                       decc = decc * 8 / 9 ;
-                                 
-                                 accel += RAND () % 2;
-                                 accel -= RAND () % 2;
-                                 if (accel > 20)
-                                       accel -= 2 ;
-                                 if (accel < -20)
-                                       accel += 2 ;
-                               }
-                       }
-                 }
-               
-               
-               /* generation du buffer */
-               for (y = 0 ; y < prevY ; y++)
-                 for (x = 0; x < prevX ; x++)
-                       {
-                         int px,py;
-                         unsigned char coefv,coefh;
-                         
-                         /* calculer px et py en fonction de */
-                         /*   x,y,middleX,middleY et theMode */
-                         calculatePXandPY (x,y,&px, &py) ;
-                         if ((px == x << 4) && (py == y << 4))
-                               py += 8 ;
-
-                         if ( (py<0) || (px<0) ||
-                                  (py>=(prevY-1)*sqrtperte) ||
-                                  (px>=(prevX-1)*sqrtperte))
-                               {
+      for (us = 0; us < 0xffff; us++) {
+       sintable[us] = (int) (1024.0f * sin (us * 2 * 3.31415f / 0xffff));
+      }
+
+      {
+       int loopv;
+       firedec = (int *) malloc (prevY * sizeof (int));
+       for (loopv = prevY; loopv != 0;) {
+         static int decc = 0;
+         static int spdc = 0;
+         static int accel = 0;
+
+         loopv--;
+         firedec[loopv] = decc;
+         decc += spdc / 10;
+         spdc += RAND () % 3;
+         spdc -= RAND () % 3;
+
+         if (decc > 4)
+           spdc -= 1;
+         if (decc < -4)
+           spdc += 1;
+
+         if (spdc > 30)
+           spdc = spdc - RAND () % 3 + accel / 10;
+         if (spdc < -30)
+           spdc = spdc + RAND () % 3 + accel / 10;
+
+         if (decc > 8 && spdc > 1)
+           spdc -= RAND () % 3 - 2;
+
+         if (decc < -8 && spdc < -1)
+           spdc += RAND () % 3 + 2;
+
+         if (decc > 8 || decc < -8)
+           decc = decc * 8 / 9;
+
+         accel += RAND () % 2;
+         accel -= RAND () % 2;
+         if (accel > 20)
+           accel -= 2;
+         if (accel < -20)
+           accel += 2;
+       }
+      }
+    }
+
+
+    /* generation du buffer */
+    for (y = 0; y < prevY; y++)
+      for (x = 0; x < prevX; x++) {
+       int px, py;
+       unsigned char coefv, coefh;
+
+       /* calculer px et py en fonction de */
+       /*   x,y,middleX,middleY et theMode */
+       calculatePXandPY (x, y, &px, &py);
+       if ((px == x << 4) && (py == y << 4))
+         py += 8;
+
+       if ((py < 0) || (px < 0) ||
+           (py >= (prevY - 1) * sqrtperte) ||
+           (px >= (prevX - 1) * sqrtperte)) {
 #ifdef USE_ASM
-                                 coeffs[(y*prevX+x)*2]=0 ;
-                                 coeffs[(y*prevX+x)*2+1]=0;
+         coeffs[(y * prevX + x) * 2] = 0;
+         coeffs[(y * prevX + x) * 2 + 1] = 0;
 #else
-                                 pos10[y*prevX+x]=0 ;
-                                 c1[y*prevX+x] = 0 ;
-                                 c2[y*prevX+x] = 0 ;
-                                 c3[y*prevX+x] = 0 ;
-                                 c4[y*prevX+x] = 0 ;
+         pos10[y * prevX + x] = 0;
+         c1[y * prevX + x] = 0;
+         c2[y * prevX + x] = 0;
+         c3[y * prevX + x] = 0;
+         c4[y * prevX + x] = 0;
 #endif
-                               }
-                         else
-                               {
-                                 int npx10 ;
-                                 int npy10 ;
-                                  int pos;
-
-                                 npx10 = (px/sqrtperte) ;
-                                 npy10 = (py/sqrtperte) ;
-                                  
+       } else {
+         int npx10;
+         int npy10;
+         int pos;
+
+         npx10 = (px / sqrtperte);
+         npy10 = (py / sqrtperte);
+
 /*                       if (npx10 >= prevX) fprintf(stderr,"error npx:%d",npx10);
                          if (npy10 >= prevY) fprintf(stderr,"error npy:%d",npy10);
-*/                               
-                                 coefh = px % sqrtperte ;
-                                 coefv = py % sqrtperte ;                                
+*/
+         coefh = px % sqrtperte;
+         coefv = py % sqrtperte;
 #ifdef USE_ASM
-                               pos = (y*prevX+x)*2;
-                                coeffs[pos] = (npx10 + prevX * npy10) * 4;
-                               
-                               if (!(coefh || coefv))
-                                 coeffs[pos+1] = (sqrtperte*sqrtperte-1) ;
-                               else
-                                 coeffs[pos+1] = (
-                                       (sqrtperte-coefh) *
-                                       (sqrtperte-coefv) );
-                               
-                               coeffs[pos+1] |= (coefh * (sqrtperte-coefv)) << 8 ;
-                               coeffs[pos+1] |= ((sqrtperte-coefh) * coefv) << 16 ;
-                               coeffs[pos+1] |= (coefh * coefv)<<24 ;
+         pos = (y * prevX + x) * 2;
+         coeffs[pos] = (npx10 + prevX * npy10) * 4;
+
+         if (!(coefh || coefv))
+           coeffs[pos + 1] = (sqrtperte * sqrtperte - 1);
+         else
+           coeffs[pos + 1] = ((sqrtperte - coefh) * (sqrtperte - coefv));
+
+         coeffs[pos + 1] |= (coefh * (sqrtperte - coefv)) << 8;
+         coeffs[pos + 1] |= ((sqrtperte - coefh) * coefv) << 16;
+         coeffs[pos + 1] |= (coefh * coefv) << 24;
 #else
-                               pos = y*prevX+x;
-                               pos10[pos]= npx10 + prevX * npy10 ;
-
-                               if (!(coefh || coefv))
-                                       c1[pos] = sqrtperte*sqrtperte-1 ;
-                               else
-                                       c1[pos] = (sqrtperte-coefh) * (sqrtperte-coefv);
-                               
-                               c2[pos] = coefh * (sqrtperte-coefv) ;
-                               c3[pos] = (sqrtperte-coefh) * coefv ;
-                               c4[pos] = coefh * coefv ;
+         pos = y * prevX + x;
+         pos10[pos] = npx10 + prevX * npy10;
+
+         if (!(coefh || coefv))
+           c1[pos] = sqrtperte * sqrtperte - 1;
+         else
+           c1[pos] = (sqrtperte - coefh) * (sqrtperte - coefv);
+
+         c2[pos] = coefh * (sqrtperte - coefv);
+         c3[pos] = (sqrtperte - coefh) * coefv;
+         c4[pos] = coefh * coefv;
 #endif
-                               }
-                       }
-         }
-       
+       }
+      }
+  }
 #ifdef USE_ASM
 
-        #ifdef MMX
-       zoom_width = prevX ;
-       mmx_zoom_size = prevX * prevY ;
-        mmx_zoom () ;
-        #endif
-        
-        #ifdef POWERPC
-        zoom_width = prevX;
-        if (useAltivec)
-        {
-            ppcsize4 = ((unsigned int)(prevX*prevY))/4;
-            ppc_zoom_altivec();
-        }
-        else
-        {
-            ppcsize4 = ((unsigned int)(prevX*prevY));
-            ppc_zoom();        
-        }
-        #endif
+#ifdef MMX
+  zoom_width = prevX;
+  mmx_zoom_size = prevX * prevY;
+  mmx_zoom ();
+#endif
+
+#ifdef POWERPC
+  zoom_width = prevX;
+  if (useAltivec) {
+    ppcsize4 = ((unsigned int) (prevX * prevY)) / 4;
+    ppc_zoom_altivec ();
+  } else {
+    ppcsize4 = ((unsigned int) (prevX * prevY));
+    ppc_zoom ();
+  }
+#endif
 #else
-       for (position=0; position<prevX*prevY; position++)
-         {
-               getPixelRGB_(pix1,pos10[position],&col1);
-               getPixelRGB_(pix1,pos10[position]+1,&col2);
-               getPixelRGB_(pix1,pos10[position]+prevX,&col3);
-               getPixelRGB_(pix1,pos10[position]+prevX+1,&col4);
-               
-               couleur.r = col1.r * c1[position]
-                    + col2.r * c2[position]
-                    + col3.r * c3[position]
-                    + col4.r * c4[position];
-               couleur.r >>= pertedec ;
-
-               couleur.v = col1.v * c1[position]
-                    + col2.v * c2[position]
-                    + col3.v * c3[position]
-                    + col4.v * c4[position];
-               couleur.v >>= pertedec ;
-               
-               couleur.b = col1.b * c1[position]
-                    + col2.b * c2[position]
-                    + col3.b * c3[position]
-                    + col4.b * c4[position];
-               couleur.b >>= pertedec ;
-               
-               setPixelRGB_(pix2,position,couleur);
-       }
+  for (position = 0; position < prevX * prevY; position++) {
+    getPixelRGB_ (pix1, pos10[position], &col1);
+    getPixelRGB_ (pix1, pos10[position] + 1, &col2);
+    getPixelRGB_ (pix1, pos10[position] + prevX, &col3);
+    getPixelRGB_ (pix1, pos10[position] + prevX + 1, &col4);
+
+    couleur.r = col1.r * c1[position]
+       + col2.r * c2[position]
+       + col3.r * c3[position]
+       + col4.r * c4[position];
+    couleur.r >>= pertedec;
+
+    couleur.v = col1.v * c1[position]
+       + col2.v * c2[position]
+       + col3.v * c3[position]
+       + col4.v * c4[position];
+    couleur.v >>= pertedec;
+
+    couleur.b = col1.b * c1[position]
+       + col2.b * c2[position]
+       + col3.b * c3[position]
+       + col4.b * c4[position];
+    couleur.b >>= pertedec;
+
+    setPixelRGB_ (pix2, position, couleur);
+  }
 #endif
 }
 
 
-void pointFilter(Uint *pix1, Color c,
-                                float t1, float t2, float t3, float t4,
-                                Uint cycle)
+void
+pointFilter (Uint * pix1, Color c,
+    float t1, float t2, float t3, float t4, Uint cycle)
 {
-  Uint x = (Uint)((int)middleX + (int)(t1*cos((float)cycle/t3)));
-  Uint y = (Uint)((int)middleY + (int)(t2*sin((float)cycle/t4)));
-  if ((x>1) && (y>1) && (x<resolx-2) && (y<resoly-2))
-       {
-         setPixelRGB(pix1, x+1, y, c);
-         setPixelRGB(pix1, x, y+1, c);
-         setPixelRGB(pix1, x+1, y+1, WHITE);
-         setPixelRGB(pix1, x+2, y+1, c);
-         setPixelRGB(pix1, x+1, y+2, c);
-       }
+  Uint x = (Uint) ((int) middleX + (int) (t1 * cos ((float) cycle / t3)));
+  Uint y = (Uint) ((int) middleY + (int) (t2 * sin ((float) cycle / t4)));
+
+  if ((x > 1) && (y > 1) && (x < resolx - 2) && (y < resoly - 2)) {
+    setPixelRGB (pix1, x + 1, y, c);
+    setPixelRGB (pix1, x, y + 1, c);
+    setPixelRGB (pix1, x + 1, y + 1, WHITE);
+    setPixelRGB (pix1, x + 2, y + 1, c);
+    setPixelRGB (pix1, x + 1, y + 2, c);
+  }
 }
index 33784c2..c4f0926 100644 (file)
@@ -7,17 +7,17 @@
 
 typedef struct
 {
-       int vitesse ;
-       unsigned char pertedec ;
-       unsigned char sqrtperte ;
-       int middleX,middleY ;
-       char reverse ;
-       char mode ;
+  int vitesse;
+  unsigned char pertedec;
+  unsigned char sqrtperte;
+  int middleX, middleY;
+  char reverse;
+  char mode;
        /** @since June 2001 */
-       int hPlaneEffect ;
-       int vPlaneEffect ;
-       char noisify ;
-} ZoomFilterData ;
+  int hPlaneEffect;
+  int vPlaneEffect;
+  char noisify;
+} ZoomFilterData;
 
 
 #define NORMAL_MODE 0
@@ -27,9 +27,8 @@ typedef struct
 #define AMULETTE_MODE 4
 #define WATER_MODE 5
 
-void pointFilter(guint32 *pix1, Color c,
-                                float t1, float t2, float t3, float t4,
-                                guint32 cycle);
+void pointFilter (guint32 * pix1, Color c,
+    float t1, float t2, float t3, float t4, guint32 cycle);
 
 /* filtre de zoom :
  le contenu de pix1 est copie dans pix2, avec l'effet appliqué
@@ -42,10 +41,8 @@ Uint middleX,
 Uint middleY);
 */
 
-void zoomFilterFastRGB (guint32 *pix1,
-                                               guint32 *pix2,
-                                               ZoomFilterData *zf,
-                                               guint32 resx, guint32 resy);
+void zoomFilterFastRGB (guint32 * pix1,
+    guint32 * pix2, ZoomFilterData * zf, guint32 resx, guint32 resy);
 
 
 /* filtre sin :
index cf84112..5c4a75a 100644 (file)
 /**-----------------------------------------------------**
  **  SHARED DATA                                        **
  **-----------------------------------------------------**/
-static guint32 *pixel ;
-static guint32 *back ;
-static guint32 *p1,*p2,*tmp;
+static guint32 *pixel;
+static guint32 *back;
+static guint32 *p1, *p2, *tmp;
 static guint32 cycle;
 
 guint32 resolx, resoly, buffsize;
 
-void goom_init (guint32 resx, guint32 resy)
+void
+goom_init (guint32 resx, guint32 resy)
 {
 #ifdef VERBOSE
-    printf ("GOOM: init (%d, %d);\n", resx,resy);
+  printf ("GOOM: init (%d, %d);\n", resx, resy);
 #endif
-    resolx = resx;
-    resoly = resy;
-    buffsize = resx * resy;
+  resolx = resx;
+  resoly = resy;
+  buffsize = resx * resy;
 
-    pixel = (guint32 *) malloc (buffsize * sizeof(guint32) + 128);
-    back = (guint32 *) malloc (buffsize * sizeof(guint32) + 128);
-    RAND_INIT (GPOINTER_TO_INT(pixel));
-    cycle = 0 ;
+  pixel = (guint32 *) malloc (buffsize * sizeof (guint32) + 128);
+  back = (guint32 *) malloc (buffsize * sizeof (guint32) + 128);
+  RAND_INIT (GPOINTER_TO_INT (pixel));
+  cycle = 0;
 
-    p1 = (void *)(((unsigned long)pixel + 0x7f)&(~0x7f));
-    p2 = (void *)(((unsigned long)back + 0x7f)&(~0x7f));
+  p1 = (void *) (((unsigned long) pixel + 0x7f) & (~0x7f));
+  p2 = (void *) (((unsigned long) back + 0x7f) & (~0x7f));
 }
 
 
-void goom_set_resolution (guint32 resx, guint32 resy)
+void
+goom_set_resolution (guint32 resx, guint32 resy)
 {
-    free (pixel);
-    free (back);
+  free (pixel);
+  free (back);
 
-    resolx = resx;
-    resoly = resy;
-    buffsize = resx * resy;
+  resolx = resx;
+  resoly = resy;
+  buffsize = resx * resy;
 
-    pixel = (guint32 *) malloc (buffsize * sizeof(guint32) + 128);
-    memset(pixel,0,buffsize * sizeof(guint32) + 128);
-    back = (guint32 *) malloc (buffsize * sizeof(guint32) + 128);
-    memset(back,0,buffsize * sizeof(guint32) + 128);
+  pixel = (guint32 *) malloc (buffsize * sizeof (guint32) + 128);
+  memset (pixel, 0, buffsize * sizeof (guint32) + 128);
+  back = (guint32 *) malloc (buffsize * sizeof (guint32) + 128);
+  memset (back, 0, buffsize * sizeof (guint32) + 128);
 
-    p1 = (void *)(((unsigned long)pixel + 0x7f)&(~0x7f));
-    p2 = (void *)(((unsigned long)back + 0x7f)&(~0x7f));
+  p1 = (void *) (((unsigned long) pixel + 0x7f) & (~0x7f));
+  p2 = (void *) (((unsigned long) back + 0x7f) & (~0x7f));
 }
 
 
-guint32 * goom_update (gint16 data [2][512])
+guint32 *
+goom_update (gint16 data[2][512])
 {
-    static int lockvar = 0 ; /* pour empecher de nouveaux changements */
-    static int         goomvar = 0 ; /* boucle des gooms */
-    static int         totalgoom = 0 ; /* nombre de gooms par seconds */
-    static int         agoom = 0 ; /* un goom a eu lieu..       */
-    static int         loopvar = 0 ; /* mouvement des points */
-    static int         speedvar = 0 ; /* vitesse des particules */
-    static int lineMode = 0 ; /* l'effet lineaire a dessiner */
-    guint32 * return_val;
-    guint32 pointWidth;
-    guint32 pointHeight;
-    int        incvar ; /* volume du son */
-    int        accelvar ; /* acceleration des particules */
-    int        i ;
-    float      largfactor ; /* elargissement de l'intervalle d'évolution des points */
-    static char        goomlimit = 2 ; /* sensibilité du goom */
-    static     ZoomFilterData zfd =
-    {
-       128,    8,      16,
-       1,      1,      0,      WAVE_MODE,
-       0,      0,      0};
-
-    ZoomFilterData *pzfd;
-
-    /* test if the config has changed, update it if so */
-    pointWidth = (resolx * 2) / 5;
-    pointHeight = (resoly * 2) / 5;
-
-    /* ! etude du signal ... */
-    incvar = 0 ;
-    for (i=0;i<512;i++)
-    {
-        if (incvar < data[0][i]) incvar = data[0][i] ;
-    }
+  static int lockvar = 0;      /* pour empecher de nouveaux changements */
+  static int goomvar = 0;      /* boucle des gooms */
+  static int totalgoom = 0;    /* nombre de gooms par seconds */
+  static int agoom = 0;                /* un goom a eu lieu..       */
+  static int loopvar = 0;      /* mouvement des points */
+  static int speedvar = 0;     /* vitesse des particules */
+  static int lineMode = 0;     /* l'effet lineaire a dessiner */
+  guint32 *return_val;
+  guint32 pointWidth;
+  guint32 pointHeight;
+  int incvar;                  /* volume du son */
+  int accelvar;                        /* acceleration des particules */
+  int i;
+  float largfactor;            /* elargissement de l'intervalle d'évolution des points */
+  static char goomlimit = 2;   /* sensibilité du goom */
+  static ZoomFilterData zfd = {
+    128, 8, 16,
+    1, 1, 0, WAVE_MODE,
+    0, 0, 0
+  };
+
+  ZoomFilterData *pzfd;
+
+  /* test if the config has changed, update it if so */
+  pointWidth = (resolx * 2) / 5;
+  pointHeight = (resoly * 2) / 5;
+
+  /* ! etude du signal ... */
+  incvar = 0;
+  for (i = 0; i < 512; i++) {
+    if (incvar < data[0][i])
+      incvar = data[0][i];
+  }
 
-    accelvar = incvar / 5000 ;
-    if (speedvar>5)
-    {
-        accelvar-- ;
-        if (speedvar>20) accelvar -- ;
-        if (speedvar>40) speedvar = 40 ;
-    }
-    accelvar -- ;
-    speedvar += accelvar ;
-       
-    if (speedvar<0) speedvar=0;
-    if (speedvar>40) speedvar = 40 ;
+  accelvar = incvar / 5000;
+  if (speedvar > 5) {
+    accelvar--;
+    if (speedvar > 20)
+      accelvar--;
+    if (speedvar > 40)
+      speedvar = 40;
+  }
+  accelvar--;
+  speedvar += accelvar;
+
+  if (speedvar < 0)
+    speedvar = 0;
+  if (speedvar > 40)
+    speedvar = 40;
 
 
   /* ! calcul du deplacement des petits points ... */
 
-  largfactor = ((float)speedvar / 40.0f + (float)incvar / 50000.0f) / 1.5f ;
-  if (largfactor>1.5f) largfactor = 1.5f ;
-
-  for (i = 1 ; i*15 <= speedvar + 15; i ++) {
-       loopvar += speedvar + 1 ;
-               
-       pointFilter(p1,
-                               YELLOW,
-                               ((pointWidth - 6.0f) * largfactor + 5.0f),
-                               ((pointHeight - 6.0f) * largfactor + 5.0f),
-                               i * 152.0f, 128.0f,
-                               loopvar + i*2032);
-       pointFilter(p1, ORANGE,
-                               ((pointWidth / 2) * largfactor) / i + 10.0f * i,
-                               ((pointHeight / 2) * largfactor) / i + 10.0f * i,
-                               96.0f, i * 80.0f, loopvar / i);
-       pointFilter(p1, VIOLET,
-                               ((pointHeight / 3 + 5.0f) * largfactor) / i + 10.0f * i,
-                               ((pointHeight / 3 + 5.0f) * largfactor) / i + 10.0f * i,
-                               i + 122.0f, 134.0f, loopvar / i);
-       pointFilter(p1, BLACK,
-                               ((pointHeight / 3) * largfactor + 20.0f),
-                               ((pointHeight / 3) * largfactor + 20.0f),
-                               58.0f, i * 66.0f, loopvar / i);
-       pointFilter(p1, WHITE,
-                               (pointHeight * largfactor + 10.0f * i) / i,
-                               (pointHeight * largfactor + 10.0f * i) / i,
-                               66.0f, 74.0f, loopvar + i * 500);
+  largfactor = ((float) speedvar / 40.0f + (float) incvar / 50000.0f) / 1.5f;
+  if (largfactor > 1.5f)
+    largfactor = 1.5f;
+
+  for (i = 1; i * 15 <= speedvar + 15; i++) {
+    loopvar += speedvar + 1;
+
+    pointFilter (p1,
+       YELLOW,
+       ((pointWidth - 6.0f) * largfactor + 5.0f),
+       ((pointHeight - 6.0f) * largfactor + 5.0f),
+       i * 152.0f, 128.0f, loopvar + i * 2032);
+    pointFilter (p1, ORANGE,
+       ((pointWidth / 2) * largfactor) / i + 10.0f * i,
+       ((pointHeight / 2) * largfactor) / i + 10.0f * i,
+       96.0f, i * 80.0f, loopvar / i);
+    pointFilter (p1, VIOLET,
+       ((pointHeight / 3 + 5.0f) * largfactor) / i + 10.0f * i,
+       ((pointHeight / 3 + 5.0f) * largfactor) / i + 10.0f * i,
+       i + 122.0f, 134.0f, loopvar / i);
+    pointFilter (p1, BLACK,
+       ((pointHeight / 3) * largfactor + 20.0f),
+       ((pointHeight / 3) * largfactor + 20.0f),
+       58.0f, i * 66.0f, loopvar / i);
+    pointFilter (p1, WHITE,
+       (pointHeight * largfactor + 10.0f * i) / i,
+       (pointHeight * largfactor + 10.0f * i) / i,
+       66.0f, 74.0f, loopvar + i * 500);
   }
 
-    /* par défaut pas de changement de zoom */
-    pzfd = NULL ;
-       
-    /* diminuer de 1 le temps de lockage */
-    /* note pour ceux qui n'ont pas suivis : le lockvar permet d'empecher un */
-    /* changement d'etat du plugins juste apres un autre changement d'etat. oki ? */
-    if (--lockvar < 0) lockvar = 0 ;
-
-    /* temps du goom */
-    if (--agoom < 0) agoom = 0 ;
-
-    /* on verifie qu'il ne se pas un truc interressant avec le son. */
-    if ((accelvar>goomlimit) || (accelvar<-goomlimit))
-    {
-        /* UN GOOM !!! YAHOO ! */
-        totalgoom ++ ;
-        agoom = 20 ; /* mais pdt 20 cycles, il n'y en aura plus. */
-        lineMode = (lineMode + 1)%20; /* Tous les 10 gooms on change de mode lineaire */
-
-        /* changement eventuel de mode */
-        switch (iRAND(10))
-        {
-        case 0:
-        case 1:
-        case 2:
-            zfd.mode=WAVE_MODE;
-            zfd.vitesse=STOP_SPEED-1;
-            zfd.reverse=0;
-            break;
-        case 3:
-        case 4:
-            zfd.mode=CRYSTAL_BALL_MODE;
-            break;
-        case 5:
-            zfd.mode=AMULETTE_MODE;
-            break;
-        case 6:
-            zfd.mode = WATER_MODE ;
-            break;
-        case 7:
-            zfd.mode=SCRUNCH_MODE;
-            break;
-        default:
-            zfd.mode=NORMAL_MODE;
-        }
+  /* par défaut pas de changement de zoom */
+  pzfd = NULL;
+
+  /* diminuer de 1 le temps de lockage */
+  /* note pour ceux qui n'ont pas suivis : le lockvar permet d'empecher un */
+  /* changement d'etat du plugins juste apres un autre changement d'etat. oki ? */
+  if (--lockvar < 0)
+    lockvar = 0;
+
+  /* temps du goom */
+  if (--agoom < 0)
+    agoom = 0;
+
+  /* on verifie qu'il ne se pas un truc interressant avec le son. */
+  if ((accelvar > goomlimit) || (accelvar < -goomlimit)) {
+    /* UN GOOM !!! YAHOO ! */
+    totalgoom++;
+    agoom = 20;                        /* mais pdt 20 cycles, il n'y en aura plus. */
+    lineMode = (lineMode + 1) % 20;    /* Tous les 10 gooms on change de mode lineaire */
+
+    /* changement eventuel de mode */
+    switch (iRAND (10)) {
+      case 0:
+      case 1:
+      case 2:
+       zfd.mode = WAVE_MODE;
+       zfd.vitesse = STOP_SPEED - 1;
+       zfd.reverse = 0;
+       break;
+      case 3:
+      case 4:
+       zfd.mode = CRYSTAL_BALL_MODE;
+       break;
+      case 5:
+       zfd.mode = AMULETTE_MODE;
+       break;
+      case 6:
+       zfd.mode = WATER_MODE;
+       break;
+      case 7:
+       zfd.mode = SCRUNCH_MODE;
+       break;
+      default:
+       zfd.mode = NORMAL_MODE;
     }
+  }
 
-    /* tout ceci ne sera fait qu'en cas de non-blocage */
-    if (lockvar == 0)
-    {
-        /* reperage de goom (acceleration forte de l'acceleration du volume) */
-        /* -> coup de boost de la vitesse si besoin.. */
-        if ( (accelvar>goomlimit) || (accelvar<-goomlimit) )
-        {
-            goomvar ++ ;
-            /*if (goomvar % 1 == 0) */
-            {
-                guint32 vtmp ;
-                guint32 newvit ;
-                newvit = STOP_SPEED - speedvar / 2 ;
-                /* retablir le zoom avant.. */
-                if ((zfd.reverse) &&
-                        (!(cycle%12)) &&
-                        (rand ()%3==0))
-                {
-                    zfd.reverse = 0 ;
-                    zfd.vitesse = STOP_SPEED - 2 ;
-                    lockvar = 50 ;
-                }
-                if (iRAND (10) == 0)
-                {
-                    zfd.reverse = 1;
-                    lockvar = 100;
-                }
-
-                /* changement de milieu.. */
-                switch (iRAND(20))
-                {
-                    case 0:
-                        zfd.middleY = resoly - 1 ;
-                        zfd.middleX = resolx / 2 ;
-                        break ;
-                    case 1:
-                        zfd.middleX = resolx - 1 ;
-                        break ;
-                    case 2:
-                        zfd.middleX = 1 ;
-                        break ;
-                    default:
-                        zfd.middleY = resoly / 2 ;
-                        zfd.middleX = resolx / 2 ;
-                }
-
-                if (zfd.mode == WATER_MODE)
-                {
-                    zfd.middleX = resolx / 2;
-                    zfd.middleY = resoly / 2;
-                }
-
-                switch (vtmp = (iRAND (27)))
-                {
-                    case 0:
-                        zfd.vPlaneEffect = iRAND(3);
-                        zfd.vPlaneEffect -= iRAND(3);
-                        zfd.hPlaneEffect = iRAND(3);
-                        zfd.hPlaneEffect -= iRAND(3);
-                        break;
-                    case 3:
-                        zfd.vPlaneEffect = 0 ;
-                        zfd.hPlaneEffect = iRAND(8);
-                        zfd.hPlaneEffect -= iRAND(8);
-                        break;
-                    case 4:
-                    case 5:
-                    case 6:
-                    case 7:
-                        zfd.vPlaneEffect = iRAND(5);
-                        zfd.vPlaneEffect -= iRAND(5);
-                        zfd.hPlaneEffect = - zfd.vPlaneEffect;
-                        break;
-                    case 8:
-                        zfd.hPlaneEffect = 5 + iRAND (8);
-                        zfd.vPlaneEffect = - zfd.hPlaneEffect ;
-                        break;
-                    case 9:
-                        zfd.vPlaneEffect = 5 + iRAND (8);
-                        zfd.hPlaneEffect = - zfd.hPlaneEffect ;
-                        break;
-                    case 13:
-                        zfd.hPlaneEffect = 0;
-                        zfd.vPlaneEffect = iRAND(10);
-                        zfd.vPlaneEffect -= iRAND(10);
-                        break;
-                    default:
-                        if (vtmp < 10)
-                        {
-                            zfd.vPlaneEffect = 0;
-                            zfd.hPlaneEffect = 0;
-                        }
-                    }
-
-                if (iRAND (3) != 0) zfd.noisify = 0 ;
-                else
-                {
-                    zfd.noisify = iRAND (3) + 2 ;
-                    lockvar *= 3;
-                }
-                       
-                if (zfd.mode == AMULETTE_MODE)
-                {
-                    zfd.vPlaneEffect = 0;
-                    zfd.hPlaneEffect = 0;
-                    zfd.noisify = 0;
-                }
-
-                if ((zfd.middleX == 1) || (zfd.middleX == resolx - 1))
-                {
-                    zfd.vPlaneEffect = 0 ;
-                    zfd.hPlaneEffect = iRAND (2) ? 0 : zfd.hPlaneEffect;
-                }
-
-                if (newvit < zfd.vitesse) /* on accelere */
-                {
-                    pzfd = &zfd;
-                    if ( ( (newvit < STOP_SPEED - 7) &&
-                                (zfd.vitesse < STOP_SPEED - 6) &&
-                                (cycle % 3 == 0)) ||
-                                (iRAND (40) == 0))
-                    {
-                        zfd.vitesse = STOP_SPEED - 1 ;
-                        zfd.reverse = ! zfd.reverse ;
-                    }
-                    else
-                    {
-                        zfd.vitesse = (newvit + zfd.vitesse * 4) / 5 ;
-                    }
-                    lockvar += 50 ;
-                }
-            }
-        }
-         /* mode mega-lent */
-         if (iRAND(1000) == 0)
-               {
-                 /* 
-                        printf ("coup du sort...\n") ;
-                 */
-                 pzfd = &zfd ;
-                 zfd.vitesse = STOP_SPEED - 1 ;
-                 zfd.pertedec = 8 ;
-                 zfd.sqrtperte = 16 ;
-                 goomvar = 1 ;
-                 lockvar += 70 ;
-               }
+  /* tout ceci ne sera fait qu'en cas de non-blocage */
+  if (lockvar == 0) {
+    /* reperage de goom (acceleration forte de l'acceleration du volume) */
+    /* -> coup de boost de la vitesse si besoin.. */
+    if ((accelvar > goomlimit) || (accelvar < -goomlimit)) {
+      goomvar++;
+      /*if (goomvar % 1 == 0) */
+      {
+       guint32 vtmp;
+       guint32 newvit;
+
+       newvit = STOP_SPEED - speedvar / 2;
+       /* retablir le zoom avant.. */
+       if ((zfd.reverse) && (!(cycle % 12)) && (rand () % 3 == 0)) {
+         zfd.reverse = 0;
+         zfd.vitesse = STOP_SPEED - 2;
+         lockvar = 50;
        }
-       
-  /* gros frein si la musique est calme */
-  if ((speedvar < 1) && (zfd.vitesse < STOP_SPEED - 4) && (cycle % 16 == 0))
-       {
-         /*
-               printf ("++slow part... %i\n", zfd.vitesse) ;
-         */
-         pzfd = &zfd ;
-         zfd.vitesse += 3 ;
-         zfd.pertedec = 8 ;
-         zfd.sqrtperte = 16 ;
-         goomvar = 0 ;
-         /*
-               printf ("--slow part... %i\n", zfd.vitesse) ;
-         */
+       if (iRAND (10) == 0) {
+         zfd.reverse = 1;
+         lockvar = 100;
        }
-       
-  /* baisser regulierement la vitesse... */
-  if ( (cycle % 73 == 0) && (zfd.vitesse < STOP_SPEED - 5))
-       {
-         /*
-               printf ("slow down...\n") ;
-         */
-         pzfd = &zfd ;
-         zfd.vitesse ++ ;
+
+       /* changement de milieu.. */
+       switch (iRAND (20)) {
+         case 0:
+           zfd.middleY = resoly - 1;
+           zfd.middleX = resolx / 2;
+           break;
+         case 1:
+           zfd.middleX = resolx - 1;
+           break;
+         case 2:
+           zfd.middleX = 1;
+           break;
+         default:
+           zfd.middleY = resoly / 2;
+           zfd.middleX = resolx / 2;
        }
-       
-  /* arreter de decrémenter au bout d'un certain temps */
-  if ((cycle % 101 == 0) && (zfd.pertedec == 7))
-       {
-         pzfd = &zfd ;
-         zfd.pertedec=8 ;
-         zfd.sqrtperte=16 ;
+
+       if (zfd.mode == WATER_MODE) {
+         zfd.middleX = resolx / 2;
+         zfd.middleY = resoly / 2;
        }
-       
-#ifdef VERBOSE
-  if (pzfd)
-       {
-         printf ("GOOM: pzfd->mode = %d\n", pzfd->mode);
+
+       switch (vtmp = (iRAND (27))) {
+         case 0:
+           zfd.vPlaneEffect = iRAND (3);
+           zfd.vPlaneEffect -= iRAND (3);
+           zfd.hPlaneEffect = iRAND (3);
+           zfd.hPlaneEffect -= iRAND (3);
+           break;
+         case 3:
+           zfd.vPlaneEffect = 0;
+           zfd.hPlaneEffect = iRAND (8);
+           zfd.hPlaneEffect -= iRAND (8);
+           break;
+         case 4:
+         case 5:
+         case 6:
+         case 7:
+           zfd.vPlaneEffect = iRAND (5);
+           zfd.vPlaneEffect -= iRAND (5);
+           zfd.hPlaneEffect = -zfd.vPlaneEffect;
+           break;
+         case 8:
+           zfd.hPlaneEffect = 5 + iRAND (8);
+           zfd.vPlaneEffect = -zfd.hPlaneEffect;
+           break;
+         case 9:
+           zfd.vPlaneEffect = 5 + iRAND (8);
+           zfd.hPlaneEffect = -zfd.hPlaneEffect;
+           break;
+         case 13:
+           zfd.hPlaneEffect = 0;
+           zfd.vPlaneEffect = iRAND (10);
+           zfd.vPlaneEffect -= iRAND (10);
+           break;
+         default:
+           if (vtmp < 10) {
+             zfd.vPlaneEffect = 0;
+             zfd.hPlaneEffect = 0;
+           }
+       }
+
+       if (iRAND (3) != 0)
+         zfd.noisify = 0;
+       else {
+         zfd.noisify = iRAND (3) + 2;
+         lockvar *= 3;
+       }
+
+       if (zfd.mode == AMULETTE_MODE) {
+         zfd.vPlaneEffect = 0;
+         zfd.hPlaneEffect = 0;
+         zfd.noisify = 0;
+       }
+
+       if ((zfd.middleX == 1) || (zfd.middleX == resolx - 1)) {
+         zfd.vPlaneEffect = 0;
+         zfd.hPlaneEffect = iRAND (2) ? 0 : zfd.hPlaneEffect;
+       }
+
+       if (newvit < zfd.vitesse) {     /* on accelere */
+         pzfd = &zfd;
+         if (((newvit < STOP_SPEED - 7) &&
+                 (zfd.vitesse < STOP_SPEED - 6) &&
+                 (cycle % 3 == 0)) || (iRAND (40) == 0)) {
+           zfd.vitesse = STOP_SPEED - 1;
+           zfd.reverse = !zfd.reverse;
+         } else {
+           zfd.vitesse = (newvit + zfd.vitesse * 4) / 5;
+         }
+         lockvar += 50;
        }
+      }
+    }
+    /* mode mega-lent */
+    if (iRAND (1000) == 0) {
+      /* 
+         printf ("coup du sort...\n") ;
+       */
+      pzfd = &zfd;
+      zfd.vitesse = STOP_SPEED - 1;
+      zfd.pertedec = 8;
+      zfd.sqrtperte = 16;
+      goomvar = 1;
+      lockvar += 70;
+    }
+  }
+
+  /* gros frein si la musique est calme */
+  if ((speedvar < 1) && (zfd.vitesse < STOP_SPEED - 4) && (cycle % 16 == 0)) {
+    /*
+       printf ("++slow part... %i\n", zfd.vitesse) ;
+     */
+    pzfd = &zfd;
+    zfd.vitesse += 3;
+    zfd.pertedec = 8;
+    zfd.sqrtperte = 16;
+    goomvar = 0;
+    /*
+       printf ("--slow part... %i\n", zfd.vitesse) ;
+     */
+  }
+
+  /* baisser regulierement la vitesse... */
+  if ((cycle % 73 == 0) && (zfd.vitesse < STOP_SPEED - 5)) {
+    /*
+       printf ("slow down...\n") ;
+     */
+    pzfd = &zfd;
+    zfd.vitesse++;
+  }
+
+  /* arreter de decrémenter au bout d'un certain temps */
+  if ((cycle % 101 == 0) && (zfd.pertedec == 7)) {
+    pzfd = &zfd;
+    zfd.pertedec = 8;
+    zfd.sqrtperte = 16;
+  }
+#ifdef VERBOSE
+  if (pzfd) {
+    printf ("GOOM: pzfd->mode = %d\n", pzfd->mode);
+  }
 #endif
 
-    /* Zoom here ! */
-    zoomFilterFastRGB (p1, p2, pzfd, resolx, resoly) ;
-
-    /* si on est dans un goom : afficher les lignes... */
-    if (agoom > 15) goom_lines
-                                         (data,
-                                          ((zfd.middleX==resolx/2) && (zfd.middleY==resoly/2) && (zfd.mode!=WATER_MODE))
-                                            ? (lineMode/10) : 0,
-                                          p2,agoom-15);
-
-    return_val = p2 ;
-    tmp=p1;
-    p1=p2;
-    p2=tmp;
-
-    /* affichage et swappage des buffers.. */
-    cycle++;
-       
-    /* tous les 100 cycles : vérifier si le taux de goom est correct */
-    /* et le modifier sinon.. */
-    if (!(cycle%100))
-    {
-        if (totalgoom>15)
-        {
-            /* printf ("less gooms\n") ; */
-            goomlimit ++ ;
-        }
-        else
-        {
-            if ((totalgoom==0) && (goomlimit>1))
-                goomlimit -- ;
-        }        
-        totalgoom = 0 ;
+  /* Zoom here ! */
+  zoomFilterFastRGB (p1, p2, pzfd, resolx, resoly);
+
+  /* si on est dans un goom : afficher les lignes... */
+  if (agoom > 15)
+    goom_lines
+       (data, ((zfd.middleX == resolx / 2) && (zfd.middleY == resoly / 2)
+           && (zfd.mode != WATER_MODE))
+       ? (lineMode / 10) : 0, p2, agoom - 15);
+
+  return_val = p2;
+  tmp = p1;
+  p1 = p2;
+  p2 = tmp;
+
+  /* affichage et swappage des buffers.. */
+  cycle++;
+
+  /* tous les 100 cycles : vérifier si le taux de goom est correct */
+  /* et le modifier sinon.. */
+  if (!(cycle % 100)) {
+    if (totalgoom > 15) {
+      /*  printf ("less gooms\n") ; */
+      goomlimit++;
+    } else {
+      if ((totalgoom == 0) && (goomlimit > 1))
+       goomlimit--;
     }
-    return return_val;
+    totalgoom = 0;
+  }
+  return return_val;
 }
 
-void goom_close ()
+void
+goom_close ()
 {
-  if (pixel!=NULL) free (pixel) ;
-  if (back!=NULL) free (back) ;
-       pixel = back = NULL;
-  RAND_CLOSE();
+  if (pixel != NULL)
+    free (pixel);
+  if (back != NULL)
+    free (back);
+  pixel = back = NULL;
+  RAND_CLOSE ();
 }
index 15f942d..3751b52 100644 (file)
@@ -6,7 +6,7 @@
 void goom_init (guint32 resx, guint32 resy);
 void goom_set_resolution (guint32 resx, guint32 resy);
 
-guint32 * goom_update (gint16 data [2][512]);
+guint32 *goom_update (gint16 data[2][512]);
 
 void goom_close ();
 
index e361382..5159cf9 100644 (file)
@@ -4,8 +4,8 @@
 #define NB_RAND 0x10000
 
 /* in graphic.c */
-extern int * rand_tab ;
-extern unsigned short rand_pos ;
+extern int *rand_tab;
+extern unsigned short rand_pos;
 
 #define RAND_INIT(i) \
        srand (i) ;\
@@ -25,5 +25,5 @@ extern unsigned short rand_pos ;
 
 /*#define iRAND(i) ((guint32)((float)i * RAND()/RAND_MAX)) */
 #define iRAND(i) (RAND()%i)
-       
+
 #endif
index cd24d49..33fff16 100644 (file)
@@ -4,18 +4,18 @@
 
 #include "graphic.h"
 
-const Color BLACK = {0,0,0} ;
-const Color WHITE = {0xff,0xff,0xff} ;
-const Color RED = {0xff,0,0} ;
-const Color GREEN = {0,0xff,0} ;
-const Color BLUE = {0,0,0xff} ;
-const Color YELLOW = {0xff, 0xff, 0x33} ;
-const Color ORANGE = {0xff, 0xcc, 0x00} ;
-const Color VIOLET = {0x55, 0x00, 0xff} ;
+const Color BLACK = { 0, 0, 0 };
+const Color WHITE = { 0xff, 0xff, 0xff };
+const Color RED = { 0xff, 0, 0 };
+const Color GREEN = { 0, 0xff, 0 };
+const Color BLUE = { 0, 0, 0xff };
+const Color YELLOW = { 0xff, 0xff, 0x33 };
+const Color ORANGE = { 0xff, 0xcc, 0x00 };
+const Color VIOLET = { 0x55, 0x00, 0xff };
 
-unsigned int SIZE ;
-unsigned int HEIGHT ;
-unsigned int WIDTH ;
+unsigned int SIZE;
+unsigned int HEIGHT;
+unsigned int WIDTH;
 
-int * rand_tab = 0 ;
-unsigned short int rand_pos = 0 ;
+int *rand_tab = 0;
+unsigned short int rand_pos = 0;
index 415dde7..1af1030 100644 (file)
@@ -5,7 +5,7 @@ typedef unsigned int Uint;
 
 typedef struct
 {
-  unsigned short r,v,b;
+  unsigned short r, v, b;
 }
 Color;
 
@@ -18,7 +18,7 @@ extern const Color YELLOW;
 extern const Color ORANGE;
 extern const Color VIOLET;
 
-inline void setPixelRGB (Uint *buffer, Uint x, Uint y, Color c) ;
-inline void getPixelRGB (Uint *buffer, Uint x, Uint y, Color *c) ;
+inline void setPixelRGB (Uint * buffer, Uint x, Uint y, Color c);
+inline void getPixelRGB (Uint * buffer, Uint x, Uint y, Color * c);
 
-#endif /*GRAPHIC_H*/
+#endif /*GRAPHIC_H */
index 35d5e09..b5ad63a 100644 (file)
 typedef struct _GstGOOM GstGOOM;
 typedef struct _GstGOOMClass GstGOOMClass;
 
-struct _GstGOOM {
+struct _GstGOOM
+{
   GstElement element;
 
   /* pads */
-  GstPad *sinkpad,*srcpad;
+  GstPad *sinkpad, *srcpad;
 
   /* the timestamp of the next frame */
   guint64 next_time;
@@ -52,11 +53,12 @@ struct _GstGOOM {
   gboolean srcnegotiated;
 };
 
-struct _GstGOOMClass {
+struct _GstGOOMClass
+{
   GstElementClass parent_class;
 };
 
-GType gst_goom_get_type(void);
+GType gst_goom_get_type (void);
 
 
 /* elementfactory information */
@@ -68,53 +70,50 @@ static GstElementDetails gst_goom_details = {
 };
 
 /* signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static GstStaticPadTemplate src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ( GST_VIDEO_CAPS_xRGB_HOST_ENDIAN )
-);
-
-static GstStaticPadTemplate sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",                              /* the name of the pads */
-  GST_PAD_SINK,                                /* type of the pad */
-  GST_PAD_ALWAYS,                      /* ALWAYS/SOMETIMES */
-  GST_STATIC_CAPS ( "audio/x-raw-int, "
-    "endianness = (int) BYTE_ORDER, "
-    "signed = (boolean) TRUE, "
-    "width = (int) 16, "
-    "depth = (int) 16, "
-    "rate = (int) [ 8000, 96000 ], "
-    "channels = (int) [ 1, 2 ]"
-  )
-);
-
-
-static void            gst_goom_class_init     (GstGOOMClass *klass);
-static void            gst_goom_base_init      (GstGOOMClass *klass);
-static void            gst_goom_init           (GstGOOM *goom);
-static void            gst_goom_dispose        (GObject *object);
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_xRGB_HOST_ENDIAN)
+    );
 
-static GstElementStateReturn
-                       gst_goom_change_state   (GstElement *element);
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",   /* the name of the pads */
+    GST_PAD_SINK,              /* type of the pad */
+    GST_PAD_ALWAYS,            /* ALWAYS/SOMETIMES */
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) TRUE, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = (int) [ 8000, 96000 ], " "channels = (int) [ 1, 2 ]")
+    );
+
+
+static void gst_goom_class_init (GstGOOMClass * klass);
+static void gst_goom_base_init (GstGOOMClass * klass);
+static void gst_goom_init (GstGOOM * goom);
+static void gst_goom_dispose (GObject * object);
 
-static void            gst_goom_chain          (GstPad *pad, GstData *_data);
+static GstElementStateReturn gst_goom_change_state (GstElement * element);
 
-static GstPadLinkReturn gst_goom_sinkconnect   (GstPad *pad, const GstCaps *caps);
-static GstPadLinkReturn gst_goom_srcconnect    (GstPad *pad, const GstCaps *caps);
-static GstCaps *        gst_goom_src_fixate    (GstPad *pad, const GstCaps *caps);
+static void gst_goom_chain (GstPad * pad, GstData * _data);
+
+static GstPadLinkReturn gst_goom_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
+static GstPadLinkReturn gst_goom_srcconnect (GstPad * pad,
+    const GstCaps * caps);
+static GstCaps *gst_goom_src_fixate (GstPad * pad, const GstCaps * caps);
 
 static GstElementClass *parent_class = NULL;
 
@@ -125,9 +124,9 @@ gst_goom_get_type (void)
 
   if (!type) {
     static const GTypeInfo info = {
-      sizeof (GstGOOMClass),      
-      (GBaseInitFunc) gst_goom_base_init,      
-      NULL,      
+      sizeof (GstGOOMClass),
+      (GBaseInitFunc) gst_goom_base_init,
+      NULL,
       (GClassInitFunc) gst_goom_class_init,
       NULL,
       NULL,
@@ -141,41 +140,43 @@ gst_goom_get_type (void)
 }
 
 static void
-gst_goom_base_init (GstGOOMClass *klass)
+gst_goom_base_init (GstGOOMClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_set_details (element_class, &gst_goom_details);
   gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&sink_template));
+      gst_static_pad_template_get (&sink_template));
   gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&src_template));
+      gst_static_pad_template_get (&src_template));
 }
 
 static void
-gst_goom_class_init(GstGOOMClass *klass)
+gst_goom_class_init (GstGOOMClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  gobject_class->dispose       = gst_goom_dispose;
+  gobject_class->dispose = gst_goom_dispose;
 
   gstelement_class->change_state = gst_goom_change_state;
 }
 
 static void
-gst_goom_init (GstGOOM *goom)
+gst_goom_init (GstGOOM * goom)
 {
   /* create the sink and src pads */
-  goom->sinkpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&sink_template ), "sink");
-  goom->srcpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&src_template ), "src");
+  goom->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get (&sink_template),
+      "sink");
+  goom->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get (&src_template),
+      "src");
   gst_element_add_pad (GST_ELEMENT (goom), goom->sinkpad);
   gst_element_add_pad (GST_ELEMENT (goom), goom->srcpad);
 
@@ -189,22 +190,22 @@ gst_goom_init (GstGOOM *goom)
 
   goom->width = 320;
   goom->height = 200;
-  goom->fps = 25.; /* desired frame rate */
+  goom->fps = 25.;             /* desired frame rate */
   goom->channels = 0;
   /* set to something */
   goom_init (50, 50);
 }
 
 static void
-gst_goom_dispose (GObject *object)
+gst_goom_dispose (GObject * object)
 {
   goom_close ();
-  
+
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
 static GstPadLinkReturn
-gst_goom_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_goom_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstGOOM *goom;
   GstStructure *structure;
@@ -219,7 +220,7 @@ gst_goom_sinkconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static GstPadLinkReturn
-gst_goom_srcconnect (GstPad *pad, const GstCaps *caps)
+gst_goom_srcconnect (GstPad * pad, const GstCaps * caps)
 {
   GstGOOM *goom;
   GstStructure *structure;
@@ -239,12 +240,13 @@ gst_goom_srcconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static GstCaps *
-gst_goom_src_fixate (GstPad *pad, const GstCaps *caps)
+gst_goom_src_fixate (GstPad * pad, const GstCaps * caps)
 {
   GstCaps *newcaps;
   GstStructure *structure;
 
-  if (!gst_caps_is_simple (caps)) return NULL;
+  if (!gst_caps_is_simple (caps))
+    return NULL;
 
   newcaps = gst_caps_copy (caps);
   structure = gst_caps_get_structure (newcaps, 0);
@@ -256,7 +258,7 @@ gst_goom_src_fixate (GstPad *pad, const GstCaps *caps)
     return newcaps;
   }
   if (gst_caps_structure_fixate_field_nearest_double (structure, "framerate",
-        30.0)) {
+         30.0)) {
     return newcaps;
   }
 
@@ -266,7 +268,7 @@ gst_goom_src_fixate (GstPad *pad, const GstCaps *caps)
 }
 
 static void
-gst_goom_chain (GstPad *pad, GstData *_data)
+gst_goom_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *bufin = GST_BUFFER (_data);
   GstGOOM *goom;
@@ -289,7 +291,7 @@ gst_goom_chain (GstPad *pad, GstData *_data)
 
        gst_event_discont_get_value (event, GST_FORMAT_TIME, &value);
 
-        goom->next_time = value;
+       goom->next_time = value;
       }
       default:
        gst_pad_event_default (pad, event);
@@ -300,7 +302,7 @@ gst_goom_chain (GstPad *pad, GstData *_data)
 
   if (goom->channels == 0) {
     GST_ELEMENT_ERROR (goom, CORE, NEGOTIATION, (NULL),
-                       ("format wasn't negotiated before chain function"));
+       ("format wasn't negotiated before chain function"));
 
     goto done;
   }
@@ -318,13 +320,12 @@ gst_goom_chain (GstPad *pad, GstData *_data)
 
   data = (gint16 *) GST_BUFFER_DATA (bufin);
   if (goom->channels == 2) {
-    for (i=0; i < 512; i++) {
+    for (i = 0; i < 512; i++) {
       goom->datain[0][i] = *data++;
       goom->datain[1][i] = *data++;
     }
-  }
-  else {
-    for (i=0; i < 512; i++) {
+  } else {
+    for (i = 0; i < 512; i++) {
       goom->datain[0][i] = *data;
       goom->datain[1][i] = *data++;
     }
@@ -347,15 +348,15 @@ done:
 }
 
 static GstElementStateReturn
-gst_goom_change_state (GstElement *element)
-{ 
+gst_goom_change_state (GstElement * element)
+{
   GstGOOM *goom = GST_GOOM (element);
 
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
       break;
     case GST_STATE_READY_TO_NULL:
-      break; 
+      break;
     case GST_STATE_READY_TO_PAUSED:
       goom->next_time = 0;
       goom->srcnegotiated = FALSE;
@@ -374,20 +375,13 @@ gst_goom_change_state (GstElement *element)
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "goom",
-                              GST_RANK_NONE, GST_TYPE_GOOM);
+  return gst_element_register (plugin, "goom", GST_RANK_NONE, GST_TYPE_GOOM);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "goom",
-  "GOOM visualization filter",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "goom",
+    "GOOM visualization filter",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 131fd00..611f9a5 100644 (file)
 #include "lines.h"
 #include <math.h>
 
-extern unsigned int resolx,resoly;
+extern unsigned int resolx, resoly;
 
-inline unsigned char  lighten(unsigned char value,unsigned char power)
+inline unsigned char
+lighten (unsigned char value, unsigned char power)
 {
-    unsigned char i;
-    for (i=0;i < power; i++) value += (255-value)/5;
-    return value;
+  unsigned char i;
+
+  for (i = 0; i < power; i++)
+    value += (255 - value) / 5;
+  return value;
 }
 
-void goom_lines(gint16 data [2][512], unsigned int ID,unsigned int* p, guint32 power)
+void
+goom_lines (gint16 data[2][512], unsigned int ID, unsigned int *p,
+    guint32 power)
 {
-    guint32 color1;
-    guint32 color2;
-    unsigned char * color = 1 + (unsigned char *) &color1;
+  guint32 color1;
+  guint32 color2;
+  unsigned char *color = 1 + (unsigned char *) &color1;
+
+  switch (ID) {
+    case 0:                    /* Horizontal stereo lines */
+    {
+      color1 = 0x0000AA00;
+      color2 = 0x00AA0000;
+      break;
+    }
+
+    case 1:                    /* Stereo circles */
+    {
+      color1 = 0x00AA33DD;
+      color2 = 0x00AA33DD;
+      break;
+    }
+  }
+  *color = lighten (*color, power);
+  color++;
+  *color = lighten (*color, power);
+  color++;
+  *color = lighten (*color, power);
+  color = 1 + (unsigned char *) &color2;
+  *color = lighten (*color, power);
+  color++;
+  *color = lighten (*color, power);
+  color++;
+  *color = lighten (*color, power);
 
-    switch (ID)
+  switch (ID) {
+    case 0:                    /* Horizontal stereo lines */
     {
-        case 0: /* Horizontal stereo lines */
-        {
-            color1 = 0x0000AA00;
-            color2 = 0x00AA0000;
-            break;
-        }
+      unsigned int i;
+
+      for (i = 0; i < 512; i++) {
+       guint32 plot;
 
-        case 1: /* Stereo circles */
-        {
-            color1 = 0x00AA33DD;
-            color2 = 0x00AA33DD;
-            break;
-        }
+       plot = i * resolx / 512 + (resoly / 4 + data[0][i] / 1600) * resolx;
+       p[plot] = color1;
+       p[plot + 1] = color1;
+       plot = i * resolx / 512 + (resoly * 3 / 4 - data[1][i] / 1600) * resolx;
+       p[plot] = color2;
+       p[plot + 1] = color2;
+      }
+      break;
     }
-    *color = lighten(*color,power);
-    color++;  
-    * color = lighten(*color,power);
-    color++;  
-    * color = lighten(*color,power);
-    color = 1 + (unsigned char *) &color2;
-    * color = lighten(*color,power);
-    color++;  
-    * color = lighten(*color,power);
-    color++;  
-    * color = lighten(*color,power);
-    
-    switch (ID)
+
+    case 1:                    /* Stereo circles */
     {
-        case 0: /* Horizontal stereo lines */
-        {
-            unsigned int i;
-            for (i=0;i<512;i++)
-            {
-                guint32 plot ;
-                plot = i * resolx / 512 + (resoly / 4 + data[0][i] / 1600) * resolx;
-                p[plot] = color1;
-                p[plot+1] = color1;
-                plot = i * resolx / 512 + (resoly * 3 / 4 - data[1][i] / 1600) * resolx;
-                p[plot] = color2;
-                p[plot+1] = color2;
-            }
-            break;
-        }
+      float z;
+      unsigned int monX = resolx / 2;
+      float monY = resoly / 4;
+      float monY2 = resoly / 2;
 
-        case 1: /* Stereo circles */
-        {
-            float z;
-            unsigned int monX = resolx/2;
-            float monY = resoly/4;
-            float monY2 = resoly/2;
-            for (z=0;z<6.2832f; z+=1.0f/monY)
-            {
-               /* float offset1 = 128+data[1][(unsigned int)(z*81.33f)])/200000; */
-                p[ monX + (unsigned int)( (monY + ((float)resoly) * (128+data[1][(unsigned int)(z*81.33f)])/200000) * cos (z) + resolx * (unsigned int)( monY2 + (monY + ((float)resoly)*(128+data[1][(unsigned int)(z*81.33f)])/400000) * sin (z)))] = color1;
-                p[ monX + (unsigned int)((monY - ((float)resoly) * (128+data[0][(unsigned int)(z*81.33f)])/200000) * cos (z) + resolx * (unsigned int)( monY2 + (monY - ((float)resoly)*(128+data[0][(unsigned int)(z*81.33f)])/400000) * sin (z)))] = color2;
-            }
-        break;
-        }
+      for (z = 0; z < 6.2832f; z += 1.0f / monY) {
+       /* float offset1 = 128+data[1][(unsigned int)(z*81.33f)])/200000; */
+       p[monX + (unsigned int) ((monY + ((float) resoly) * (128 +
+                       data[1][(unsigned int) (z * 81.33f)]) / 200000) *
+               cos (z) + resolx * (unsigned int) (monY2 + (monY +
+                       ((float) resoly) * (128 +
+                           data[1][(unsigned int) (z * 81.33f)]) / 400000) *
+                   sin (z)))] = color1;
+       p[monX + (unsigned int) ((monY - ((float) resoly) * (128 +
+                       data[0][(unsigned int) (z * 81.33f)]) / 200000) *
+               cos (z) + resolx * (unsigned int) (monY2 + (monY -
+                       ((float) resoly) * (128 +
+                           data[0][(unsigned int) (z * 81.33f)]) / 400000) *
+                   sin (z)))] = color2;
+      }
+      break;
     }
+  }
 }
-
index 3582d38..988605e 100644 (file)
@@ -10,6 +10,6 @@
 
 #include "graphic.h"
 
-void goom_lines(gint16 data [2][512], unsigned int ID,unsigned int* p, guint32 power);
-void goom_lines_conf(gint16 config [25]);
-
+void goom_lines (gint16 data[2][512], unsigned int ID, unsigned int *p,
+    guint32 power);
+void goom_lines_conf (gint16 config[25]);
index 0010894..4bae398 100644 (file)
@@ -36,100 +36,108 @@ static GstElementDetails alawdec_details = {
 };
 
 /* Stereo signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0
 };
 
-static void            gst_alawdec_class_init          (GstALawDecClass *klass);
-static void            gst_alawdec_base_init           (GstALawDecClass *klass);
-static void            gst_alawdec_init                        (GstALawDec *alawdec);
+static void gst_alawdec_class_init (GstALawDecClass * klass);
+static void gst_alawdec_base_init (GstALawDecClass * klass);
+static void gst_alawdec_init (GstALawDec * alawdec);
 
-static void            gst_alawdec_set_property                        (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void            gst_alawdec_get_property                        (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_alawdec_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_alawdec_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void            gst_alawdec_chain                       (GstPad *pad, GstData *_data);
+static void gst_alawdec_chain (GstPad * pad, GstData * _data);
 
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_stereo_signals[LAST_SIGNAL] = { 0 }; */
 
 /*
  * alaw_to_s16() - Convert an A-law value to 16-bit linear PCM
  *
  */
-static gint alaw_to_s16(guint8 a_val)
+static gint
+alaw_to_s16 (guint8 a_val)
 {
-       gint            t;
-       gint            seg;
-
-       a_val ^= 0x55;
-       t = a_val & 0x7f;
-       if (t < 16)
-               t = (t << 4) + 8;
-       else {
-               seg = (t >> 4) & 0x07;
-               t = ((t & 0x0f) << 4) + 0x108;
-               t <<= seg -1;
-       }
-       return ((a_val & 0x80) ? t : -t);
+  gint t;
+  gint seg;
+
+  a_val ^= 0x55;
+  t = a_val & 0x7f;
+  if (t < 16)
+    t = (t << 4) + 8;
+  else {
+    seg = (t >> 4) & 0x07;
+    t = ((t & 0x0f) << 4) + 0x108;
+    t <<= seg - 1;
+  }
+  return ((a_val & 0x80) ? t : -t);
 }
 
 static GstPadLinkReturn
-alawdec_link (GstPad *pad, const GstCaps *caps)
+alawdec_link (GstPad * pad, const GstCaps * caps)
 {
-  GstCapstempcaps;
+  GstCaps *tempcaps;
   gint rate, channels;
   GstStructure *structure;
   gboolean ret;
-  
-  GstALawDecalawdec = GST_ALAWDEC (GST_OBJECT_PARENT (pad));
-  
+
+  GstALawDec *alawdec = GST_ALAWDEC (GST_OBJECT_PARENT (pad));
+
   structure = gst_caps_get_structure (caps, 0);
 
   ret = gst_structure_get_int (structure, "rate", &rate);
   ret &= gst_structure_get_int (structure, "channels", &channels);
-  if (!ret) return GST_PAD_LINK_REFUSED;
-  
-  tempcaps = gst_caps_new_simple ( "audio/x-raw-int",
-      "depth",    G_TYPE_INT, 16,
-      "width",    G_TYPE_INT, 16,
-      "signed",   G_TYPE_BOOLEAN, TRUE,
-      "endianness",   G_TYPE_INT, G_BYTE_ORDER,
-      "rate",     G_TYPE_INT, rate,
-      "channels", G_TYPE_INT, channels,
-      NULL);
-  
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
+
+  tempcaps = gst_caps_new_simple ("audio/x-raw-int",
+      "depth", G_TYPE_INT, 16,
+      "width", G_TYPE_INT, 16,
+      "signed", G_TYPE_BOOLEAN, TRUE,
+      "endianness", G_TYPE_INT, G_BYTE_ORDER,
+      "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, channels, NULL);
+
   return gst_pad_try_set_caps (alawdec->srcpad, tempcaps);
 }
 
 GType
-gst_alawdec_get_type(void) {
+gst_alawdec_get_type (void)
+{
   static GType alawdec_type = 0;
 
   if (!alawdec_type) {
     static const GTypeInfo alawdec_info = {
-      sizeof(GstALawDecClass),
-      (GBaseInitFunc)gst_alawdec_base_init,
+      sizeof (GstALawDecClass),
+      (GBaseInitFunc) gst_alawdec_base_init,
       NULL,
-      (GClassInitFunc)gst_alawdec_class_init,
+      (GClassInitFunc) gst_alawdec_class_init,
       NULL,
       NULL,
-      sizeof(GstALawDec),
+      sizeof (GstALawDec),
       0,
-      (GInstanceInitFunc)gst_alawdec_init,
+      (GInstanceInitFunc) gst_alawdec_init,
     };
-    alawdec_type = g_type_register_static(GST_TYPE_ELEMENT, "GstALawDec", &alawdec_info, 0);
+    alawdec_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstALawDec", &alawdec_info,
+       0);
   }
   return alawdec_type;
 }
 
 static void
-gst_alawdec_base_init (GstALawDecClass *klass)
+gst_alawdec_base_init (GstALawDecClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
@@ -139,74 +147,75 @@ gst_alawdec_base_init (GstALawDecClass *klass)
 }
 
 static void
-gst_alawdec_class_init (GstALawDecClass *klass)
+gst_alawdec_class_init (GstALawDecClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_alawdec_set_property;
   gobject_class->get_property = gst_alawdec_get_property;
 }
 
 static void
-gst_alawdec_init (GstALawDec *alawdec)
+gst_alawdec_init (GstALawDec * alawdec)
 {
-  alawdec->sinkpad = gst_pad_new_from_template(alawdec_sink_template,"sink");
-  alawdec->srcpad = gst_pad_new_from_template(alawdec_src_template,"src");
-  gst_pad_set_link_function(alawdec->sinkpad, alawdec_link);
+  alawdec->sinkpad = gst_pad_new_from_template (alawdec_sink_template, "sink");
+  alawdec->srcpad = gst_pad_new_from_template (alawdec_src_template, "src");
+  gst_pad_set_link_function (alawdec->sinkpad, alawdec_link);
 
-  gst_element_add_pad(GST_ELEMENT(alawdec),alawdec->sinkpad);
-  gst_pad_set_chain_function(alawdec->sinkpad,gst_alawdec_chain);
-  gst_element_add_pad(GST_ELEMENT(alawdec),alawdec->srcpad);
+  gst_element_add_pad (GST_ELEMENT (alawdec), alawdec->sinkpad);
+  gst_pad_set_chain_function (alawdec->sinkpad, gst_alawdec_chain);
+  gst_element_add_pad (GST_ELEMENT (alawdec), alawdec->srcpad);
 }
 
 static void
-gst_alawdec_chain (GstPad *pad,GstData *_data)
+gst_alawdec_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstALawDec *alawdec;
   gint16 *linear_data;
   guint8 *alaw_data;
-  GstBufferoutbuf;
+  GstBuffer *outbuf;
   gint i;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
 
-  alawdec = GST_ALAWDEC(GST_OBJECT_PARENT (pad));
-  g_return_if_fail(alawdec != NULL);
-  g_return_if_fail(GST_IS_ALAWDEC(alawdec));
+  alawdec = GST_ALAWDEC (GST_OBJECT_PARENT (pad));
+  g_return_if_fail (alawdec != NULL);
+  g_return_if_fail (GST_IS_ALAWDEC (alawdec));
 
-  alaw_data = (guint8 *)GST_BUFFER_DATA(buf);
-  outbuf=gst_buffer_new();
-  GST_BUFFER_DATA(outbuf) = (gchar*)g_new(gint16,GST_BUFFER_SIZE(buf));
-  GST_BUFFER_SIZE(outbuf) = GST_BUFFER_SIZE(buf)*2;
+  alaw_data = (guint8 *) GST_BUFFER_DATA (buf);
+  outbuf = gst_buffer_new ();
+  GST_BUFFER_DATA (outbuf) = (gchar *) g_new (gint16, GST_BUFFER_SIZE (buf));
+  GST_BUFFER_SIZE (outbuf) = GST_BUFFER_SIZE (buf) * 2;
 
-  linear_data = (gint16*)GST_BUFFER_DATA(outbuf);
-  for (i = 0; i < GST_BUFFER_SIZE(buf); i++) {
+  linear_data = (gint16 *) GST_BUFFER_DATA (outbuf);
+  for (i = 0; i < GST_BUFFER_SIZE (buf); i++) {
     *linear_data = alaw_to_s16 (*alaw_data);
     linear_data++;
     alaw_data++;
   }
-  
-  gst_buffer_unref(buf);
-  gst_pad_push(alawdec->srcpad,GST_DATA (outbuf));
+
+  gst_buffer_unref (buf);
+  gst_pad_push (alawdec->srcpad, GST_DATA (outbuf));
 }
 
 static void
-gst_alawdec_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_alawdec_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstALawDec *alawdec;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_ALAWDEC(object));
-  alawdec = GST_ALAWDEC(object);
+  g_return_if_fail (GST_IS_ALAWDEC (object));
+  alawdec = GST_ALAWDEC (object);
 
   switch (prop_id) {
     default:
@@ -215,13 +224,14 @@ gst_alawdec_set_property (GObject *object, guint prop_id, const GValue *value, G
 }
 
 static void
-gst_alawdec_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_alawdec_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstALawDec *alawdec;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_ALAWDEC(object));
-  alawdec = GST_ALAWDEC(object);
+  g_return_if_fail (GST_IS_ALAWDEC (object));
+  alawdec = GST_ALAWDEC (object);
 
   switch (prop_id) {
     default:
@@ -229,5 +239,3 @@ gst_alawdec_get_property (GObject *object, guint prop_id, GValue *value, GParamS
       break;
   }
 }
-
-
index aa3a418..8a6ac61 100644 (file)
@@ -27,8 +27,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_ALAWDEC \
@@ -42,27 +43,29 @@ extern "C" {
 #define GST_IS_ALAWDEC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALAWDEC))
 
-typedef struct _GstALawDec GstALawDec;
-typedef struct _GstALawDecClass GstALawDecClass;
+  typedef struct _GstALawDec GstALawDec;
+  typedef struct _GstALawDecClass GstALawDecClass;
 
-struct _GstALawDec {
-  GstElement element;
+  struct _GstALawDec
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  /*MetaAudioRaw meta; */
+    /*MetaAudioRaw meta; */
 
-};
+  };
 
-struct _GstALawDecClass {
-  GstElementClass parent_class;
-};
+  struct _GstALawDecClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_alawdec_get_type(void);
+  GType gst_alawdec_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_STEREO_H__ */
+#endif                         /* __GST_STEREO_H__ */
index 6efdb64..052f2e0 100644 (file)
@@ -36,23 +36,27 @@ static GstElementDetails alawenc_details = {
 };
 
 /* Stereo signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0
 };
 
-static void            gst_alawenc_class_init          (GstALawEncClass *klass);
-static void            gst_alawenc_base_init           (GstALawEncClass *klass);
-static void            gst_alawenc_init                        (GstALawEnc *alawenc);
+static void gst_alawenc_class_init (GstALawEncClass * klass);
+static void gst_alawenc_base_init (GstALawEncClass * klass);
+static void gst_alawenc_init (GstALawEnc * alawenc);
 
-static void            gst_alawenc_set_property                        (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void            gst_alawenc_get_property                        (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_alawenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_alawenc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void            gst_alawenc_chain                       (GstPad *pad, GstData *_data);
+static void gst_alawenc_chain (GstPad * pad, GstData * _data);
 
 /*
  * s16_to_alaw() - Convert a 16-bit linear PCM value to 8-bit A-law
@@ -74,102 +78,108 @@ static void               gst_alawenc_chain                       (GstPad *pad, GstData *_data);
  * John Wiley & Sons, pps 98-111 and 472-476.
  */
 
-static inline gint val_seg(gint val)
+static inline gint
+val_seg (gint val)
 {
-       gint r = 1;
-       val >>= 8;
-       if (val & 0xf0) {
-               val >>= 4;
-               r += 4;
-       }
-       if (val & 0x0c) {
-               val >>= 2;
-               r += 2;
-       }
-       if (val & 0x02)
-               r += 1;
-       return r;
+  gint r = 1;
+
+  val >>= 8;
+  if (val & 0xf0) {
+    val >>= 4;
+    r += 4;
+  }
+  if (val & 0x0c) {
+    val >>= 2;
+    r += 2;
+  }
+  if (val & 0x02)
+    r += 1;
+  return r;
 }
 
-static guint8 s16_to_alaw(gint pcm_val)
+static guint8
+s16_to_alaw (gint pcm_val)
 {
-       gint            seg;
-       guint8  mask;
-       guint8  aval;
-
-       if (pcm_val >= 0) {
-               mask = 0xD5;
-       } else {
-               mask = 0x55;
-               pcm_val = -pcm_val;
-               if (pcm_val > 0x7fff)
-                       pcm_val = 0x7fff;
-       }
-
-       if (pcm_val < 256)
-               aval = pcm_val >> 4;
-       else {
-               /* Convert the scaled magnitude to segment number. */
-               seg = val_seg(pcm_val);
-               aval = (seg << 4) | ((pcm_val >> (seg + 3)) & 0x0f);
-       }
-       return aval ^ mask;
+  gint seg;
+  guint8 mask;
+  guint8 aval;
+
+  if (pcm_val >= 0) {
+    mask = 0xD5;
+  } else {
+    mask = 0x55;
+    pcm_val = -pcm_val;
+    if (pcm_val > 0x7fff)
+      pcm_val = 0x7fff;
+  }
+
+  if (pcm_val < 256)
+    aval = pcm_val >> 4;
+  else {
+    /* Convert the scaled magnitude to segment number. */
+    seg = val_seg (pcm_val);
+    aval = (seg << 4) | ((pcm_val >> (seg + 3)) & 0x0f);
+  }
+  return aval ^ mask;
 }
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_stereo_signals[LAST_SIGNAL] = { 0 }; */
 
 static GstPadLinkReturn
-alawenc_link (GstPad *pad, const GstCaps *caps)
+alawenc_link (GstPad * pad, const GstCaps * caps)
 {
-  GstCapstempcaps;
+  GstCaps *tempcaps;
   gint rate, channels;
   GstStructure *structure;
   gboolean ret;
-  
-  GstALawEncalawenc = GST_ALAWENC (GST_OBJECT_PARENT (pad));
-  
+
+  GstALawEnc *alawenc = GST_ALAWENC (GST_OBJECT_PARENT (pad));
+
   structure = gst_caps_get_structure (caps, 0);
 
   ret = gst_structure_get_int (structure, "rate", &rate);
   ret &= gst_structure_get_int (structure, "channels", &channels);
 
-  if (!ret) return GST_PAD_LINK_REFUSED;
-  
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
+
   tempcaps = gst_caps_new_simple ("audio/x-alaw",
-      "depth",    G_TYPE_INT, 8,
-      "width",    G_TYPE_INT, 8,
-      "signed",   G_TYPE_BOOLEAN, FALSE,
-      "rate",     G_TYPE_INT, rate,
-      "channels", G_TYPE_INT, channels,
-      NULL);
-  
+      "depth", G_TYPE_INT, 8,
+      "width", G_TYPE_INT, 8,
+      "signed", G_TYPE_BOOLEAN, FALSE,
+      "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, channels, NULL);
+
   return gst_pad_try_set_caps (alawenc->srcpad, tempcaps);
-}              
+}
 
 GType
-gst_alawenc_get_type(void) {
+gst_alawenc_get_type (void)
+{
   static GType alawenc_type = 0;
 
   if (!alawenc_type) {
     static const GTypeInfo alawenc_info = {
-      sizeof(GstALawEncClass),
-      (GBaseInitFunc)gst_alawenc_base_init,
+      sizeof (GstALawEncClass),
+      (GBaseInitFunc) gst_alawenc_base_init,
       NULL,
-      (GClassInitFunc)gst_alawenc_class_init,
+      (GClassInitFunc) gst_alawenc_class_init,
       NULL,
       NULL,
-      sizeof(GstALawEnc),
+      sizeof (GstALawEnc),
       0,
-      (GInstanceInitFunc)gst_alawenc_init,
+      (GInstanceInitFunc) gst_alawenc_init,
     };
-    alawenc_type = g_type_register_static(GST_TYPE_ELEMENT, "GstALawEnc", &alawenc_info, 0);
+    alawenc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstALawEnc", &alawenc_info,
+       0);
   }
   return alawenc_type;
 }
 
 static void
-gst_alawenc_base_init (GstALawEncClass *klass)
+gst_alawenc_base_init (GstALawEncClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
@@ -179,74 +189,76 @@ gst_alawenc_base_init (GstALawEncClass *klass)
 }
 
 static void
-gst_alawenc_class_init (GstALawEncClass *klass)
+gst_alawenc_class_init (GstALawEncClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_alawenc_set_property;
   gobject_class->get_property = gst_alawenc_get_property;
 }
 
 static void
-gst_alawenc_init (GstALawEnc *alawenc)
+gst_alawenc_init (GstALawEnc * alawenc)
 {
-  alawenc->sinkpad = gst_pad_new_from_template(alawenc_sink_template,"sink");
-  alawenc->srcpad = gst_pad_new_from_template(alawenc_src_template,"src");
+  alawenc->sinkpad = gst_pad_new_from_template (alawenc_sink_template, "sink");
+  alawenc->srcpad = gst_pad_new_from_template (alawenc_src_template, "src");
   gst_pad_set_link_function (alawenc->sinkpad, alawenc_link);
 
-  gst_element_add_pad(GST_ELEMENT(alawenc),alawenc->sinkpad);
-  gst_pad_set_chain_function(alawenc->sinkpad,gst_alawenc_chain);
-  gst_element_add_pad(GST_ELEMENT(alawenc),alawenc->srcpad);
+  gst_element_add_pad (GST_ELEMENT (alawenc), alawenc->sinkpad);
+  gst_pad_set_chain_function (alawenc->sinkpad, gst_alawenc_chain);
+  gst_element_add_pad (GST_ELEMENT (alawenc), alawenc->srcpad);
 }
 
 static void
-gst_alawenc_chain (GstPad *pad,GstData *_data)
+gst_alawenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstALawEnc *alawenc;
   gint16 *linear_data;
   guint8 *alaw_data;
-  GstBufferoutbuf;
+  GstBuffer *outbuf;
   gint i;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
+
+  alawenc = GST_ALAWENC (GST_OBJECT_PARENT (pad));
+  g_return_if_fail (alawenc != NULL);
+  g_return_if_fail (GST_IS_ALAWENC (alawenc));
 
-  alawenc = GST_ALAWENC(GST_OBJECT_PARENT (pad));
-  g_return_if_fail(alawenc != NULL);
-  g_return_if_fail(GST_IS_ALAWENC(alawenc));
+  linear_data = (gint16 *) GST_BUFFER_DATA (buf);
+  outbuf = gst_buffer_new ();
+  GST_BUFFER_DATA (outbuf) =
+      (gchar *) g_new (guint8, GST_BUFFER_SIZE (buf) / 2);
+  GST_BUFFER_SIZE (outbuf) = GST_BUFFER_SIZE (buf) / 2;
 
-  linear_data = (gint16 *)GST_BUFFER_DATA(buf);
-  outbuf=gst_buffer_new();
-  GST_BUFFER_DATA(outbuf) = (gchar*)g_new(guint8,GST_BUFFER_SIZE(buf)/2);
-  GST_BUFFER_SIZE(outbuf) = GST_BUFFER_SIZE(buf)/2;
 
-  
-  alaw_data = (guint8*)GST_BUFFER_DATA(outbuf);
-  for (i = 0; i < GST_BUFFER_SIZE(outbuf); i++) {
+  alaw_data = (guint8 *) GST_BUFFER_DATA (outbuf);
+  for (i = 0; i < GST_BUFFER_SIZE (outbuf); i++) {
     *alaw_data = s16_to_alaw (*linear_data);
     alaw_data++;
     linear_data++;
   }
-  gst_buffer_unref(buf);
-  gst_pad_push(alawenc->srcpad,GST_DATA (outbuf));
+  gst_buffer_unref (buf);
+  gst_pad_push (alawenc->srcpad, GST_DATA (outbuf));
 }
 
 static void
-gst_alawenc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_alawenc_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstALawEnc *alawenc;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_ALAWENC(object));
-  alawenc = GST_ALAWENC(object);
+  g_return_if_fail (GST_IS_ALAWENC (object));
+  alawenc = GST_ALAWENC (object);
 
   switch (prop_id) {
     default:
@@ -255,13 +267,14 @@ gst_alawenc_set_property (GObject *object, guint prop_id, const GValue *value, G
 }
 
 static void
-gst_alawenc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_alawenc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstALawEnc *alawenc;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_ALAWENC(object));
-  alawenc = GST_ALAWENC(object);
+  g_return_if_fail (GST_IS_ALAWENC (object));
+  alawenc = GST_ALAWENC (object);
 
   switch (prop_id) {
     default:
index e080103..907fa3d 100644 (file)
@@ -27,8 +27,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_ALAWENC \
@@ -42,27 +43,29 @@ extern "C" {
 #define GST_IS_ALAWENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALAWENC))
 
-typedef struct _GstALawEnc GstALawEnc;
-typedef struct _GstALawEncClass GstALawEncClass;
+  typedef struct _GstALawEnc GstALawEnc;
+  typedef struct _GstALawEncClass GstALawEncClass;
 
-struct _GstALawEnc {
-  GstElement element;
+  struct _GstALawEnc
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  /*MetaAudioRaw meta; */
+    /*MetaAudioRaw meta; */
 
-};
+  };
 
-struct _GstALawEncClass {
-  GstElementClass parent_class;
-};
+  struct _GstALawEncClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_alawenc_get_type(void);
+  GType gst_alawenc_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_STEREO_H__ */
+#endif                         /* __GST_STEREO_H__ */
index be0559b..05ac2d2 100644 (file)
@@ -4,62 +4,58 @@
 #include "alaw-encode.h"
 #include "alaw-decode.h"
 
-static GstCaps*
+static GstCaps *
 alaw_factory (void)
 {
   return gst_caps_new_simple ("audio/x-alaw",
-      "rate",     GST_TYPE_INT_RANGE, 8000, 192000,
-      "channels", GST_TYPE_INT_RANGE, 1, 2,
-      NULL);
+      "rate", GST_TYPE_INT_RANGE, 8000, 192000,
+      "channels", GST_TYPE_INT_RANGE, 1, 2, NULL);
 }
 
-static GstCaps*
+static GstCaps *
 linear_factory (void)
 {
   return gst_caps_new_simple ("audio/x-raw-int",
-      "width",      G_TYPE_INT, 16,
-      "depth",      G_TYPE_INT, 16,
+      "width", G_TYPE_INT, 16,
+      "depth", G_TYPE_INT, 16,
       "endianness", G_TYPE_INT, G_BYTE_ORDER,
-      "signed",     G_TYPE_BOOLEAN, TRUE,
-      "rate",       GST_TYPE_INT_RANGE, 8000, 192000,
-      "channels",   GST_TYPE_INT_RANGE, 1, 2,
-      NULL);
+      "signed", G_TYPE_BOOLEAN, TRUE,
+      "rate", GST_TYPE_INT_RANGE, 8000, 192000,
+      "channels", GST_TYPE_INT_RANGE, 1, 2, NULL);
 }
 
 GstPadTemplate *alawenc_src_template, *alawenc_sink_template;
 GstPadTemplate *alawdec_src_template, *alawdec_sink_template;
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  GstCapsalaw_caps, *linear_caps;
+  GstCaps *alaw_caps, *linear_caps;
 
   alaw_caps = alaw_factory ();
   linear_caps = linear_factory ();
 
-  alawenc_src_template = gst_pad_template_new ("src",GST_PAD_SRC,GST_PAD_ALWAYS,alaw_caps);
-  alawenc_sink_template = gst_pad_template_new ("sink",GST_PAD_SINK,GST_PAD_ALWAYS,linear_caps);
+  alawenc_src_template =
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, alaw_caps);
+  alawenc_sink_template =
+      gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, linear_caps);
 
-  alawdec_src_template = gst_pad_template_new ("src",GST_PAD_SRC,GST_PAD_ALWAYS,linear_caps);
-  alawdec_sink_template = gst_pad_template_new ("sink",GST_PAD_SINK,GST_PAD_ALWAYS,alaw_caps);
+  alawdec_src_template =
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, linear_caps);
+  alawdec_sink_template =
+      gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, alaw_caps);
 
   if (!gst_element_register (plugin, "alawenc",
-                            GST_RANK_NONE, GST_TYPE_ALAWENC) ||
+         GST_RANK_NONE, GST_TYPE_ALAWENC) ||
       !gst_element_register (plugin, "alawdec",
-                            GST_RANK_PRIMARY, GST_TYPE_ALAWENC))
+         GST_RANK_PRIMARY, GST_TYPE_ALAWENC))
     return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "alaw",
-  "ALaw audio conversion routines",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "alaw",
+    "ALaw audio conversion routines",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index e921fb8..fa4db3c 100644 (file)
 
 #include <glib.h>
 
-#define ZEROTRAP    /* turn on the trap as per the MIL-STD */
-#define BIAS 0x84   /* define the add-in bias for 16 bit samples */
+#define ZEROTRAP               /* turn on the trap as per the MIL-STD */
+#define BIAS 0x84              /* define the add-in bias for 16 bit samples */
 #define CLIP 32635
 
 void
-mulaw_encode(gint16* in, guint8* out, gint numsamples)
+mulaw_encode (gint16 * in, guint8 * out, gint numsamples)
 {
-    static gint16 exp_lut[256] = {0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,
-                               4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-                               5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-                               5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-                               6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                               6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                               6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                               6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-                               7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7};
-    gint16 sign, exponent, mantissa,i;
-    gint16 sample;
-    guint8 ulawbyte;
+  static gint16 exp_lut[256] = { 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
+    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+    5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+    5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+    6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+    6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+    6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+    6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
+  };
+  gint16 sign, exponent, mantissa, i;
+  gint16 sample;
+  guint8 ulawbyte;
 
-    for(i=0;i<numsamples;i++) {
-      sample=in[i];
+  for (i = 0; i < numsamples; i++) {
+    sample = in[i];
       /** get the sample into sign-magnitude **/
-      sign = (sample >> 8) & 0x80;        /* set aside the sign */
-      if (sign != 0) sample = -sample;    /* get magnitude */
-      if (sample > CLIP) sample = CLIP;   /* clip the magnitude */
+    sign = (sample >> 8) & 0x80;       /* set aside the sign */
+    if (sign != 0)
+      sample = -sample;                /* get magnitude */
+    if (sample > CLIP)
+      sample = CLIP;           /* clip the magnitude */
       /** convert from 16 bit linear to ulaw **/
-      sample = sample + BIAS;
-      exponent = exp_lut[(sample>>7) & 0xFF];
-      mantissa = (sample >> (exponent+3)) & 0x0F;
-      ulawbyte = ~(sign | (exponent << 4) | mantissa);
+    sample = sample + BIAS;
+    exponent = exp_lut[(sample >> 7) & 0xFF];
+    mantissa = (sample >> (exponent + 3)) & 0x0F;
+    ulawbyte = ~(sign | (exponent << 4) | mantissa);
 #ifdef ZEROTRAP
-      if (ulawbyte == 0 ) ulawbyte = 0x02;  /* optional CCITT trap */
+    if (ulawbyte == 0)
+      ulawbyte = 0x02;         /* optional CCITT trap */
 #endif
-      out[i]=ulawbyte;
-    }
+    out[i] = ulawbyte;
+  }
 }
 
 /*
@@ -87,20 +91,22 @@ mulaw_encode(gint16* in, guint8* out, gint numsamples)
  */
 
 void
-mulaw_decode(guint8* in,gint16* out,gint numsamples)
+mulaw_decode (guint8 * in, gint16 * out, gint numsamples)
 {
-    static gint16 exp_lut[8]={0,132,396,924,1980,4092,8316,16764};
-    gint16 sign, exponent, mantissa;
-    guint8 ulawbyte;
-    gint16 linear,i;
-    for(i=0;i<numsamples;i++) {
-      ulawbyte=in[i];
-      ulawbyte = ~ulawbyte;
-      sign = (ulawbyte & 0x80);
-      exponent = (ulawbyte >> 4) & 0x07;
-      mantissa = ulawbyte & 0x0F;
-      linear = exp_lut[exponent] + (mantissa << (exponent+3));
-      if (sign != 0) linear = -linear;
-      out[i]=linear;
-    }
+  static gint16 exp_lut[8] = { 0, 132, 396, 924, 1980, 4092, 8316, 16764 };
+  gint16 sign, exponent, mantissa;
+  guint8 ulawbyte;
+  gint16 linear, i;
+
+  for (i = 0; i < numsamples; i++) {
+    ulawbyte = in[i];
+    ulawbyte = ~ulawbyte;
+    sign = (ulawbyte & 0x80);
+    exponent = (ulawbyte >> 4) & 0x07;
+    mantissa = ulawbyte & 0x0F;
+    linear = exp_lut[exponent] + (mantissa << (exponent + 3));
+    if (sign != 0)
+      linear = -linear;
+    out[i] = linear;
+  }
 }
index 5518012..db07789 100644 (file)
@@ -3,8 +3,6 @@
 
 #include <glib.h>
 
-void
-mulaw_encode(gint16* in, guint8* out, gint numsamples);
-void
-mulaw_decode(guint8* in,gint16* out,gint numsamples);
+void mulaw_encode (gint16 * in, guint8 * out, gint numsamples);
+void mulaw_decode (guint8 * in, gint16 * out, gint numsamples);
 #endif
index fcf023c..6a8f9e8 100644 (file)
@@ -35,79 +35,86 @@ static GstElementDetails mulawdec_details = {
 };
 
 /* Stereo signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0
 };
 
-static void            gst_mulawdec_class_init         (GstMuLawDecClass *klass);
-static void            gst_mulawdec_base_init          (GstMuLawDecClass *klass);
-static void            gst_mulawdec_init                       (GstMuLawDec *mulawdec);
+static void gst_mulawdec_class_init (GstMuLawDecClass * klass);
+static void gst_mulawdec_base_init (GstMuLawDecClass * klass);
+static void gst_mulawdec_init (GstMuLawDec * mulawdec);
 
-static void            gst_mulawdec_set_property                       (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void            gst_mulawdec_get_property                       (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_mulawdec_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_mulawdec_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void            gst_mulawdec_chain                      (GstPad *pad, GstData *_data);
+static void gst_mulawdec_chain (GstPad * pad, GstData * _data);
 
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_stereo_signals[LAST_SIGNAL] = { 0 };*/
 
 
 static GstPadLinkReturn
-mulawdec_link (GstPad *pad, const GstCaps *caps)
+mulawdec_link (GstPad * pad, const GstCaps * caps)
 {
-  GstCapstempcaps;
+  GstCaps *tempcaps;
   gint rate, channels;
   GstStructure *structure;
   gboolean ret;
-  
-  GstMuLawDecmulawdec = GST_MULAWDEC (GST_OBJECT_PARENT (pad));
-  
+
+  GstMuLawDec *mulawdec = GST_MULAWDEC (GST_OBJECT_PARENT (pad));
+
   structure = gst_caps_get_structure (caps, 0);
   ret = gst_structure_get_int (structure, "rate", &rate);
   ret = gst_structure_get_int (structure, "channels", &channels);
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   tempcaps = gst_caps_new_simple ("audio/x-raw-int",
-      "depth",    G_TYPE_INT, 16,
-      "width",    G_TYPE_INT, 16,
-      "signed",   G_TYPE_BOOLEAN, TRUE,
-      "endianness",    G_TYPE_INT, G_BYTE_ORDER,
-      "rate",     G_TYPE_INT, rate,
-      "channels", G_TYPE_INT, channels,
-      NULL);
+      "depth", G_TYPE_INT, 16,
+      "width", G_TYPE_INT, 16,
+      "signed", G_TYPE_BOOLEAN, TRUE,
+      "endianness", G_TYPE_INT, G_BYTE_ORDER,
+      "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, channels, NULL);
 
   return gst_pad_try_set_caps (mulawdec->srcpad, tempcaps);
 }
 
 GType
-gst_mulawdec_get_type(void) {
+gst_mulawdec_get_type (void)
+{
   static GType mulawdec_type = 0;
 
   if (!mulawdec_type) {
     static const GTypeInfo mulawdec_info = {
-      sizeof(GstMuLawDecClass),
-      (GBaseInitFunc)gst_mulawdec_base_init,
+      sizeof (GstMuLawDecClass),
+      (GBaseInitFunc) gst_mulawdec_base_init,
       NULL,
-      (GClassInitFunc)gst_mulawdec_class_init,
+      (GClassInitFunc) gst_mulawdec_class_init,
       NULL,
       NULL,
-      sizeof(GstMuLawDec),
+      sizeof (GstMuLawDec),
       0,
-      (GInstanceInitFunc)gst_mulawdec_init,
+      (GInstanceInitFunc) gst_mulawdec_init,
     };
-    mulawdec_type = g_type_register_static(GST_TYPE_ELEMENT, "GstMuLawDec", &mulawdec_info, 0);
+    mulawdec_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstMuLawDec", &mulawdec_info,
+       0);
   }
   return mulawdec_type;
 }
 
 static void
-gst_mulawdec_base_init (GstMuLawDecClass *klass)
+gst_mulawdec_base_init (GstMuLawDecClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
@@ -117,69 +124,71 @@ gst_mulawdec_base_init (GstMuLawDecClass *klass)
 }
 
 static void
-gst_mulawdec_class_init (GstMuLawDecClass *klass)
+gst_mulawdec_class_init (GstMuLawDecClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_mulawdec_set_property;
   gobject_class->get_property = gst_mulawdec_get_property;
 }
 
 static void
-gst_mulawdec_init (GstMuLawDec *mulawdec)
+gst_mulawdec_init (GstMuLawDec * mulawdec)
 {
-  mulawdec->sinkpad = gst_pad_new_from_template(mulawdec_sink_template,"sink");
-  mulawdec->srcpad = gst_pad_new_from_template(mulawdec_src_template,"src");
-  gst_pad_set_link_function(mulawdec->sinkpad, mulawdec_link);
-
-  gst_element_add_pad(GST_ELEMENT(mulawdec),mulawdec->sinkpad);
-  gst_pad_set_chain_function(mulawdec->sinkpad,gst_mulawdec_chain);
-  gst_element_add_pad(GST_ELEMENT(mulawdec),mulawdec->srcpad);
+  mulawdec->sinkpad =
+      gst_pad_new_from_template (mulawdec_sink_template, "sink");
+  mulawdec->srcpad = gst_pad_new_from_template (mulawdec_src_template, "src");
+  gst_pad_set_link_function (mulawdec->sinkpad, mulawdec_link);
+
+  gst_element_add_pad (GST_ELEMENT (mulawdec), mulawdec->sinkpad);
+  gst_pad_set_chain_function (mulawdec->sinkpad, gst_mulawdec_chain);
+  gst_element_add_pad (GST_ELEMENT (mulawdec), mulawdec->srcpad);
 }
 
 static void
-gst_mulawdec_chain (GstPad *pad,GstData *_data)
+gst_mulawdec_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstMuLawDec *mulawdec;
   gint16 *linear_data;
   guint8 *mulaw_data;
-  GstBufferoutbuf;
+  GstBuffer *outbuf;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
 
-  mulawdec = GST_MULAWDEC(GST_OBJECT_PARENT (pad));
-  g_return_if_fail(mulawdec != NULL);
-  g_return_if_fail(GST_IS_MULAWDEC(mulawdec));
+  mulawdec = GST_MULAWDEC (GST_OBJECT_PARENT (pad));
+  g_return_if_fail (mulawdec != NULL);
+  g_return_if_fail (GST_IS_MULAWDEC (mulawdec));
 
-  mulaw_data = (guint8 *)GST_BUFFER_DATA(buf);
-  outbuf=gst_buffer_new();
-  GST_BUFFER_DATA(outbuf) = (gchar*)g_new(gint16,GST_BUFFER_SIZE(buf));
-  GST_BUFFER_SIZE(outbuf) = GST_BUFFER_SIZE(buf)*2;
+  mulaw_data = (guint8 *) GST_BUFFER_DATA (buf);
+  outbuf = gst_buffer_new ();
+  GST_BUFFER_DATA (outbuf) = (gchar *) g_new (gint16, GST_BUFFER_SIZE (buf));
+  GST_BUFFER_SIZE (outbuf) = GST_BUFFER_SIZE (buf) * 2;
 
-  linear_data = (gint16*)GST_BUFFER_DATA(outbuf);
-  mulaw_decode(mulaw_data,linear_data,GST_BUFFER_SIZE(buf));
+  linear_data = (gint16 *) GST_BUFFER_DATA (outbuf);
+  mulaw_decode (mulaw_data, linear_data, GST_BUFFER_SIZE (buf));
 
-  gst_buffer_unref(buf);
-  gst_pad_push(mulawdec->srcpad,GST_DATA (outbuf));
+  gst_buffer_unref (buf);
+  gst_pad_push (mulawdec->srcpad, GST_DATA (outbuf));
 }
 
 static void
-gst_mulawdec_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_mulawdec_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstMuLawDec *mulawdec;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MULAWDEC(object));
-  mulawdec = GST_MULAWDEC(object);
+  g_return_if_fail (GST_IS_MULAWDEC (object));
+  mulawdec = GST_MULAWDEC (object);
 
   switch (prop_id) {
     default:
@@ -188,13 +197,14 @@ gst_mulawdec_set_property (GObject *object, guint prop_id, const GValue *value,
 }
 
 static void
-gst_mulawdec_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_mulawdec_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstMuLawDec *mulawdec;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MULAWDEC(object));
-  mulawdec = GST_MULAWDEC(object);
+  g_return_if_fail (GST_IS_MULAWDEC (object));
+  mulawdec = GST_MULAWDEC (object);
 
   switch (prop_id) {
     default:
index d34c8c0..9fb3226 100644 (file)
@@ -27,8 +27,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_MULAWDEC \
@@ -42,27 +43,29 @@ extern "C" {
 #define GST_IS_MULAWDEC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULAWDEC))
 
-typedef struct _GstMuLawDec GstMuLawDec;
-typedef struct _GstMuLawDecClass GstMuLawDecClass;
+  typedef struct _GstMuLawDec GstMuLawDec;
+  typedef struct _GstMuLawDecClass GstMuLawDecClass;
 
-struct _GstMuLawDec {
-  GstElement element;
+  struct _GstMuLawDec
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  /*MetaAudioRaw meta; */
+    /*MetaAudioRaw meta; */
 
-};
+  };
 
-struct _GstMuLawDecClass {
-  GstElementClass parent_class;
-};
+  struct _GstMuLawDecClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_mulawdec_get_type(void);
+  GType gst_mulawdec_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_STEREO_H__ */
+#endif                         /* __GST_STEREO_H__ */
index b15815a..db65e16 100644 (file)
@@ -35,77 +35,84 @@ static GstElementDetails mulawenc_details = {
 };
 
 /* Stereo signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0
 };
 
-static void            gst_mulawenc_class_init         (GstMuLawEncClass *klass);
-static void            gst_mulawenc_base_init          (GstMuLawEncClass *klass);
-static void            gst_mulawenc_init                       (GstMuLawEnc *mulawenc);
+static void gst_mulawenc_class_init (GstMuLawEncClass * klass);
+static void gst_mulawenc_base_init (GstMuLawEncClass * klass);
+static void gst_mulawenc_init (GstMuLawEnc * mulawenc);
 
-static void            gst_mulawenc_set_property                       (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void            gst_mulawenc_get_property                       (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_mulawenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_mulawenc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void            gst_mulawenc_chain                      (GstPad *pad, GstData *_data);
+static void gst_mulawenc_chain (GstPad * pad, GstData * _data);
 
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_stereo_signals[LAST_SIGNAL] = { 0 }; */
 
 static GstPadLinkReturn
-mulawenc_link (GstPad *pad, const GstCaps *caps)
+mulawenc_link (GstPad * pad, const GstCaps * caps)
 {
-  GstCapstempcaps;
+  GstCaps *tempcaps;
   gint rate, channels;
   GstStructure *structure;
   gboolean ret;
-  
-  GstMuLawEncmulawenc = GST_MULAWENC (GST_OBJECT_PARENT (pad));
-  
+
+  GstMuLawEnc *mulawenc = GST_MULAWENC (GST_OBJECT_PARENT (pad));
+
   structure = gst_caps_get_structure (caps, 0);
   ret = gst_structure_get_int (structure, "rate", &rate);
   ret = gst_structure_get_int (structure, "channels", &channels);
-  if (!ret) return GST_PAD_LINK_REFUSED;
-  
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
+
   tempcaps = gst_caps_new_simple ("audio/x-mulaw",
-      "depth",    G_TYPE_INT, 8,
-      "width",    G_TYPE_INT, 8,
-      "signed",   G_TYPE_BOOLEAN, FALSE,
-      "rate",     G_TYPE_INT, rate,
-      "channels", G_TYPE_INT, channels,
-      NULL);
-  
+      "depth", G_TYPE_INT, 8,
+      "width", G_TYPE_INT, 8,
+      "signed", G_TYPE_BOOLEAN, FALSE,
+      "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, channels, NULL);
+
   return gst_pad_try_set_caps (mulawenc->srcpad, tempcaps);
 }
 
 GType
-gst_mulawenc_get_type(void) {
+gst_mulawenc_get_type (void)
+{
   static GType mulawenc_type = 0;
 
   if (!mulawenc_type) {
     static const GTypeInfo mulawenc_info = {
-      sizeof(GstMuLawEncClass),
-      (GBaseInitFunc)gst_mulawenc_base_init,
+      sizeof (GstMuLawEncClass),
+      (GBaseInitFunc) gst_mulawenc_base_init,
       NULL,
-      (GClassInitFunc)gst_mulawenc_class_init,
+      (GClassInitFunc) gst_mulawenc_class_init,
       NULL,
       NULL,
-      sizeof(GstMuLawEnc),
+      sizeof (GstMuLawEnc),
       0,
-      (GInstanceInitFunc)gst_mulawenc_init,
+      (GInstanceInitFunc) gst_mulawenc_init,
     };
-    mulawenc_type = g_type_register_static(GST_TYPE_ELEMENT, "GstMuLawEnc", &mulawenc_info, 0);
+    mulawenc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstMuLawEnc", &mulawenc_info,
+       0);
   }
   return mulawenc_type;
 }
 
 static void
-gst_mulawenc_base_init (GstMuLawEncClass *klass)
+gst_mulawenc_base_init (GstMuLawEncClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
@@ -115,69 +122,72 @@ gst_mulawenc_base_init (GstMuLawEncClass *klass)
 }
 
 static void
-gst_mulawenc_class_init (GstMuLawEncClass *klass)
+gst_mulawenc_class_init (GstMuLawEncClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_mulawenc_set_property;
   gobject_class->get_property = gst_mulawenc_get_property;
 }
 
 static void
-gst_mulawenc_init (GstMuLawEnc *mulawenc)
+gst_mulawenc_init (GstMuLawEnc * mulawenc)
 {
-  mulawenc->sinkpad = gst_pad_new_from_template(mulawenc_sink_template,"sink");
-  mulawenc->srcpad = gst_pad_new_from_template(mulawenc_src_template,"src");
+  mulawenc->sinkpad =
+      gst_pad_new_from_template (mulawenc_sink_template, "sink");
+  mulawenc->srcpad = gst_pad_new_from_template (mulawenc_src_template, "src");
   gst_pad_set_link_function (mulawenc->sinkpad, mulawenc_link);
 
-  gst_element_add_pad(GST_ELEMENT(mulawenc),mulawenc->sinkpad);
-  gst_pad_set_chain_function(mulawenc->sinkpad,gst_mulawenc_chain);
-  gst_element_add_pad(GST_ELEMENT(mulawenc),mulawenc->srcpad);
+  gst_element_add_pad (GST_ELEMENT (mulawenc), mulawenc->sinkpad);
+  gst_pad_set_chain_function (mulawenc->sinkpad, gst_mulawenc_chain);
+  gst_element_add_pad (GST_ELEMENT (mulawenc), mulawenc->srcpad);
 }
 
 static void
-gst_mulawenc_chain (GstPad *pad,GstData *_data)
+gst_mulawenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstMuLawEnc *mulawenc;
   gint16 *linear_data;
   guint8 *mulaw_data;
-  GstBufferoutbuf;
+  GstBuffer *outbuf;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
 
-  mulawenc = GST_MULAWENC(GST_OBJECT_PARENT (pad));
-  g_return_if_fail(mulawenc != NULL);
-  g_return_if_fail(GST_IS_MULAWENC(mulawenc));
+  mulawenc = GST_MULAWENC (GST_OBJECT_PARENT (pad));
+  g_return_if_fail (mulawenc != NULL);
+  g_return_if_fail (GST_IS_MULAWENC (mulawenc));
 
-  linear_data = (gint16 *)GST_BUFFER_DATA(buf);
-  outbuf=gst_buffer_new();
-  GST_BUFFER_DATA(outbuf) = (gchar*)g_new(gint16,GST_BUFFER_SIZE(buf)/4);
-  GST_BUFFER_SIZE(outbuf) = GST_BUFFER_SIZE(buf)/2;
+  linear_data = (gint16 *) GST_BUFFER_DATA (buf);
+  outbuf = gst_buffer_new ();
+  GST_BUFFER_DATA (outbuf) =
+      (gchar *) g_new (gint16, GST_BUFFER_SIZE (buf) / 4);
+  GST_BUFFER_SIZE (outbuf) = GST_BUFFER_SIZE (buf) / 2;
 
-  mulaw_data = (gint8*)GST_BUFFER_DATA(outbuf);
-  mulaw_encode(linear_data,mulaw_data,GST_BUFFER_SIZE(outbuf));
+  mulaw_data = (gint8 *) GST_BUFFER_DATA (outbuf);
+  mulaw_encode (linear_data, mulaw_data, GST_BUFFER_SIZE (outbuf));
 
-  gst_buffer_unref(buf);
-  gst_pad_push(mulawenc->srcpad,GST_DATA (outbuf));
+  gst_buffer_unref (buf);
+  gst_pad_push (mulawenc->srcpad, GST_DATA (outbuf));
 }
 
 static void
-gst_mulawenc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_mulawenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstMuLawEnc *mulawenc;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MULAWENC(object));
-  mulawenc = GST_MULAWENC(object);
+  g_return_if_fail (GST_IS_MULAWENC (object));
+  mulawenc = GST_MULAWENC (object);
 
   switch (prop_id) {
     default:
@@ -186,13 +196,14 @@ gst_mulawenc_set_property (GObject *object, guint prop_id, const GValue *value,
 }
 
 static void
-gst_mulawenc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_mulawenc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstMuLawEnc *mulawenc;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MULAWENC(object));
-  mulawenc = GST_MULAWENC(object);
+  g_return_if_fail (GST_IS_MULAWENC (object));
+  mulawenc = GST_MULAWENC (object);
 
   switch (prop_id) {
     default:
index 6d99759..2ef39d2 100644 (file)
@@ -27,8 +27,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_MULAWENC \
@@ -42,27 +43,29 @@ extern "C" {
 #define GST_IS_MULAWENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULAWENC))
 
-typedef struct _GstMuLawEnc GstMuLawEnc;
-typedef struct _GstMuLawEncClass GstMuLawEncClass;
+  typedef struct _GstMuLawEnc GstMuLawEnc;
+  typedef struct _GstMuLawEncClass GstMuLawEncClass;
 
-struct _GstMuLawEnc {
-  GstElement element;
+  struct _GstMuLawEnc
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  /*MetaAudioRaw meta; */
+    /*MetaAudioRaw meta; */
 
-};
+  };
 
-struct _GstMuLawEncClass {
-  GstElementClass parent_class;
-};
+  struct _GstMuLawEncClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_mulawenc_get_type(void);
+  GType gst_mulawenc_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_STEREO_H__ */
+#endif                         /* __GST_STEREO_H__ */
index 632aa03..3702aaa 100644 (file)
@@ -4,66 +4,58 @@
 #include "mulaw-encode.h"
 #include "mulaw-decode.h"
 
-static GstCaps*
+static GstCaps *
 mulaw_factory (void)
 {
   return gst_caps_new_simple ("audio/x-mulaw",
-      "rate",     GST_TYPE_INT_RANGE, 8000, 192000,
-      "channels", GST_TYPE_INT_RANGE, 1, 2,
-      NULL);
+      "rate", GST_TYPE_INT_RANGE, 8000, 192000,
+      "channels", GST_TYPE_INT_RANGE, 1, 2, NULL);
 }
 
-static GstCaps*
+static GstCaps *
 linear_factory (void)
 {
   return gst_caps_new_simple ("audio/x-raw-int",
-      "width",      G_TYPE_INT, 16,
-      "depth",      G_TYPE_INT, 16,
+      "width", G_TYPE_INT, 16,
+      "depth", G_TYPE_INT, 16,
       "endianness", G_TYPE_INT, G_BYTE_ORDER,
-      "signed",     G_TYPE_BOOLEAN, TRUE,
-      "rate",       GST_TYPE_INT_RANGE, 8000, 192000,
-      "channels",   GST_TYPE_INT_RANGE, 1, 2,
-      NULL);
+      "signed", G_TYPE_BOOLEAN, TRUE,
+      "rate", GST_TYPE_INT_RANGE, 8000, 192000,
+      "channels", GST_TYPE_INT_RANGE, 1, 2, NULL);
 }
 
 GstPadTemplate *mulawenc_src_template, *mulawenc_sink_template;
 GstPadTemplate *mulawdec_src_template, *mulawdec_sink_template;
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  GstCapsmulaw_caps, *linear_caps;
+  GstCaps *mulaw_caps, *linear_caps;
 
   mulaw_caps = mulaw_factory ();
   linear_caps = linear_factory ();
 
-  mulawenc_src_template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
-                                              mulaw_caps);
-  mulawenc_sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
-                                               linear_caps);
+  mulawenc_src_template =
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, mulaw_caps);
+  mulawenc_sink_template =
+      gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, linear_caps);
 
-  mulawdec_src_template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
-                                               linear_caps);
-  mulawdec_sink_template = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
-                                               mulaw_caps);
+  mulawdec_src_template =
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, linear_caps);
+  mulawdec_sink_template =
+      gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, mulaw_caps);
 
   if (!gst_element_register (plugin, "mulawenc",
-                            GST_RANK_NONE, GST_TYPE_MULAWENC) ||
+         GST_RANK_NONE, GST_TYPE_MULAWENC) ||
       !gst_element_register (plugin, "mulawdec",
-                            GST_RANK_PRIMARY, GST_TYPE_MULAWDEC))
+         GST_RANK_PRIMARY, GST_TYPE_MULAWDEC))
     return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "mulaw",
-  "MuLaw audio conversion routines",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "mulaw",
+    "MuLaw audio conversion routines",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 98781b4..3d7bfc6 100644 (file)
@@ -33,8 +33,8 @@ GtkWidget *elapsed;
 GtkWidget *scale[2][3];
 
 static void
-level_callback (GstElement *element, gdouble time, gint channel,
-                gdouble rms, gdouble peak, gdouble decay)
+level_callback (GstElement * element, gdouble time, gint channel,
+    gdouble rms, gdouble peak, gdouble decay)
 {
   gchar *label;
 
@@ -50,6 +50,7 @@ static gboolean
 idler (gpointer data)
 {
   GstElement *pipeline = GST_ELEMENT (data);
+
   g_print ("+");
   if (gst_bin_iterate (GST_BIN (pipeline)))
     return TRUE;
@@ -79,8 +80,7 @@ setup_gui ()
   gtk_container_add (GTK_CONTAINER (hbox), elapsed);
   gtk_container_add (GTK_CONTAINER (vbox), hbox);
 
-  for (c = 0; c < 2; ++c)
-  {
+  for (c = 0; c < 2; ++c) {
     /* RMS */
     hbox = gtk_hbox_new (TRUE, 0);
     label = gtk_label_new ("RMS");
@@ -110,8 +110,8 @@ setup_gui ()
   gtk_widget_show_all (GTK_WIDGET (window));
 }
 
-int main
-(int argc, char *argv[])
+int
+main (int argc, char *argv[])
 {
 
   GstElement *pipeline = NULL;
@@ -122,8 +122,7 @@ int main
   gtk_init (&argc, &argv);
 
   pipeline = gst_parse_launchv ((const gchar **) &argv[1], &error);
-  if (error)
-  {
+  if (error) {
     g_print ("pipeline could not be constructed: %s\n", error->message);
     g_print ("Please give a complete pipeline  with a 'level' element.\n");
     g_print ("Example: sinesrc ! level ! osssink\n");
@@ -132,8 +131,7 @@ int main
   }
 
   level = gst_bin_get_by_name (GST_BIN (pipeline), "level0");
-  if (level == NULL)
-  {
+  if (level == NULL) {
     g_print ("Please give a pipeline with a 'level' element in it\n");
     return 1;
   }
@@ -141,7 +139,7 @@ int main
   g_object_set (level, "signal", TRUE, NULL);
   g_signal_connect (level, "level", G_CALLBACK (level_callback), NULL);
 
-  
+
   /* setup GUI */
   setup_gui ();
 
@@ -155,4 +153,3 @@ int main
 
   return 0;
 }
-
index e81828a..9a82243 100644 (file)
@@ -40,29 +40,29 @@ static GstElementDetails level_details = {
 /* pad templates */
 
 static GstStaticPadTemplate sink_template_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "level_sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_AUDIO_INT_PAD_TEMPLATE_CAPS)
-);
+GST_STATIC_PAD_TEMPLATE ("level_sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AUDIO_INT_PAD_TEMPLATE_CAPS)
+    );
 
 static GstStaticPadTemplate src_template_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "level_src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_AUDIO_INT_PAD_TEMPLATE_CAPS)
-);
+GST_STATIC_PAD_TEMPLATE ("level_src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AUDIO_INT_PAD_TEMPLATE_CAPS)
+    );
 
 /* Filter signals and args */
-enum {
+enum
+{
   /* FILL ME */
   SIGNAL_LEVEL,
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_SIGNAL_LEVEL,
   ARG_SIGNAL_INTERVAL,
@@ -70,42 +70,42 @@ enum {
   ARG_PEAK_FALLOFF
 };
 
-static void            gst_level_class_init            (GstLevelClass *klass);
-static void            gst_level_base_init             (GstLevelClass *klass);
-static void            gst_level_init                  (GstLevel *filter);
+static void gst_level_class_init (GstLevelClass * klass);
+static void gst_level_base_init (GstLevelClass * klass);
+static void gst_level_init (GstLevel * filter);
 
-static GstElementStateReturn gst_level_change_state     (GstElement *element);
-static void            gst_level_set_property                  (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void            gst_level_get_property                  (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static GstElementStateReturn gst_level_change_state (GstElement * element);
+static void gst_level_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_level_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void            gst_level_chain                 (GstPad *pad, GstData *_data);
+static void gst_level_chain (GstPad * pad, GstData * _data);
 
 static GstElementClass *parent_class = NULL;
 static guint gst_filter_signals[LAST_SIGNAL] = { 0 };
 
 GType
-gst_level_get_type (void) 
+gst_level_get_type (void)
 {
   static GType level_type = 0;
 
-  if (!level_type) 
-  {
-    static const GTypeInfo level_info = 
-    {
+  if (!level_type) {
+    static const GTypeInfo level_info = {
       sizeof (GstLevelClass),
       (GBaseInitFunc) gst_level_base_init, NULL,
       (GClassInitFunc) gst_level_class_init, NULL, NULL,
       sizeof (GstLevel), 0,
       (GInstanceInitFunc) gst_level_init
     };
-    level_type = g_type_register_static (GST_TYPE_ELEMENT, "GstLevel", 
-                                        &level_info, 0);
+    level_type = g_type_register_static (GST_TYPE_ELEMENT, "GstLevel",
+       &level_info, 0);
   }
   return level_type;
 }
 
 static GstPadLinkReturn
-gst_level_link (GstPad *pad, const GstCaps *caps)
+gst_level_link (GstPad * pad, const GstCaps * caps)
 {
   GstLevel *filter;
   GstPad *otherpad;
@@ -118,7 +118,7 @@ gst_level_link (GstPad *pad, const GstCaps *caps)
   g_return_val_if_fail (filter != NULL, GST_PAD_LINK_REFUSED);
   g_return_val_if_fail (GST_IS_LEVEL (filter), GST_PAD_LINK_REFUSED);
   otherpad = (pad == filter->srcpad ? filter->sinkpad : filter->srcpad);
-         
+
   res = gst_pad_try_set_caps (otherpad, caps);
   /* if ok, set filter */
   if (res != GST_PAD_LINK_OK && res != GST_PAD_LINK_DONE) {
@@ -126,22 +126,30 @@ gst_level_link (GstPad *pad, const GstCaps *caps)
   }
 
   filter->num_samples = 0;
-  
+
   structure = gst_caps_get_structure (caps, 0);
   ret = gst_structure_get_int (structure, "rate", &filter->rate);
   ret &= gst_structure_get_int (structure, "width", &filter->width);
   ret &= gst_structure_get_int (structure, "channels", &filter->channels);
 
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   /* allocate channel variable arrays */
-  if (filter->CS) g_free (filter->CS);
-  if (filter->peak) g_free (filter->peak);
-  if (filter->last_peak) g_free (filter->last_peak);
-  if (filter->decay_peak) g_free (filter->decay_peak);
-  if (filter->decay_peak_age) g_free (filter->decay_peak_age);
-  if (filter->MS) g_free (filter->MS);
-  if (filter->RMS_dB) g_free (filter->RMS_dB);
+  if (filter->CS)
+    g_free (filter->CS);
+  if (filter->peak)
+    g_free (filter->peak);
+  if (filter->last_peak)
+    g_free (filter->last_peak);
+  if (filter->decay_peak)
+    g_free (filter->decay_peak);
+  if (filter->decay_peak_age)
+    g_free (filter->decay_peak_age);
+  if (filter->MS)
+    g_free (filter->MS);
+  if (filter->RMS_dB)
+    g_free (filter->RMS_dB);
   filter->CS = g_new (double, filter->channels);
   filter->peak = g_new (double, filter->channels);
   filter->last_peak = g_new (double, filter->channels);
@@ -149,10 +157,11 @@ gst_level_link (GstPad *pad, const GstCaps *caps)
   filter->decay_peak_age = g_new (double, filter->channels);
   filter->MS = g_new (double, filter->channels);
   filter->RMS_dB = g_new (double, filter->channels);
+
   for (i = 0; i < filter->channels; ++i) {
     filter->CS[i] = filter->peak[i] = filter->last_peak[i] =
-                    filter->decay_peak[i] = filter->decay_peak_age[i] = 
-                    filter->MS[i] = filter->RMS_dB[i] = 0.0;
+       filter->decay_peak[i] = filter->decay_peak_age[i] =
+       filter->MS[i] = filter->RMS_dB[i] = 0.0;
   }
 
   filter->inited = TRUE;
@@ -161,17 +170,14 @@ gst_level_link (GstPad *pad, const GstCaps *caps)
 }
 
 static void inline
-gst_level_fast_16bit_chain (gint16* in, guint num, gint channels, 
-                            gint resolution, double *CS, double *peak)
+gst_level_fast_16bit_chain (gint16 * in, guint num, gint channels,
+    gint resolution, double *CS, double *peak)
 #include "filter.func"
-
-static void inline
-gst_level_fast_8bit_chain (gint8* in, guint num, gint channels, 
-                           gint resolution, double *CS, double *peak)
+     static void inline
+        gst_level_fast_8bit_chain (gint8 * in, guint num, gint channels,
+    gint resolution, double *CS, double *peak)
 #include "filter.func"
-
-static void
-gst_level_chain (GstPad *pad, GstData *_data)
+     static void gst_level_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstLevel *filter;
@@ -191,27 +197,24 @@ gst_level_chain (GstPad *pad, GstData *_data)
 
   for (i = 0; i < filter->channels; ++i)
     filter->CS[i] = filter->peak[i] = filter->MS[i] = filter->RMS_dB[i] = 0.0;
-  
+
   in_data = (gint16 *) GST_BUFFER_DATA (buf);
-  
+
   num_samples = GST_BUFFER_SIZE (buf) / (filter->width / 8);
   if (num_samples % filter->channels != 0)
-    g_warning ("WARNING: level: programming error, data not properly interleaved");
+    g_warning
+       ("WARNING: level: programming error, data not properly interleaved");
 
-  for (i = 0; i < filter->channels; ++i)
-  {
-    switch (filter->width)
-    {
+  for (i = 0; i < filter->channels; ++i) {
+    switch (filter->width) {
       case 16:
-         gst_level_fast_16bit_chain (in_data + i, num_samples,
-                                      filter->channels, filter->width - 1,
-                                      &CS, &filter->peak[i]);
-         break;
+       gst_level_fast_16bit_chain (in_data + i, num_samples,
+           filter->channels, filter->width - 1, &CS, &filter->peak[i]);
+       break;
       case 8:
-         gst_level_fast_8bit_chain (((gint8 *) in_data) + i, num_samples,
-                                     filter->channels, filter->width - 1,
-                                     &CS, &filter->peak[i]);
-         break;
+       gst_level_fast_8bit_chain (((gint8 *) in_data) + i, num_samples,
+           filter->channels, filter->width - 1, &CS, &filter->peak[i]);
+       break;
     }
     /* g_print ("DEBUG: CS %f, peak %f\n", CS, filter->peak[i]); */
     filter->CS[i] += CS;
@@ -221,91 +224,86 @@ gst_level_chain (GstPad *pad, GstData *_data)
 
   filter->num_samples += num_samples;
 
-  for (i = 0; i < filter->channels; ++i)
-  {
+  for (i = 0; i < filter->channels; ++i) {
     filter->decay_peak_age[i] += num_samples;
     /* g_print ("filter peak info [%d]: peak %f, age %f\n", i, 
-             filter->last_peak[i], filter->decay_peak_age[i]); */
+       filter->last_peak[i], filter->decay_peak_age[i]); */
     /* update running peak */
     if (filter->peak[i] > filter->last_peak[i])
-        filter->last_peak[i] = filter->peak[i];
+      filter->last_peak[i] = filter->peak[i];
 
     /* update decay peak */
-    if (filter->peak[i] >= filter->decay_peak[i])
-    {
-       /* g_print ("new peak, %f\n", filter->peak[i]); */
-       filter->decay_peak[i] = filter->peak[i];
-       filter->decay_peak_age[i] = 0;
-    }
-    else
-    {
+    if (filter->peak[i] >= filter->decay_peak[i]) {
+      /* g_print ("new peak, %f\n", filter->peak[i]); */
+      filter->decay_peak[i] = filter->peak[i];
+      filter->decay_peak_age[i] = 0;
+    } else {
       /* make decay peak fall off if too old */
-      if (filter->decay_peak_age[i] > filter->rate * filter->decay_peak_ttl)
-      {
-        double falloff_dB;
-        double falloff;
-        double length;         /* length of buffer in seconds */
-
-        length = (double) num_samples / (filter->channels * filter->rate);
-        falloff_dB = filter->decay_peak_falloff * length;
-        falloff = pow (10, falloff_dB / -20.0);
-
-        /* g_print ("falloff: length %f, dB falloff %f, falloff factor %e\n",
-                 length, falloff_dB, falloff); */
-        filter->decay_peak[i] *= falloff;
-        /* g_print ("peak is %f samples old, decayed with factor %e to %f\n",
-                 filter->decay_peak_age[i], falloff, filter->decay_peak[i]); */
+      if (filter->decay_peak_age[i] > filter->rate * filter->decay_peak_ttl) {
+       double falloff_dB;
+       double falloff;
+       double length;          /* length of buffer in seconds */
+
+
+       length = (double) num_samples / (filter->channels * filter->rate);
+       falloff_dB = filter->decay_peak_falloff * length;
+       falloff = pow (10, falloff_dB / -20.0);
+
+       /* g_print ("falloff: length %f, dB falloff %f, falloff factor %e\n",
+          length, falloff_dB, falloff); */
+       filter->decay_peak[i] *= falloff;
+       /* g_print ("peak is %f samples old, decayed with factor %e to %f\n",
+          filter->decay_peak_age[i], falloff, filter->decay_peak[i]); */
       }
     }
   }
 
   /* do we need to emit ? */
-  
-  if (filter->num_samples >= filter->interval * (gdouble) filter->rate)
-  {
-    if (filter->signal)
-    {
+
+  if (filter->num_samples >= filter->interval * (gdouble) filter->rate) {
+    if (filter->signal) {
       gdouble RMS, peak, endtime;
-      for (i = 0; i < filter->channels; ++i)
-      {
-        RMS = sqrt (filter->CS[i] / (filter->num_samples / filter->channels));
-        peak = filter->last_peak[i];
-        num_samples = GST_BUFFER_SIZE (buf) / (filter->width / 8);
-        endtime = (double) GST_BUFFER_TIMESTAMP (buf) / GST_SECOND
-                + (double) num_samples / (double) filter->rate;
-
-        g_signal_emit (G_OBJECT (filter), gst_filter_signals[SIGNAL_LEVEL], 0,
-                       endtime, i,
-                       20 * log10 (RMS), 20 * log10 (filter->last_peak[i]),
-                       20 * log10 (filter->decay_peak[i]));
-        /* we emitted, so reset cumulative and normal peak */
-        filter->CS[i] = 0.0;
-        filter->last_peak[i] = 0.0;
+
+      for (i = 0; i < filter->channels; ++i) {
+       RMS = sqrt (filter->CS[i] / (filter->num_samples / filter->channels));
+       peak = filter->last_peak[i];
+       num_samples = GST_BUFFER_SIZE (buf) / (filter->width / 8);
+       endtime = (double) GST_BUFFER_TIMESTAMP (buf) / GST_SECOND
+           + (double) num_samples / (double) filter->rate;
+
+       g_signal_emit (G_OBJECT (filter), gst_filter_signals[SIGNAL_LEVEL], 0,
+           endtime, i,
+           20 * log10 (RMS), 20 * log10 (filter->last_peak[i]),
+           20 * log10 (filter->decay_peak[i]));
+       /* we emitted, so reset cumulative and normal peak */
+       filter->CS[i] = 0.0;
+       filter->last_peak[i] = 0.0;
       }
     }
     filter->num_samples = 0;
   }
 }
 
-static GstElementStateReturn gst_level_change_state (GstElement *element)
+static GstElementStateReturn
+gst_level_change_state (GstElement * element)
 {
   GstLevel *filter = GST_LEVEL (element);
 
-  switch(GST_STATE_TRANSITION(element)){
+  switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_PAUSED_TO_PLAYING:
-      if (!filter->inited) return GST_STATE_FAILURE;
+      if (!filter->inited)
+       return GST_STATE_FAILURE;
       break;
     default:
       break;
   }
 
-  return GST_ELEMENT_CLASS(parent_class)->change_state(element);
+  return GST_ELEMENT_CLASS (parent_class)->change_state (element);
 }
 
 static void
-gst_level_set_property (GObject *object, guint prop_id, 
-                        const GValue *value, GParamSpec *pspec)
+gst_level_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstLevel *filter;
 
@@ -332,8 +330,8 @@ gst_level_set_property (GObject *object, guint prop_id,
 }
 
 static void
-gst_level_get_property (GObject *object, guint prop_id, 
-                        GValue *value, GParamSpec *pspec)
+gst_level_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
   GstLevel *filter;
 
@@ -345,7 +343,7 @@ gst_level_get_property (GObject *object, guint prop_id,
     case ARG_SIGNAL_LEVEL:
       g_value_set_boolean (value, filter->signal);
       break;
-      case ARG_SIGNAL_INTERVAL:
+    case ARG_SIGNAL_INTERVAL:
       g_value_set_double (value, filter->interval);
       break;
     case ARG_PEAK_TTL:
@@ -354,71 +352,73 @@ gst_level_get_property (GObject *object, guint prop_id,
     case ARG_PEAK_FALLOFF:
       g_value_set_double (value, filter->decay_peak_falloff);
       break;
-   default:
+    default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
 }
 
 static void
-gst_level_base_init (GstLevelClass *klass)
+gst_level_base_init (GstLevelClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&sink_template_factory));
+      gst_static_pad_template_get (&sink_template_factory));
   gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&src_template_factory));
+      gst_static_pad_template_get (&src_template_factory));
   gst_element_class_set_details (element_class, &level_details);
 
   element_class->change_state = gst_level_change_state;
 }
 
 static void
-gst_level_class_init (GstLevelClass *klass)
+gst_level_class_init (GstLevelClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SIGNAL_LEVEL,
-    g_param_spec_boolean ("signal", "Signal",
-                          "Emit level signals for each interval",
-                          TRUE, G_PARAM_READWRITE));
+      g_param_spec_boolean ("signal", "Signal",
+         "Emit level signals for each interval", TRUE, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SIGNAL_INTERVAL,
-    g_param_spec_double ("interval", "Interval",
-                         "Interval between emissions (in seconds)",
-                         0.01, 100.0, 0.1, G_PARAM_READWRITE));
+      g_param_spec_double ("interval", "Interval",
+         "Interval between emissions (in seconds)",
+         0.01, 100.0, 0.1, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PEAK_TTL,
-    g_param_spec_double ("peak_ttl", "Peak TTL",
-                         "Time To Live of decay peak before it falls back",
-                         0, 100.0, 0.3, G_PARAM_READWRITE));
+      g_param_spec_double ("peak_ttl", "Peak TTL",
+         "Time To Live of decay peak before it falls back",
+         0, 100.0, 0.3, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PEAK_FALLOFF,
-    g_param_spec_double ("peak_falloff", "Peak Falloff",
-                         "Decay rate of decay peak after TTL (in dB/sec)",
-                         0.0, G_MAXDOUBLE, 10.0, G_PARAM_READWRITE));
+      g_param_spec_double ("peak_falloff", "Peak Falloff",
+         "Decay rate of decay peak after TTL (in dB/sec)",
+         0.0, G_MAXDOUBLE, 10.0, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_level_set_property;
   gobject_class->get_property = gst_level_get_property;
 
-  gst_filter_signals[SIGNAL_LEVEL] = 
-    g_signal_new ("level", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GstLevelClass, level), NULL, NULL,
-                  gstlevel_cclosure_marshal_VOID__DOUBLE_INT_DOUBLE_DOUBLE_DOUBLE,
-                  G_TYPE_NONE, 5,
-                  G_TYPE_DOUBLE, G_TYPE_INT,
-                  G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
+  gst_filter_signals[SIGNAL_LEVEL] =
+      g_signal_new ("level", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstLevelClass, level), NULL, NULL,
+      gstlevel_cclosure_marshal_VOID__DOUBLE_INT_DOUBLE_DOUBLE_DOUBLE,
+      G_TYPE_NONE, 5,
+      G_TYPE_DOUBLE, G_TYPE_INT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
 }
 
 static void
-gst_level_init (GstLevel *filter)
+gst_level_init (GstLevel * filter)
 {
-  filter->sinkpad = gst_pad_new_from_template (gst_static_pad_template_get (&sink_template_factory), "sink");
+  filter->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&sink_template_factory), "sink");
   gst_pad_set_link_function (filter->sinkpad, gst_level_link);
-  filter->srcpad = gst_pad_new_from_template (gst_static_pad_template_get (&src_template_factory), "src");
+  filter->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&src_template_factory), "src");
   gst_pad_set_link_function (filter->srcpad, gst_level_link);
 
   gst_element_add_pad (GST_ELEMENT (filter), filter->sinkpad);
@@ -441,20 +441,13 @@ gst_level_init (GstLevel *filter)
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "level",
-                              GST_RANK_NONE, GST_TYPE_LEVEL);
+  return gst_element_register (plugin, "level", GST_RANK_NONE, GST_TYPE_LEVEL);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "level",
-  "Audio level plugin",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "level",
+    "Audio level plugin",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 7a85377..4158b9b 100644 (file)
@@ -31,8 +31,9 @@
 #include "gstlevel-marshal.h"
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_LEVEL \
@@ -46,46 +47,48 @@ extern "C" {
 #define GST_IS_LEVEL_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_LEVEL))
 
-typedef struct _GstLevel GstLevel;
-typedef struct _GstLevelClass GstLevelClass;
-
-struct _GstLevel {
-  GstElement element;
-
-  GstPad *sinkpad, *srcpad;
-  gboolean signal;             /* whether or not to emit signals */
-  gboolean inited;              /* whether or not the element is initialized */
-  gdouble interval;            /* how many seconds between emits */
-
-  gint rate;                   /* caps variables */
-  gint width;
-  gint channels;
-
-  gdouble decay_peak_ttl;      /* time to live for peak in seconds */
-  gdouble decay_peak_falloff;  /* falloff in dB/sec */
-  gdouble num_samples;         /* cumulative sample count */
-
-  /* per-channel arrays for intermediate values */
-  gdouble *CS;                 /* normalized Cumulative Square */
-  gdouble *peak;               /* normalized Peak value over buffer */
-  gdouble *last_peak;          /* last normalized Peak value over interval */
-  gdouble *decay_peak;         /* running decaying normalized Peak */
-  gdouble *MS;                 /* normalized Mean Square of buffer */
-  gdouble *RMS_dB;             /* RMS in dB to emit */
-  gdouble *decay_peak_age;     /* age of last peak */
-};
-
-struct _GstLevelClass {
-  GstElementClass parent_class;
-  void (*level) (GstElement *element, gdouble time, gint channel,
-                 gdouble RMS_dB, gdouble peak_dB, gdouble decay_peak_dB);
-};
-
-GType gst_level_get_type(void);
+  typedef struct _GstLevel GstLevel;
+  typedef struct _GstLevelClass GstLevelClass;
+
+  struct _GstLevel
+  {
+    GstElement element;
+
+    GstPad *sinkpad, *srcpad;
+    gboolean signal;           /* whether or not to emit signals */
+    gboolean inited;           /* whether or not the element is initialized */
+    gdouble interval;          /* how many seconds between emits */
+
+    gint rate;                 /* caps variables */
+    gint width;
+    gint channels;
+
+    gdouble decay_peak_ttl;    /* time to live for peak in seconds */
+    gdouble decay_peak_falloff;        /* falloff in dB/sec */
+    gdouble num_samples;       /* cumulative sample count */
+
+    /* per-channel arrays for intermediate values */
+    gdouble *CS;               /* normalized Cumulative Square */
+    gdouble *peak;             /* normalized Peak value over buffer */
+    gdouble *last_peak;                /* last normalized Peak value over interval */
+    gdouble *decay_peak;       /* running decaying normalized Peak */
+    gdouble *MS;               /* normalized Mean Square of buffer */
+    gdouble *RMS_dB;           /* RMS in dB to emit */
+    gdouble *decay_peak_age;   /* age of last peak */
+  };
+
+  struct _GstLevelClass
+  {
+    GstElementClass parent_class;
+    void (*level) (GstElement * element, gdouble time, gint channel,
+       gdouble RMS_dB, gdouble peak_dB, gdouble decay_peak_dB);
+  };
+
+  GType gst_level_get_type (void);
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_STEREO_H__ */
+#endif                         /* __GST_STEREO_H__ */
index 27ecd01..ad6d70d 100644 (file)
 #include <gst/gst.h>
 #include <gtk/gtk.h>
 
-gboolean got_channel[2] = { FALSE, FALSE}; /* to see if we got the signal for this one yet */
-gint channels = 0 ;      /* guess at how many channels there are */
-gdouble last_time = 0.0; /* time of last signal */
-gdouble values[2][3];    /* array of levels from which to print */
+gboolean got_channel[2] = { FALSE, FALSE };    /* to see if we got the signal for this one yet */
+gint channels = 0;             /* guess at how many channels there are */
+gdouble last_time = 0.0;       /* time of last signal */
+gdouble values[2][3];          /* array of levels from which to print */
 
 static void
-level_callback (GstElement *element, gdouble time, gint channel,
-                gdouble rms, gdouble peak, gdouble decay)
+level_callback (GstElement * element, gdouble time, gint channel,
+    gdouble rms, gdouble peak, gdouble decay)
 {
   int i = 0, j = 0;
   gboolean got_all = FALSE;
 
-  if (channel  + 1> channels) channels = channel + 1;
+  if (channel + 1 > channels)
+    channels = channel + 1;
 
   /* reset got_channel if this is a new time point */
-  if (time > last_time)
-  {
-    for (i = 0; i < channels; ++i)  got_channel[i] = FALSE;
+  if (time > last_time) {
+    for (i = 0; i < channels; ++i)
+      got_channel[i] = FALSE;
     last_time = time;
   }
 
@@ -59,13 +60,13 @@ level_callback (GstElement *element, gdouble time, gint channel,
   /* FIXME: this fails on the first, no ? */
   got_all = TRUE;
   for (i = 0; i < channels; ++i)
-    if (!got_channel[i]) got_all = FALSE;
-  if (got_all)
-  {
+    if (!got_channel[i])
+      got_all = FALSE;
+  if (got_all) {
     g_print ("%f ", time);
     for (i = 0; i < channels; ++i)
       for (j = 0; j < 3; ++j)
-        g_print ("%f ", values[i][j]);
+       g_print ("%f ", values[i][j]);
     g_print ("\n");
   }
 }
@@ -74,6 +75,7 @@ static gboolean
 idler (gpointer data)
 {
   GstElement *pipeline = GST_ELEMENT (data);
+
   if (gst_bin_iterate (GST_BIN (pipeline)))
     return TRUE;
 
@@ -81,8 +83,8 @@ idler (gpointer data)
   return FALSE;
 }
 
-int main
-(int argc, char *argv[])
+int
+main (int argc, char *argv[])
 {
 
   GstElement *pipeline = NULL;
@@ -93,8 +95,7 @@ int main
   gtk_init (&argc, &argv);
 
   pipeline = gst_parse_launchv ((const gchar **) &argv[1], &error);
-  if (error)
-  {
+  if (error) {
     g_print ("pipeline could not be constructed: %s\n", error->message);
     g_print ("Please give a complete pipeline  with a 'level' element.\n");
     g_print ("Example: sinesrc ! level ! osssink\n");
@@ -103,8 +104,7 @@ int main
   }
 
   level = gst_bin_get_by_name (GST_BIN (pipeline), "level0");
-  if (level == NULL)
-  {
+  if (level == NULL) {
     g_print ("Please give a pipeline with a 'level' element in it\n");
     return 1;
   }
@@ -112,7 +112,7 @@ int main
   g_object_set (level, "signal", TRUE, NULL);
   g_signal_connect (level, "level", G_CALLBACK (level_callback), NULL);
 
-  
+
   /* go to main loop */
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
   g_idle_add (idler, pipeline);
@@ -121,4 +121,3 @@ int main
 
   return 0;
 }
-
index 329f036..eb396b2 100644 (file)
 #define __GST_EBML_IDS_H__
 
 G_BEGIN_DECLS
-
 /* EBML version supported */
 #define GST_EBML_VERSION 1
-
 /* top-level master-IDs */
 #define GST_EBML_ID_HEADER             0x1A45DFA3
-
 /* IDs in the HEADER master */
 #define GST_EBML_ID_EBMLVERSION        0x4286
 #define GST_EBML_ID_EBMLREADVERSION    0x42F7
@@ -38,10 +35,7 @@ G_BEGIN_DECLS
 #define GST_EBML_ID_DOCTYPE            0x4282
 #define GST_EBML_ID_DOCTYPEVERSION     0x4287
 #define GST_EBML_ID_DOCTYPEREADVERSION 0x4285
-
 /* general EBML types */
 #define GST_EBML_ID_VOID               0xEC
-
-G_END_DECLS
-
+    G_END_DECLS
 #endif /* __GST_EBML_IDS_H__ */
index 4661ef8..6fa5356 100644 (file)
 #include "ebml-read.h"
 #include "ebml-ids.h"
 
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-static void gst_ebml_read_class_init   (GstEbmlReadClass *klass);
-static void gst_ebml_read_init         (GstEbmlRead      *ebml);
-static GstElementStateReturn
-           gst_ebml_read_change_state (GstElement       *element);
+static void gst_ebml_read_class_init (GstEbmlReadClass * klass);
+static void gst_ebml_read_init (GstEbmlRead * ebml);
+static GstElementStateReturn gst_ebml_read_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 
 GType
-gst_ebml_read_get_type (void) 
+gst_ebml_read_get_type (void)
 {
   static GType gst_ebml_read_type = 0;
 
   if (!gst_ebml_read_type) {
     static const GTypeInfo gst_ebml_read_info = {
-      sizeof (GstEbmlReadClass),      
+      sizeof (GstEbmlReadClass),
       NULL,
       NULL,
       (GClassInitFunc) gst_ebml_read_class_init,
@@ -60,14 +60,14 @@ gst_ebml_read_get_type (void)
 
     gst_ebml_read_type =
        g_type_register_static (GST_TYPE_ELEMENT, "GstEbmlRead",
-                               &gst_ebml_read_info, 0);
+       &gst_ebml_read_info, 0);
   }
 
   return gst_ebml_read_type;
 }
 
 static void
-gst_ebml_read_class_init (GstEbmlReadClass *klass) 
+gst_ebml_read_class_init (GstEbmlReadClass * klass)
 {
   GstElementClass *gstelement_class = (GstElementClass *) klass;
 
@@ -77,7 +77,7 @@ gst_ebml_read_class_init (GstEbmlReadClass *klass)
 }
 
 static void
-gst_ebml_read_init (GstEbmlRead *ebml)
+gst_ebml_read_init (GstEbmlRead * ebml)
 {
   ebml->sinkpad = NULL;
   ebml->bs = NULL;
@@ -85,23 +85,23 @@ gst_ebml_read_init (GstEbmlRead *ebml)
 }
 
 static GstElementStateReturn
-gst_ebml_read_change_state (GstElement *element)
+gst_ebml_read_change_state (GstElement * element)
 {
   GstEbmlRead *ebml = GST_EBML_READ (element);
 
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_READY_TO_PAUSED:
       if (!ebml->sinkpad)
-        return GST_STATE_FAILURE;
+       return GST_STATE_FAILURE;
       ebml->bs = gst_bytestream_new (ebml->sinkpad);
       break;
     case GST_STATE_PAUSED_TO_READY:
       gst_bytestream_destroy (ebml->bs);
       while (ebml->level) {
-        GstEbmlLevel *level = ebml->level->data;
+       GstEbmlLevel *level = ebml->level->data;
 
-        ebml->level = g_list_remove (ebml->level, level);
-        g_free (level);
+       ebml->level = g_list_remove (ebml->level, level);
+       g_free (level);
       }
       break;
     default:
@@ -122,7 +122,7 @@ gst_ebml_read_change_state (GstElement *element)
  */
 
 static guint
-gst_ebml_read_element_level_up (GstEbmlRead *ebml)
+gst_ebml_read_element_level_up (GstEbmlRead * ebml)
 {
   guint num = 0;
   guint64 pos = gst_bytestream_tell (ebml->bs);
@@ -148,9 +148,7 @@ gst_ebml_read_element_level_up (GstEbmlRead *ebml)
  */
 
 static gint
-gst_ebml_read_element_id (GstEbmlRead *ebml,
-                         guint32     *id,
-                         guint       *level_up)
+gst_ebml_read_element_id (GstEbmlRead * ebml, guint32 * id, guint * level_up)
 {
   guint8 *data;
   gint len_mask = 0x80, read = 1, n = 1;
@@ -166,10 +164,10 @@ gst_ebml_read_element_id (GstEbmlRead *ebml,
       gst_pad_event_default (ebml->sinkpad, event);
     } else {
       guint64 pos = gst_bytestream_tell (ebml->bs);
+
       gst_event_unref (event);
       GST_ELEMENT_ERROR (ebml, RESOURCE, READ, (NULL),
-                        ("Read error at position %llu (0x%llx)",
-                        pos, pos));
+         ("Read error at position %llu (0x%llx)", pos, pos));
       return -1;
     }
   }
@@ -180,16 +178,18 @@ gst_ebml_read_element_id (GstEbmlRead *ebml,
   }
   if (read > 4) {
     guint64 pos = gst_bytestream_tell (ebml->bs);
+
     GST_ELEMENT_ERROR (ebml, STREAM, DEMUX, (NULL),
-                      ("Invalid EBML ID size tag (0x%x) at position %llu (0x%llx)",
-                      data[0], pos, pos));
+       ("Invalid EBML ID size tag (0x%x) at position %llu (0x%llx)",
+           data[0], pos, pos));
     return -1;
   }
 
   if (gst_bytestream_peek_bytes (ebml->bs, &data, read) != read) {
     guint64 pos = gst_bytestream_tell (ebml->bs);
+
     GST_ELEMENT_ERROR (ebml, RESOURCE, READ, (NULL),
-                      ("Read error at position %llu (0x%llx)", pos, pos));
+       ("Read error at position %llu (0x%llx)", pos, pos));
     return -1;
   }
   while (n < read)
@@ -210,8 +210,7 @@ gst_ebml_read_element_id (GstEbmlRead *ebml,
  */
 
 static gint
-gst_ebml_read_element_length (GstEbmlRead *ebml,
-                             guint64     *length)
+gst_ebml_read_element_length (GstEbmlRead * ebml, guint64 * length)
 {
   guint8 *data;
   gint len_mask = 0x80, read = 1, n = 1, num_ffs = 0;
@@ -219,8 +218,9 @@ gst_ebml_read_element_length (GstEbmlRead *ebml,
 
   if (gst_bytestream_peek_bytes (ebml->bs, &data, 1) != 1) {
     guint64 pos = gst_bytestream_tell (ebml->bs);
+
     GST_ELEMENT_ERROR (ebml, RESOURCE, READ, (NULL),
-                      ("Read error at position %llu (0x%llx)", pos, pos));
+       ("Read error at position %llu (0x%llx)", pos, pos));
     return -1;
   }
   total = data[0];
@@ -230,9 +230,10 @@ gst_ebml_read_element_length (GstEbmlRead *ebml,
   }
   if (read > 8) {
     guint64 pos = gst_bytestream_tell (ebml->bs);
+
     GST_ELEMENT_ERROR (ebml, STREAM, DEMUX, (NULL),
-                      ("Invalid EBML length size tag (0x%x) at position %llu (0x%llx)",
-                      data[0], pos, pos));
+       ("Invalid EBML length size tag (0x%x) at position %llu (0x%llx)",
+           data[0], pos, pos));
     return -1;
   }
 
@@ -240,8 +241,9 @@ gst_ebml_read_element_length (GstEbmlRead *ebml,
     num_ffs++;
   if (gst_bytestream_peek_bytes (ebml->bs, &data, read) != read) {
     guint64 pos = gst_bytestream_tell (ebml->bs);
+
     GST_ELEMENT_ERROR (ebml, RESOURCE, READ, (NULL),
-                      ("Read error at position %llu (0x%llx)", pos, pos));
+       ("Read error at position %llu (0x%llx)", pos, pos));
     return -1;
   }
   while (n < read) {
@@ -265,15 +267,15 @@ gst_ebml_read_element_length (GstEbmlRead *ebml,
  */
 
 static GstBuffer *
-gst_ebml_read_element_data (GstEbmlRead *ebml,
-                           guint64      length)
+gst_ebml_read_element_data (GstEbmlRead * ebml, guint64 length)
 {
   GstBuffer *buf = NULL;
 
   if (gst_bytestream_peek (ebml->bs, &buf, length) != length) {
     guint64 pos = gst_bytestream_tell (ebml->bs);
+
     GST_ELEMENT_ERROR (ebml, RESOURCE, READ, (NULL),
-                      ("Read error at position %llu (0x%llx)", pos, pos));
+       ("Read error at position %llu (0x%llx)", pos, pos));
     if (buf)
       gst_buffer_unref (buf);
     return NULL;
@@ -291,8 +293,7 @@ gst_ebml_read_element_data (GstEbmlRead *ebml,
  */
 
 guint32
-gst_ebml_peek_id (GstEbmlRead *ebml,
-                 guint       *level_up)
+gst_ebml_peek_id (GstEbmlRead * ebml, guint * level_up)
 {
   guint32 id;
 
@@ -309,8 +310,7 @@ gst_ebml_peek_id (GstEbmlRead *ebml,
  */
 
 GstEvent *
-gst_ebml_read_seek (GstEbmlRead *ebml,
-                   guint64      offset)
+gst_ebml_read_seek (GstEbmlRead * ebml, guint64 offset)
 {
   guint32 remaining;
   GstEvent *event = NULL;
@@ -328,7 +328,7 @@ gst_ebml_read_seek (GstEbmlRead *ebml,
   /* now seek */
   if (!gst_bytestream_seek (ebml->bs, offset, GST_SEEK_METHOD_SET)) {
     GST_ELEMENT_ERROR (ebml, RESOURCE, SEEK, (NULL),
-                      ("Seek to position %llu (0x%llx) failed", offset, offset));
+       ("Seek to position %llu (0x%llx) failed", offset, offset));
     return NULL;
   }
 
@@ -359,7 +359,7 @@ gst_ebml_read_seek (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_skip (GstEbmlRead *ebml)
+gst_ebml_read_skip (GstEbmlRead * ebml)
 {
   gint bytes;
   guint32 id, remaining;
@@ -385,7 +385,7 @@ gst_ebml_read_skip (GstEbmlRead *ebml)
     return gst_bytestream_flush (ebml->bs, length);
 
   if (!(event = gst_ebml_read_seek (ebml,
-                       gst_bytestream_tell (ebml->bs) + length)))
+             gst_bytestream_tell (ebml->bs) + length)))
     return FALSE;
 
   gst_event_unref (event);
@@ -398,9 +398,7 @@ gst_ebml_read_skip (GstEbmlRead *ebml)
  */
 
 gboolean
-gst_ebml_read_buffer (GstEbmlRead *ebml,
-                     guint32     *id,
-                     GstBuffer  **buf)
+gst_ebml_read_buffer (GstEbmlRead * ebml, guint32 * id, GstBuffer ** buf)
 {
   gint bytes;
   guint64 length;
@@ -421,9 +419,7 @@ gst_ebml_read_buffer (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_uint (GstEbmlRead *ebml,
-                   guint32     *id,
-                   guint64     *num)
+gst_ebml_read_uint (GstEbmlRead * ebml, guint32 * id, guint64 * num)
 {
   GstBuffer *buf;
   guint8 *data;
@@ -436,8 +432,8 @@ gst_ebml_read_uint (GstEbmlRead *ebml,
   size = GST_BUFFER_SIZE (buf);
   if (size < 1 || size > 8) {
     GST_ELEMENT_ERROR (ebml, STREAM, DEMUX, (NULL),
-                      ("Invalid integer element size %d at position %llu (0x%llu)",
-                      size, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET (buf)));
+       ("Invalid integer element size %d at position %llu (0x%llu)",
+           size, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET (buf)));
     gst_buffer_unref (buf);
     return FALSE;
   }
@@ -457,9 +453,7 @@ gst_ebml_read_uint (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_sint (GstEbmlRead *ebml,
-                   guint32     *id,
-                   gint64      *num)
+gst_ebml_read_sint (GstEbmlRead * ebml, guint32 * id, gint64 * num)
 {
   GstBuffer *buf;
   guint8 *data;
@@ -472,8 +466,8 @@ gst_ebml_read_sint (GstEbmlRead *ebml,
   size = GST_BUFFER_SIZE (buf);
   if (size < 1 || size > 8) {
     GST_ELEMENT_ERROR (ebml, STREAM, DEMUX, (NULL),
-                      ("Invalid integer element size %d at position %llu (0x%llx)",
-                      size, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET (buf)));
+       ("Invalid integer element size %d at position %llu (0x%llx)",
+           size, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET (buf)));
     gst_buffer_unref (buf);
     return FALSE;
   }
@@ -501,9 +495,7 @@ gst_ebml_read_sint (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_float (GstEbmlRead *ebml,
-                    guint32     *id,
-                    gdouble     *num)
+gst_ebml_read_float (GstEbmlRead * ebml, guint32 * id, gdouble * num)
 {
   GstBuffer *buf;
   guint8 *data;
@@ -517,15 +509,15 @@ gst_ebml_read_float (GstEbmlRead *ebml,
 
   if (size != 4 && size != 8 && size != 10) {
     GST_ELEMENT_ERROR (ebml, STREAM, DEMUX, (NULL),
-                      ("Invalid float element size %d at position %llu (0x%llx)",
-                      size, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET (buf)));
+       ("Invalid float element size %d at position %llu (0x%llx)",
+           size, GST_BUFFER_OFFSET (buf), GST_BUFFER_OFFSET (buf)));
     gst_buffer_unref (buf);
     return FALSE;
   }
 
   if (size == 10) {
     GST_ELEMENT_ERROR (ebml, CORE, NOT_IMPLEMENTED, (NULL),
-                      ("FIXME! 10-byte floats unimplemented"));
+       ("FIXME! 10-byte floats unimplemented"));
     gst_buffer_unref (buf);
     return FALSE;
   }
@@ -534,10 +526,10 @@ gst_ebml_read_float (GstEbmlRead *ebml,
     gfloat f;
 
 #if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    f = * (gfloat *) data;
+    f = *(gfloat *) data;
 #else
     while (size > 0) {
-      ((guint8 *) &f)[size - 1] = data[4 - size];
+      ((guint8 *) & f)[size - 1] = data[4 - size];
       size--;
     }
 #endif
@@ -547,10 +539,10 @@ gst_ebml_read_float (GstEbmlRead *ebml,
     gdouble d;
 
 #if (G_BYTE_ORDER == G_BIG_ENDIAN)
-    d = * (gdouble *) data;
+    d = *(gdouble *) data;
 #else
     while (size > 0) {
-      ((guint8 *) &d)[size - 1] = data[8 - size];
+      ((guint8 *) & d)[size - 1] = data[8 - size];
       size--;
     }
 #endif
@@ -568,9 +560,7 @@ gst_ebml_read_float (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_ascii (GstEbmlRead *ebml,
-                    guint32     *id,
-                    gchar      **str)
+gst_ebml_read_ascii (GstEbmlRead * ebml, guint32 * id, gchar ** str)
 {
   GstBuffer *buf;
 
@@ -591,9 +581,7 @@ gst_ebml_read_ascii (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_utf8 (GstEbmlRead *ebml,
-                   guint32     *id,
-                   gchar      **str)
+gst_ebml_read_utf8 (GstEbmlRead * ebml, guint32 * id, gchar ** str)
 {
   return gst_ebml_read_ascii (ebml, id, str);
 }
@@ -603,9 +591,7 @@ gst_ebml_read_utf8 (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_date (GstEbmlRead *ebml,
-                   guint32     *id,
-                   gint64      *date)
+gst_ebml_read_date (GstEbmlRead * ebml, guint32 * id, gint64 * date)
 {
   return gst_ebml_read_sint (ebml, id, date);
 }
@@ -616,8 +602,7 @@ gst_ebml_read_date (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_master (GstEbmlRead *ebml,
-                     guint32     *id)
+gst_ebml_read_master (GstEbmlRead * ebml, guint32 * id)
 {
   gint bytes;
   guint64 length;
@@ -645,10 +630,8 @@ gst_ebml_read_master (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_binary (GstEbmlRead *ebml,
-                     guint32     *id,
-                     guint8     **binary,
-                     guint64     *length)
+gst_ebml_read_binary (GstEbmlRead * ebml,
+    guint32 * id, guint8 ** binary, guint64 * length)
 {
   GstBuffer *buf;
 
@@ -668,9 +651,7 @@ gst_ebml_read_binary (GstEbmlRead *ebml,
  */
 
 gboolean
-gst_ebml_read_header (GstEbmlRead *ebml,
-                     gchar      **doctype,
-                     guint       *version)
+gst_ebml_read_header (GstEbmlRead * ebml, gchar ** doctype, guint * version)
 {
   /* this function is the first to be called */
   guint32 id;
@@ -701,79 +682,79 @@ gst_ebml_read_header (GstEbmlRead *ebml,
       break;
 
     switch (id) {
-      /* is our read version uptodate? */
-      case GST_EBML_ID_EBMLREADVERSION: {
-        guint64 num;
-
-        if (!gst_ebml_read_uint (ebml, &id, &num))
-          return FALSE;
-        g_assert (id == GST_EBML_ID_EBMLREADVERSION);
-        if (num != GST_EBML_VERSION)
-          return FALSE;
-        break;
+       /* is our read version uptodate? */
+      case GST_EBML_ID_EBMLREADVERSION:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num))
+         return FALSE;
+       g_assert (id == GST_EBML_ID_EBMLREADVERSION);
+       if (num != GST_EBML_VERSION)
+         return FALSE;
+       break;
       }
 
-      /* we only handle 8 byte lengths at max */
-      case GST_EBML_ID_EBMLMAXSIZELENGTH: {
-        guint64 num;
+       /* we only handle 8 byte lengths at max */
+      case GST_EBML_ID_EBMLMAXSIZELENGTH:{
+       guint64 num;
 
-        if (!gst_ebml_read_uint (ebml, &id, &num))
-          return FALSE;
-        g_assert (id == GST_EBML_ID_EBMLMAXSIZELENGTH);
-        if (num != sizeof (guint64))
-          return FALSE;
-        break;
+       if (!gst_ebml_read_uint (ebml, &id, &num))
+         return FALSE;
+       g_assert (id == GST_EBML_ID_EBMLMAXSIZELENGTH);
+       if (num != sizeof (guint64))
+         return FALSE;
+       break;
       }
 
-      /* we handle 4 byte IDs at max */
-      case GST_EBML_ID_EBMLMAXIDLENGTH: {
-        guint64 num;
+       /* we handle 4 byte IDs at max */
+      case GST_EBML_ID_EBMLMAXIDLENGTH:{
+       guint64 num;
 
-        if (!gst_ebml_read_uint (ebml, &id, &num))
-          return FALSE;
-        g_assert (id == GST_EBML_ID_EBMLMAXIDLENGTH);
-        if (num != sizeof (guint32))
-          return FALSE;
-        break;
+       if (!gst_ebml_read_uint (ebml, &id, &num))
+         return FALSE;
+       g_assert (id == GST_EBML_ID_EBMLMAXIDLENGTH);
+       if (num != sizeof (guint32))
+         return FALSE;
+       break;
       }
 
-      case GST_EBML_ID_DOCTYPE: {
-        gchar *text;
-
-        if (!gst_ebml_read_ascii (ebml, &id, &text))
-          return FALSE;
-        g_assert (id == GST_EBML_ID_DOCTYPE); 
-        if (doctype) {
-          if (doctype)
-            g_free (*doctype);
-          *doctype = text;
-        } else
-          g_free (text);
-        break;
+      case GST_EBML_ID_DOCTYPE:{
+       gchar *text;
+
+       if (!gst_ebml_read_ascii (ebml, &id, &text))
+         return FALSE;
+       g_assert (id == GST_EBML_ID_DOCTYPE);
+       if (doctype) {
+         if (doctype)
+           g_free (*doctype);
+         *doctype = text;
+       } else
+         g_free (text);
+       break;
       }
 
-      case GST_EBML_ID_DOCTYPEREADVERSION: {
-        guint64 num;
+      case GST_EBML_ID_DOCTYPEREADVERSION:{
+       guint64 num;
 
-        if (!gst_ebml_read_uint (ebml, &id, &num))
-          return FALSE;
-        g_assert (id == GST_EBML_ID_DOCTYPEREADVERSION); 
-        if (version)
-          *version = num;
-        break;
+       if (!gst_ebml_read_uint (ebml, &id, &num))
+         return FALSE;
+       g_assert (id == GST_EBML_ID_DOCTYPEREADVERSION);
+       if (version)
+         *version = num;
+       break;
       }
 
       default:
-        GST_WARNING ("Unknown data type 0x%x in EBML header (ignored)", id);
-        /* pass-through */
+       GST_WARNING ("Unknown data type 0x%x in EBML header (ignored)", id);
+       /* pass-through */
 
-      /* we ignore these two, as they don't tell us anything we care about */
+       /* we ignore these two, as they don't tell us anything we care about */
       case GST_EBML_ID_VOID:
       case GST_EBML_ID_EBMLVERSION:
       case GST_EBML_ID_DOCTYPEVERSION:
-        if (!gst_ebml_read_skip (ebml))
-          return FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         return FALSE;
+       break;
     }
   }
 
index d78d13c..c7a981d 100644 (file)
@@ -27,7 +27,6 @@
 #include <gst/bytestream/bytestream.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_EBML_READ \
   (gst_ebml_read_get_type ())
 #define GST_EBML_READ(obj) \
@@ -40,13 +39,13 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_EBML_READ))
 #define GST_EBML_READ_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_EBML_READ, GstEbmlReadClass))
-
-typedef struct _GstEbmlLevel {
-  guint64 start,
-         length;
+    typedef struct _GstEbmlLevel
+{
+  guint64 start, length;
 } GstEbmlLevel;
 
-typedef struct _GstEbmlRead {
+typedef struct _GstEbmlRead
+{
   GstElement parent;
 
   GstPad *sinkpad;
@@ -55,48 +54,29 @@ typedef struct _GstEbmlRead {
   GList *level;
 } GstEbmlRead;
 
-typedef struct _GstEbmlReadClass {
+typedef struct _GstEbmlReadClass
+{
   GstElementClass parent;
 } GstEbmlReadClass;
 
-GType    gst_ebml_read_get_type (void);
+GType gst_ebml_read_get_type (void);
 
-guint32  gst_ebml_peek_id       (GstEbmlRead *ebml,
-                                guint       *level_up);
-GstEvent *gst_ebml_read_seek    (GstEbmlRead *ebml,
-                                guint64      offset);
-gboolean gst_ebml_read_skip     (GstEbmlRead *ebml);
-gboolean gst_ebml_read_buffer   (GstEbmlRead *ebml,
-                                guint32     *id,
-                                GstBuffer  **buf);
-gboolean gst_ebml_read_uint     (GstEbmlRead *ebml,
-                                guint32     *id,
-                                guint64     *num);
-gboolean gst_ebml_read_sint     (GstEbmlRead *ebml,
-                                guint32     *id,
-                                gint64      *num);
-gboolean gst_ebml_read_float    (GstEbmlRead *ebml,
-                                guint32     *id,
-                                gdouble     *num);
-gboolean gst_ebml_read_ascii    (GstEbmlRead *ebml,
-                                guint32     *id,
-                                gchar      **str);
-gboolean gst_ebml_read_utf8     (GstEbmlRead *ebml,
-                                guint32     *id,
-                                gchar      **str);
-gboolean gst_ebml_read_date     (GstEbmlRead *ebml,
-                                guint32     *id,
-                                gint64      *date);
-gboolean gst_ebml_read_master   (GstEbmlRead *ebml,
-                                guint32     *id);
-gboolean gst_ebml_read_binary   (GstEbmlRead *ebml,
-                                guint32     *id,
-                                guint8     **binary,
-                                guint64     *length);
-gboolean gst_ebml_read_header   (GstEbmlRead *read,
-                                gchar      **doctype,
-                                guint       *version);
+guint32 gst_ebml_peek_id (GstEbmlRead * ebml, guint * level_up);
+GstEvent *gst_ebml_read_seek (GstEbmlRead * ebml, guint64 offset);
+gboolean gst_ebml_read_skip (GstEbmlRead * ebml);
+gboolean gst_ebml_read_buffer (GstEbmlRead * ebml,
+    guint32 * id, GstBuffer ** buf);
+gboolean gst_ebml_read_uint (GstEbmlRead * ebml, guint32 * id, guint64 * num);
+gboolean gst_ebml_read_sint (GstEbmlRead * ebml, guint32 * id, gint64 * num);
+gboolean gst_ebml_read_float (GstEbmlRead * ebml, guint32 * id, gdouble * num);
+gboolean gst_ebml_read_ascii (GstEbmlRead * ebml, guint32 * id, gchar ** str);
+gboolean gst_ebml_read_utf8 (GstEbmlRead * ebml, guint32 * id, gchar ** str);
+gboolean gst_ebml_read_date (GstEbmlRead * ebml, guint32 * id, gint64 * date);
+gboolean gst_ebml_read_master (GstEbmlRead * ebml, guint32 * id);
+gboolean gst_ebml_read_binary (GstEbmlRead * ebml,
+    guint32 * id, guint8 ** binary, guint64 * length);
+gboolean gst_ebml_read_header (GstEbmlRead * read,
+    gchar ** doctype, guint * version);
 
 G_END_DECLS
-
 #endif /* __GST_EBML_READ_H__ */
index b650486..d136a8d 100644 (file)
 #include "ebml-write.h"
 #include "ebml-ids.h"
 
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-static void gst_ebml_write_class_init   (GstEbmlWriteClass *klass);
-static void gst_ebml_write_init         (GstEbmlWrite      *ebml);
-static GstElementStateReturn
-           gst_ebml_write_change_state (GstElement        *element);
+static void gst_ebml_write_class_init (GstEbmlWriteClass * klass);
+static void gst_ebml_write_init (GstEbmlWrite * ebml);
+static GstElementStateReturn gst_ebml_write_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 
 GType
-gst_ebml_write_get_type (void) 
+gst_ebml_write_get_type (void)
 {
   static GType gst_ebml_write_type = 0;
 
   if (!gst_ebml_write_type) {
     static const GTypeInfo gst_ebml_write_info = {
-      sizeof (GstEbmlWriteClass),      
+      sizeof (GstEbmlWriteClass),
       NULL,
       NULL,
       (GClassInitFunc) gst_ebml_write_class_init,
@@ -60,14 +60,14 @@ gst_ebml_write_get_type (void)
 
     gst_ebml_write_type =
        g_type_register_static (GST_TYPE_ELEMENT, "GstEbmlWrite",
-                               &gst_ebml_write_info, 0);
+       &gst_ebml_write_info, 0);
   }
 
   return gst_ebml_write_type;
 }
 
 static void
-gst_ebml_write_class_init (GstEbmlWriteClass *klass) 
+gst_ebml_write_class_init (GstEbmlWriteClass * klass)
 {
   GstElementClass *gstelement_class = (GstElementClass *) klass;
 
@@ -77,7 +77,7 @@ gst_ebml_write_class_init (GstEbmlWriteClass *klass)
 }
 
 static void
-gst_ebml_write_init (GstEbmlWrite *ebml)
+gst_ebml_write_init (GstEbmlWrite * ebml)
 {
   ebml->srcpad = NULL;
   ebml->pos = 0;
@@ -86,7 +86,7 @@ gst_ebml_write_init (GstEbmlWrite *ebml)
 }
 
 static GstElementStateReturn
-gst_ebml_write_change_state (GstElement *element)
+gst_ebml_write_change_state (GstElement * element)
 {
   GstEbmlWrite *ebml = GST_EBML_WRITE (element);
 
@@ -115,8 +115,7 @@ gst_ebml_write_change_state (GstElement *element)
  */
 
 void
-gst_ebml_write_set_cache (GstEbmlWrite *ebml,
-                         guint         size)
+gst_ebml_write_set_cache (GstEbmlWrite * ebml, guint size)
 {
   /* This is currently broken. I don't know why yet. */
   return;
@@ -130,7 +129,7 @@ gst_ebml_write_set_cache (GstEbmlWrite *ebml,
 }
 
 void
-gst_ebml_write_flush_cache (GstEbmlWrite *ebml)
+gst_ebml_write_flush_cache (GstEbmlWrite * ebml)
 {
   if (!ebml->cache)
     return;
@@ -139,7 +138,7 @@ gst_ebml_write_flush_cache (GstEbmlWrite *ebml)
    * programmer didn't use the cache somewhere. That's fatal. */
   g_assert (ebml->handled == GST_BUFFER_SIZE (ebml->cache));
   g_assert (GST_BUFFER_SIZE (ebml->cache) +
-               GST_BUFFER_OFFSET (ebml->cache) == ebml->pos);
+      GST_BUFFER_OFFSET (ebml->cache) == ebml->pos);
 
   gst_pad_push (ebml->srcpad, GST_DATA (ebml->cache));
   ebml->cache = NULL;
@@ -152,8 +151,7 @@ gst_ebml_write_flush_cache (GstEbmlWrite *ebml)
  */
 
 static GstBuffer *
-gst_ebml_write_element_new (GstEbmlWrite *ebml,
-                           guint         size)
+gst_ebml_write_element_new (GstEbmlWrite * ebml, guint size)
 {
   /* Create new buffer of size + ID + length */
   GstBuffer *buf;
@@ -163,8 +161,7 @@ gst_ebml_write_element_new (GstEbmlWrite *ebml,
 
   /* prefer cache */
   if (ebml->cache) {
-    if (GST_BUFFER_MAXSIZE (ebml->cache) -
-               GST_BUFFER_SIZE (ebml->cache) < size) {
+    if (GST_BUFFER_MAXSIZE (ebml->cache) - GST_BUFFER_SIZE (ebml->cache) < size) {
       GST_LOG ("Cache available, but too small. Clearing...");
       gst_ebml_write_flush_cache (ebml);
     } else {
@@ -184,8 +181,7 @@ gst_ebml_write_element_new (GstEbmlWrite *ebml,
  */
 
 static void
-gst_ebml_write_element_id (GstBuffer *buf,
-                          guint32    id)
+gst_ebml_write_element_id (GstBuffer * buf, guint32 id)
 {
   guint8 *data = GST_BUFFER_DATA (buf) + GST_BUFFER_SIZE (buf);
   guint bytes = 4, mask = 0x10;
@@ -216,8 +212,7 @@ gst_ebml_write_element_id (GstBuffer *buf,
  */
 
 static void
-gst_ebml_write_element_size (GstBuffer    *buf,
-                            guint64       size)
+gst_ebml_write_element_size (GstBuffer * buf, guint64 size)
 {
   guint8 *data = GST_BUFFER_DATA (buf) + GST_BUFFER_SIZE (buf);
   guint bytes = 1, mask = 0x80;
@@ -252,9 +247,7 @@ gst_ebml_write_element_size (GstBuffer    *buf,
  */
 
 static void
-gst_ebml_write_element_data (GstBuffer    *buf,
-                            guint8       *write,
-                            guint64       length)
+gst_ebml_write_element_data (GstBuffer * buf, guint8 * write, guint64 length)
 {
   guint8 *data = GST_BUFFER_DATA (buf) + GST_BUFFER_SIZE (buf);
 
@@ -267,8 +260,7 @@ gst_ebml_write_element_data (GstBuffer    *buf,
  */
 
 static void
-gst_ebml_write_element_push (GstEbmlWrite *ebml,
-                            GstBuffer    *buf)
+gst_ebml_write_element_push (GstEbmlWrite * ebml, GstBuffer * buf)
 {
   guint data_size = GST_BUFFER_SIZE (buf) - ebml->handled;
 
@@ -291,8 +283,7 @@ gst_ebml_write_element_push (GstEbmlWrite *ebml,
  */
 
 void
-gst_ebml_write_seek (GstEbmlWrite *ebml,
-                    guint64       pos)
+gst_ebml_write_seek (GstEbmlWrite * ebml, guint64 pos)
 {
   GstEvent *seek;
 
@@ -301,12 +292,13 @@ gst_ebml_write_seek (GstEbmlWrite *ebml,
   if (ebml->cache) {
     /* within bounds? */
     if (pos >= GST_BUFFER_OFFSET (ebml->cache) &&
-        pos < GST_BUFFER_OFFSET (ebml->cache) + GST_BUFFER_MAXSIZE (ebml->cache)) {
+       pos <
+       GST_BUFFER_OFFSET (ebml->cache) + GST_BUFFER_MAXSIZE (ebml->cache)) {
       GST_BUFFER_SIZE (ebml->cache) = pos - GST_BUFFER_OFFSET (ebml->cache);
       if (ebml->pos > pos)
-        ebml->handled -= ebml->pos - pos;
+       ebml->handled -= ebml->pos - pos;
       else
-        ebml->handled += pos - ebml->pos;
+       ebml->handled += pos - ebml->pos;
       ebml->pos = pos;
     } else {
       GST_LOG ("Seek outside cache range. Clearing...");
@@ -314,9 +306,7 @@ gst_ebml_write_seek (GstEbmlWrite *ebml,
     }
   }
 
-  seek = gst_event_new_seek (GST_FORMAT_BYTES |
-                            GST_SEEK_METHOD_SET,
-                            pos);
+  seek = gst_event_new_seek (GST_FORMAT_BYTES | GST_SEEK_METHOD_SET, pos);
   gst_pad_push (ebml->srcpad, GST_DATA (seek));
   ebml->pos = pos;
 }
@@ -344,9 +334,7 @@ gst_ebml_write_get_uint_size (guint64 num)
  */
 
 static void
-gst_ebml_write_set_uint (GstBuffer *buf,
-                        guint64    num,
-                        guint      size)
+gst_ebml_write_set_uint (GstBuffer * buf, guint64 num, guint size)
 {
   guint8 *data;
 
@@ -363,9 +351,7 @@ gst_ebml_write_set_uint (GstBuffer *buf,
  */
 
 void
-gst_ebml_write_uint (GstEbmlWrite *ebml,
-                    guint32       id,
-                    guint64       num)
+gst_ebml_write_uint (GstEbmlWrite * ebml, guint32 id, guint64 num)
 {
   GstBuffer *buf = gst_ebml_write_element_new (ebml, sizeof (num));
   guint size = gst_ebml_write_get_uint_size (num);
@@ -378,11 +364,10 @@ gst_ebml_write_uint (GstEbmlWrite *ebml,
 }
 
 void
-gst_ebml_write_sint (GstEbmlWrite *ebml,
-                    guint32       id,
-                    gint64        num)
+gst_ebml_write_sint (GstEbmlWrite * ebml, guint32 id, gint64 num)
 {
   GstBuffer *buf = gst_ebml_write_element_new (ebml, sizeof (num));
+
   /* if the signed number is on the edge of a extra-byte,
    * then we'll fall over when detecting it. Example: if I
    * have a number (-)0x8000 (G_MINSHORT), then my abs()<<1
@@ -407,9 +392,7 @@ gst_ebml_write_sint (GstEbmlWrite *ebml,
 }
 
 void
-gst_ebml_write_float (GstEbmlWrite *ebml,
-                     guint32       id,
-                     gdouble       num)
+gst_ebml_write_float (GstEbmlWrite * ebml, guint32 id, gdouble num)
 {
 #if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
   gint n;
@@ -420,20 +403,18 @@ gst_ebml_write_float (GstEbmlWrite *ebml,
   gst_ebml_write_element_size (buf, 8);
 #if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
   for (n = 0; n < 8; n++)
-    GST_BUFFER_DATA (buf)[GST_BUFFER_SIZE (buf)] = ((guint8 *) &num)[7-n];
+    GST_BUFFER_DATA (buf)[GST_BUFFER_SIZE (buf)] = ((guint8 *) & num)[7 - n];
   GST_BUFFER_SIZE (buf) += 8;
 #else
-  gst_ebml_write_element_data (buf, (guint8 *) &num, 8);
+  gst_ebml_write_element_data (buf, (guint8 *) & num, 8);
 #endif
   gst_ebml_write_element_push (ebml, buf);
 }
 
 void
-gst_ebml_write_ascii (GstEbmlWrite *ebml,
-                     guint32       id,
-                     const gchar  *str)
+gst_ebml_write_ascii (GstEbmlWrite * ebml, guint32 id, const gchar * str)
 {
-  gint len = strlen (str) + 1; /* add trailing '\0' */
+  gint len = strlen (str) + 1; /* add trailing '\0' */
   GstBuffer *buf = gst_ebml_write_element_new (ebml, len);
 
   gst_ebml_write_element_id (buf, id);
@@ -443,17 +424,13 @@ gst_ebml_write_ascii (GstEbmlWrite *ebml,
 }
 
 void
-gst_ebml_write_utf8 (GstEbmlWrite *ebml,
-                    guint32       id,
-                    const gchar  *str)
+gst_ebml_write_utf8 (GstEbmlWrite * ebml, guint32 id, const gchar * str)
 {
   gst_ebml_write_ascii (ebml, id, str);
 }
 
 void
-gst_ebml_write_date (GstEbmlWrite *ebml,
-                    guint32       id,
-                    gint64        date)
+gst_ebml_write_date (GstEbmlWrite * ebml, guint32 id, gint64 date)
 {
   gst_ebml_write_sint (ebml, id, date);
 }
@@ -465,8 +442,7 @@ gst_ebml_write_date (GstEbmlWrite *ebml,
  */
 
 guint64
-gst_ebml_write_master_start (GstEbmlWrite *ebml,
-                            guint32       id)
+gst_ebml_write_master_start (GstEbmlWrite * ebml, guint32 id)
 {
   guint64 pos = ebml->pos, t;
   GstBuffer *buf = gst_ebml_write_element_new (ebml, 0);
@@ -481,8 +457,7 @@ gst_ebml_write_master_start (GstEbmlWrite *ebml,
 }
 
 void
-gst_ebml_write_master_finish (GstEbmlWrite *ebml,
-                             guint64       startpos)
+gst_ebml_write_master_finish (GstEbmlWrite * ebml, guint64 startpos)
 {
   guint64 pos = ebml->pos;
   GstBuffer *buf;
@@ -491,17 +466,15 @@ gst_ebml_write_master_finish (GstEbmlWrite *ebml,
   buf = gst_ebml_write_element_new (ebml, 0);
   startpos = GUINT64_TO_BE ((1LLU << 56) | (pos - startpos - 8));
   memcpy (GST_BUFFER_DATA (buf) + GST_BUFFER_SIZE (buf),
-         (guint8 *) &startpos, 8);
+      (guint8 *) & startpos, 8);
   GST_BUFFER_SIZE (buf) += 8;
   gst_ebml_write_element_push (ebml, buf);
   gst_ebml_write_seek (ebml, pos);
 }
 
 void
-gst_ebml_write_binary (GstEbmlWrite *ebml,
-                      guint32       id,
-                      guint8       *binary,
-                      guint64       length)
+gst_ebml_write_binary (GstEbmlWrite * ebml,
+    guint32 id, guint8 * binary, guint64 length)
 {
   GstBuffer *buf = gst_ebml_write_element_new (ebml, length);
 
@@ -519,9 +492,7 @@ gst_ebml_write_binary (GstEbmlWrite *ebml,
  */
 
 void
-gst_ebml_write_buffer_header (GstEbmlWrite *ebml,
-                             guint32       id,
-                             guint64       length)
+gst_ebml_write_buffer_header (GstEbmlWrite * ebml, guint32 id, guint64 length)
 {
   GstBuffer *buf = gst_ebml_write_element_new (ebml, 0);
 
@@ -531,8 +502,7 @@ gst_ebml_write_buffer_header (GstEbmlWrite *ebml,
 }
 
 void
-gst_ebml_write_buffer (GstEbmlWrite *ebml,
-                      GstBuffer    *data)
+gst_ebml_write_buffer (GstEbmlWrite * ebml, GstBuffer * data)
 {
   gst_ebml_write_element_push (ebml, data);
 }
@@ -547,9 +517,7 @@ gst_ebml_write_buffer (GstEbmlWrite *ebml,
  */
 
 void
-gst_ebml_replace_uint (GstEbmlWrite *ebml,
-                      guint64       pos,
-                      guint64       num)
+gst_ebml_replace_uint (GstEbmlWrite * ebml, guint64 pos, guint64 num)
 {
   guint64 oldpos = ebml->pos;
   GstBuffer *buf = gst_buffer_new_and_alloc (8);
@@ -566,9 +534,7 @@ gst_ebml_replace_uint (GstEbmlWrite *ebml,
  */
 
 void
-gst_ebml_write_header (GstEbmlWrite *ebml,
-                      gchar        *doctype,
-                      guint         version)
+gst_ebml_write_header (GstEbmlWrite * ebml, gchar * doctype, guint version)
 {
   guint64 pos;
 
index 43d2f8b..8974ecb 100644 (file)
@@ -26,7 +26,6 @@
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_EBML_WRITE \
   (gst_ebml_write_get_type ())
 #define GST_EBML_WRITE(obj) \
@@ -39,8 +38,8 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_EBML_WRITE))
 #define GST_EBML_WRITE_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_EBML_WRITE, GstEbmlWriteClass))
-
-typedef struct _GstEbmlWrite {
+    typedef struct _GstEbmlWrite
+{
   GstElement parent;
 
   GstPad *srcpad;
@@ -50,77 +49,54 @@ typedef struct _GstEbmlWrite {
   guint handled;
 } GstEbmlWrite;
 
-typedef struct _GstEbmlWriteClass {
+typedef struct _GstEbmlWriteClass
+{
   GstElementClass parent;
 } GstEbmlWriteClass;
 
-GType   gst_ebml_write_get_type      (void);
+GType gst_ebml_write_get_type (void);
 
 /*
  * Caching means that we do not push one buffer for
  * each element, but fill this one until a flush.
  */
-void    gst_ebml_write_set_cache     (GstEbmlWrite *ebml,
-                                     guint         size);
-void    gst_ebml_write_flush_cache   (GstEbmlWrite *ebml);
+void gst_ebml_write_set_cache (GstEbmlWrite * ebml, guint size);
+void gst_ebml_write_flush_cache (GstEbmlWrite * ebml);
 
 /*
  * Seeking.
  */
-void    gst_ebml_write_seek          (GstEbmlWrite *ebml,
-                                     guint64       pos);
+void gst_ebml_write_seek (GstEbmlWrite * ebml, guint64 pos);
 
 /*
  * Data writing. 
  */
-void    gst_ebml_write_uint          (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     guint64       num);
-void    gst_ebml_write_sint          (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     gint64        num);
-void    gst_ebml_write_float         (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     gdouble       num);
-void    gst_ebml_write_ascii         (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     const gchar  *str);
-void    gst_ebml_write_utf8          (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     const gchar  *str);
-void    gst_ebml_write_date          (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     gint64        date);
-guint64 gst_ebml_write_master_start  (GstEbmlWrite *ebml,
-                                     guint32       id);
-void    gst_ebml_write_master_finish (GstEbmlWrite *ebml,
-                                     guint64       startpos);
-void    gst_ebml_write_binary        (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     guchar       *binary,
-                                     guint64       length);
-void    gst_ebml_write_header        (GstEbmlWrite *ebml,
-                                     gchar        *doctype,
-                                     guint         version);
+void gst_ebml_write_uint (GstEbmlWrite * ebml, guint32 id, guint64 num);
+void gst_ebml_write_sint (GstEbmlWrite * ebml, guint32 id, gint64 num);
+void gst_ebml_write_float (GstEbmlWrite * ebml, guint32 id, gdouble num);
+void gst_ebml_write_ascii (GstEbmlWrite * ebml, guint32 id, const gchar * str);
+void gst_ebml_write_utf8 (GstEbmlWrite * ebml, guint32 id, const gchar * str);
+void gst_ebml_write_date (GstEbmlWrite * ebml, guint32 id, gint64 date);
+guint64 gst_ebml_write_master_start (GstEbmlWrite * ebml, guint32 id);
+void gst_ebml_write_master_finish (GstEbmlWrite * ebml, guint64 startpos);
+void gst_ebml_write_binary (GstEbmlWrite * ebml,
+    guint32 id, guchar * binary, guint64 length);
+void gst_ebml_write_header (GstEbmlWrite * ebml,
+    gchar * doctype, guint version);
 
 /*
  * Note: this is supposed to be used only for media data.
  */
-void    gst_ebml_write_buffer_header (GstEbmlWrite *ebml,
-                                     guint32       id,
-                                     guint64       length);
-void    gst_ebml_write_buffer        (GstEbmlWrite *ebml,
-                                     GstBuffer    *data);
+void gst_ebml_write_buffer_header (GstEbmlWrite * ebml,
+    guint32 id, guint64 length);
+void gst_ebml_write_buffer (GstEbmlWrite * ebml, GstBuffer * data);
 
 /*
  * A hack, basically... See matroska-mux.c. I should actually
  * make a nice _replace_element_with_size() or so, but this
  * works for now.
  */
-void    gst_ebml_replace_uint        (GstEbmlWrite *ebml,
-                                     guint64       pos,
-                                     guint64       num);
+void gst_ebml_replace_uint (GstEbmlWrite * ebml, guint64 pos, guint64 num);
 
 G_END_DECLS
-
 #endif /* __GST_EBML_WRITE_H__ */
index 6653796..383ec02 100644 (file)
 #include "matroska-demux.h"
 #include "matroska-ids.h"
 
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_METADATA,
   ARG_STREAMINFO,
   /* FILL ME */
 };
 
-static GstStaticPadTemplate sink_templ =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ( "video/x-matroska" )
-);
+static GstStaticPadTemplate sink_templ = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-matroska")
+    );
 
 /* gobject magic foo */
-static void     gst_matroska_demux_base_init         (GstMatroskaDemuxClass *klass);
-static void    gst_matroska_demux_class_init         (GstMatroskaDemuxClass *klass);
-static void    gst_matroska_demux_init               (GstMatroskaDemux *demux);
+static void gst_matroska_demux_base_init (GstMatroskaDemuxClass * klass);
+static void gst_matroska_demux_class_init (GstMatroskaDemuxClass * klass);
+static void gst_matroska_demux_init (GstMatroskaDemux * demux);
 
 /* element functions */
-static void    gst_matroska_demux_loop               (GstElement  *element);
-static gboolean        gst_matroska_demux_send_event         (GstElement  *element,
-                                                      GstEvent    *event);
+static void gst_matroska_demux_loop (GstElement * element);
+static gboolean gst_matroska_demux_send_event (GstElement * element,
+    GstEvent * event);
 
 /* pad functions */
-static const GstEventMask *
-               gst_matroska_demux_get_event_mask     (GstPad      *pad);
-static gboolean gst_matroska_demux_handle_src_event   (GstPad      *pad,
-                                                      GstEvent    *event);
-static const GstFormat *
-               gst_matroska_demux_get_src_formats    (GstPad      *pad); 
-static const GstQueryType*
-               gst_matroska_demux_get_src_query_types(GstPad      *pad);
-static gboolean gst_matroska_demux_handle_src_query   (GstPad      *pad,
-                                                      GstQueryType type, 
-                                                      GstFormat   *format,
-                                                      gint64      *value);
+static const GstEventMask *gst_matroska_demux_get_event_mask (GstPad * pad);
+static gboolean gst_matroska_demux_handle_src_event (GstPad * pad,
+    GstEvent * event);
+static const GstFormat *gst_matroska_demux_get_src_formats (GstPad * pad);
+static const GstQueryType *gst_matroska_demux_get_src_query_types (GstPad *
+    pad);
+static gboolean gst_matroska_demux_handle_src_query (GstPad * pad,
+    GstQueryType type, GstFormat * format, gint64 * value);
 
 /* gst internal change state handler */
 static GstElementStateReturn
-               gst_matroska_demux_change_state       (GstElement  *element);
-static void    gst_matroska_demux_set_clock          (GstElement  *element,
-                                                      GstClock    *clock);
+gst_matroska_demux_change_state (GstElement * element);
+static void gst_matroska_demux_set_clock (GstElement * element,
+    GstClock * clock);
 
 /* gobject bla bla */
-static void     gst_matroska_demux_get_property       (GObject     *object,
-                                                      guint        prop_id,    
-                                                      GValue      *value,
-                                                      GParamSpec  *pspec);
+static void gst_matroska_demux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
 
 /* caps functions */
-static GstCaps *gst_matroska_demux_video_caps         (GstMatroskaTrackVideoContext
-                                                                  *videocontext,
-                                                      const gchar *codec_id,
-                                                      gpointer     data,
-                                                      guint        size,
-                                                      GstMatroskaDemux *demux);
-static GstCaps *gst_matroska_demux_audio_caps         (GstMatroskaTrackAudioContext
-                                                                  *audiocontext,
-                                                      const gchar *codec_id,
-                                                      gpointer     data,
-                                                      guint        size,
-                                                      GstMatroskaDemux *demux);
-static GstCaps *gst_matroska_demux_complex_caps       (GstMatroskaTrackComplexContext
-                                                                  *complexcontext,
-                                                      const gchar *codec_id,
-                                                      gpointer     data,
-                                                      guint        size);
-static GstCaps *gst_matroska_demux_subtitle_caps      (GstMatroskaTrackSubtitleContext
-                                                                  *subtitlecontext,
-                                                      const gchar *codec_id,
-                                                      gpointer     data,
-                                                      guint        size);
+static GstCaps *gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext
+    * videocontext,
+    const gchar * codec_id,
+    gpointer data, guint size, GstMatroskaDemux * demux);
+static GstCaps *gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext
+    * audiocontext,
+    const gchar * codec_id,
+    gpointer data, guint size, GstMatroskaDemux * demux);
+static GstCaps *gst_matroska_demux_complex_caps (GstMatroskaTrackComplexContext
+    * complexcontext, const gchar * codec_id, gpointer data, guint size);
+static GstCaps
+    * gst_matroska_demux_subtitle_caps (GstMatroskaTrackSubtitleContext *
+    subtitlecontext, const gchar * codec_id, gpointer data, guint size);
 
 /* stream methods */
-static void     gst_matroska_demux_reset             (GstElement  *element);
+static void gst_matroska_demux_reset (GstElement * element);
 
 static GstEbmlReadClass *parent_class = NULL;
 static GstPadTemplate *videosrctempl, *audiosrctempl, *subtitlesrctempl;
+
 /*static guint gst_matroska_demux_signals[LAST_SIGNAL] = { 0 };*/
 
 GType
-gst_matroska_demux_get_type (void) 
+gst_matroska_demux_get_type (void)
 {
   static GType gst_matroska_demux_type = 0;
 
   if (!gst_matroska_demux_type) {
     static const GTypeInfo gst_matroska_demux_info = {
-      sizeof (GstMatroskaDemuxClass),      
+      sizeof (GstMatroskaDemuxClass),
       (GBaseInitFunc) gst_matroska_demux_base_init,
       NULL,
       (GClassInitFunc) gst_matroska_demux_class_init,
@@ -140,15 +126,14 @@ gst_matroska_demux_get_type (void)
 
     gst_matroska_demux_type =
        g_type_register_static (GST_TYPE_EBML_READ,
-                               "GstMatroskaDemux",
-                               &gst_matroska_demux_info, 0);
+       "GstMatroskaDemux", &gst_matroska_demux_info, 0);
   }
 
   return gst_matroska_demux_type;
 }
 
 static void
-gst_matroska_demux_base_init (GstMatroskaDemuxClass *klass)
+gst_matroska_demux_base_init (GstMatroskaDemuxClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   static GstElementDetails gst_matroska_demux_details = {
@@ -162,13 +147,12 @@ gst_matroska_demux_base_init (GstMatroskaDemuxClass *klass)
   gst_element_class_add_pad_template (element_class, audiosrctempl);
   gst_element_class_add_pad_template (element_class, subtitlesrctempl);
   gst_element_class_add_pad_template (element_class,
-               gst_static_pad_template_get (&sink_templ));
-  gst_element_class_set_details (element_class,
-               &gst_matroska_demux_details);
+      gst_static_pad_template_get (&sink_templ));
+  gst_element_class_set_details (element_class, &gst_matroska_demux_details);
 }
 
 static void
-gst_matroska_demux_class_init (GstMatroskaDemuxClass *klass) 
+gst_matroska_demux_class_init (GstMatroskaDemuxClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -177,11 +161,11 @@ gst_matroska_demux_class_init (GstMatroskaDemuxClass *klass)
   gstelement_class = (GstElementClass *) klass;
 
   g_object_class_install_property (gobject_class, ARG_METADATA,
-    g_param_spec_boxed ("metadata", "Metadata", "Metadata",
-                        GST_TYPE_STRUCTURE, G_PARAM_READABLE));
+      g_param_spec_boxed ("metadata", "Metadata", "Metadata",
+         GST_TYPE_STRUCTURE, G_PARAM_READABLE));
   g_object_class_install_property (gobject_class, ARG_STREAMINFO,
-    g_param_spec_boxed ("streaminfo", "Streaminfo", "Streaminfo",
-                        GST_TYPE_STRUCTURE, G_PARAM_READABLE));
+      g_param_spec_boxed ("streaminfo", "Streaminfo", "Streaminfo",
+         GST_TYPE_STRUCTURE, G_PARAM_READABLE));
 
   parent_class = g_type_class_ref (GST_TYPE_EBML_READ);
 
@@ -192,21 +176,21 @@ gst_matroska_demux_class_init (GstMatroskaDemuxClass *klass)
   gstelement_class->set_clock = gst_matroska_demux_set_clock;
 }
 
-static void 
-gst_matroska_demux_init (GstMatroskaDemux *demux) 
+static void
+gst_matroska_demux_init (GstMatroskaDemux * demux)
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (demux);
   gint i;
 
   GST_FLAG_SET (GST_OBJECT (demux), GST_ELEMENT_EVENT_AWARE);
 
-  demux->sinkpad = gst_pad_new_from_template (
-       gst_element_class_get_pad_template (klass, "sink"), "sink");
+  demux->sinkpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template (klass,
+         "sink"), "sink");
   gst_element_add_pad (GST_ELEMENT (demux), demux->sinkpad);
   GST_EBML_READ (demux)->sinkpad = demux->sinkpad;
 
-  gst_element_set_loop_function (GST_ELEMENT (demux),
-                                gst_matroska_demux_loop);
+  gst_element_set_loop_function (GST_ELEMENT (demux), gst_matroska_demux_loop);
 
   /* initial stream no. */
   for (i = 0; i < GST_MATROSKA_DEMUX_MAX_STREAMS; i++) {
@@ -221,7 +205,7 @@ gst_matroska_demux_init (GstMatroskaDemux *demux)
 }
 
 static void
-gst_matroska_demux_reset (GstElement *element)
+gst_matroska_demux_reset (GstElement * element)
 {
   GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (element);
   guint i;
@@ -233,7 +217,7 @@ gst_matroska_demux_reset (GstElement *element)
   for (i = 0; i < GST_MATROSKA_DEMUX_MAX_STREAMS; i++) {
     if (demux->src[i] != NULL) {
       if (demux->src[i]->pad != NULL) {
-        gst_element_remove_pad (GST_ELEMENT (demux), demux->src[i]->pad);
+       gst_element_remove_pad (GST_ELEMENT (demux), demux->src[i]->pad);
       }
       g_free (demux->src[i]->codec_id);
       g_free (demux->src[i]->codec_name);
@@ -277,39 +261,35 @@ gst_matroska_demux_reset (GstElement *element)
 }
 
 static void
-gst_matroska_demux_set_clock (GstElement  *element,
-                             GstClock    *clock)
+gst_matroska_demux_set_clock (GstElement * element, GstClock * clock)
 {
   GST_MATROSKA_DEMUX (element)->clock = clock;
 }
 
 static gint
-gst_matroska_demux_stream_from_num (GstMatroskaDemux *demux,
-                                   guint             track_num)
+gst_matroska_demux_stream_from_num (GstMatroskaDemux * demux, guint track_num)
 {
   guint n;
 
   for (n = 0; n < demux->num_streams; n++) {
-    if (demux->src[n] != NULL &&
-        demux->src[n]->num == track_num) {
+    if (demux->src[n] != NULL && demux->src[n]->num == track_num) {
       return n;
     }
   }
 
   if (n == demux->num_streams) {
-    GST_WARNING ("Failed to find corresponding pad for tracknum %d",
-                track_num); 
+    GST_WARNING ("Failed to find corresponding pad for tracknum %d", track_num);
   }
 
   return -1;
 }
 
 static GstCaps *
-gst_matroska_demux_src_getcaps (GstPad *pad)
+gst_matroska_demux_src_getcaps (GstPad * pad)
 {
   GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (gst_pad_get_parent (pad));
   guint n;
-                                                                                
+
   for (n = 0; n < demux->num_streams; n++) {
     if (demux->src[n] != NULL && demux->src[n]->pad == pad) {
       break;
@@ -317,13 +297,13 @@ gst_matroska_demux_src_getcaps (GstPad *pad)
   }
 
   if (n == demux->num_streams)
-    return gst_caps_new_empty();
+    return gst_caps_new_empty ();
 
   return gst_caps_copy (demux->src[n]->caps);
 }
 
 static gboolean
-gst_matroska_demux_add_stream (GstMatroskaDemux *demux)
+gst_matroska_demux_add_stream (GstMatroskaDemux * demux)
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (demux);
   GstEbmlRead *ebml = GST_EBML_READ (demux);
@@ -336,8 +316,8 @@ gst_matroska_demux_add_stream (GstMatroskaDemux *demux)
 
   if (demux->num_streams >= GST_MATROSKA_DEMUX_MAX_STREAMS) {
     GST_WARNING ("Maximum number of streams (%d) exceeded, skipping",
-                GST_MATROSKA_DEMUX_MAX_STREAMS);
-    return gst_ebml_read_skip (ebml); /* skip-and-continue */
+       GST_MATROSKA_DEMUX_MAX_STREAMS);
+    return gst_ebml_read_skip (ebml);  /* skip-and-continue */
   }
 
   /* allocate generic... if we know the type, we'll g_renew()
@@ -345,7 +325,7 @@ gst_matroska_demux_add_stream (GstMatroskaDemux *demux)
   context = g_new0 (GstMatroskaTrackContext, 1);
   demux->src[demux->num_streams] = context;
   context->index = demux->num_streams;
-  context->type = 0; /* no type yet */
+  context->type = 0;           /* no type yet */
   demux->num_streams++;
 
   /* start with the master */
@@ -363,445 +343,474 @@ gst_matroska_demux_add_stream (GstMatroskaDemux *demux)
     }
 
     switch (id) {
-      /* track number (unique stream ID) */
-      case GST_MATROSKA_ID_TRACKNUMBER: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        context->num = num;
-        break;
+       /* track number (unique stream ID) */
+      case GST_MATROSKA_ID_TRACKNUMBER:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       context->num = num;
+       break;
       }
 
-      /* track UID (unique identifier) */
-      case GST_MATROSKA_ID_TRACKUID: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        context->uid = num;
-        break;
+       /* track UID (unique identifier) */
+      case GST_MATROSKA_ID_TRACKUID:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       context->uid = num;
+       break;
       }
 
-      /* track type (video, audio, combined, subtitle, etc.) */
-      case GST_MATROSKA_ID_TRACKTYPE: {
-        guint64 num;
-        if (context->type != 0) {
-          GST_WARNING ("More than one tracktype defined in a trackentry - skipping");
-          break;
-        }
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        context->type = num;
-
-        /* ok, so we're actually going to reallocate this thing */
-        switch (context->type) {
-          case GST_MATROSKA_TRACK_TYPE_VIDEO:
-            context = (GstMatroskaTrackContext *)
-                       g_renew (GstMatroskaTrackVideoContext, context, 1);
-            break;
-          case GST_MATROSKA_TRACK_TYPE_AUDIO:
-            context = (GstMatroskaTrackContext *)
-                       g_renew (GstMatroskaTrackAudioContext, context, 1);
-            /* defaults */
-            ((GstMatroskaTrackAudioContext *) context)->channels = 1;
-            ((GstMatroskaTrackAudioContext *) context)->samplerate = 8000;
-            break;
-          case GST_MATROSKA_TRACK_TYPE_COMPLEX:
-            context = (GstMatroskaTrackContext *)
-                       g_renew (GstMatroskaTrackComplexContext, context, 1);
-            break;
-          case GST_MATROSKA_TRACK_TYPE_SUBTITLE:
-            context = (GstMatroskaTrackContext *)
-                       g_renew (GstMatroskaTrackSubtitleContext, context, 1);
-            break;
-          case GST_MATROSKA_TRACK_TYPE_LOGO:
-          case GST_MATROSKA_TRACK_TYPE_CONTROL:
-          default:
-            GST_WARNING ("Unknown or unsupported track type 0x%x",
-                        context->type);
-            context->type = 0;
-            break;
-        }
-        demux->src[demux->num_streams-1] = context;
-        break;
+       /* track type (video, audio, combined, subtitle, etc.) */
+      case GST_MATROSKA_ID_TRACKTYPE:{
+       guint64 num;
+
+       if (context->type != 0) {
+         GST_WARNING
+             ("More than one tracktype defined in a trackentry - skipping");
+         break;
+       }
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       context->type = num;
+
+       /* ok, so we're actually going to reallocate this thing */
+       switch (context->type) {
+         case GST_MATROSKA_TRACK_TYPE_VIDEO:
+           context = (GstMatroskaTrackContext *)
+               g_renew (GstMatroskaTrackVideoContext, context, 1);
+           break;
+         case GST_MATROSKA_TRACK_TYPE_AUDIO:
+           context = (GstMatroskaTrackContext *)
+               g_renew (GstMatroskaTrackAudioContext, context, 1);
+           /* defaults */
+           ((GstMatroskaTrackAudioContext *) context)->channels = 1;
+           ((GstMatroskaTrackAudioContext *) context)->samplerate = 8000;
+           break;
+         case GST_MATROSKA_TRACK_TYPE_COMPLEX:
+           context = (GstMatroskaTrackContext *)
+               g_renew (GstMatroskaTrackComplexContext, context, 1);
+           break;
+         case GST_MATROSKA_TRACK_TYPE_SUBTITLE:
+           context = (GstMatroskaTrackContext *)
+               g_renew (GstMatroskaTrackSubtitleContext, context, 1);
+           break;
+         case GST_MATROSKA_TRACK_TYPE_LOGO:
+         case GST_MATROSKA_TRACK_TYPE_CONTROL:
+         default:
+           GST_WARNING ("Unknown or unsupported track type 0x%x",
+               context->type);
+           context->type = 0;
+           break;
+       }
+       demux->src[demux->num_streams - 1] = context;
+       break;
       }
 
-      /* tracktype specific stuff for video */
-      case GST_MATROSKA_ID_TRACKVIDEO: {
-        GstMatroskaTrackVideoContext *videocontext;
-        if (context->type != GST_MATROSKA_TRACK_TYPE_VIDEO) {
-          GST_WARNING ("trackvideo EBML entry in non-video track - ignoring track");
-          res = FALSE;
-          break;
-        } else if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-        videocontext = (GstMatroskaTrackVideoContext *) context;
-
-        while (res) {
-          if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
-            res = FALSE;
-            break;
-          } else if (demux->level_up > 0) {
-            demux->level_up--;
-            break;
-          }
-
-          switch (id) {
-            /* fixme, this should be one-up, but I get it here (?) */
-            case GST_MATROSKA_ID_TRACKDEFAULTDURATION: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              context->default_duration = num;
-              break;
-            }
-
-            /* video framerate */
-            case GST_MATROSKA_ID_VIDEOFRAMERATE: {
-              gdouble num;
-              if (!gst_ebml_read_float (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              context->default_duration = GST_SECOND * (1. / num);
-              break;
-            }
-
-            /* width of the size to display the video at */
-            case GST_MATROSKA_ID_VIDEODISPLAYWIDTH: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              videocontext->display_width = num;
-              break;
-            }
-
-            /* height of the size to display the video at */
-            case GST_MATROSKA_ID_VIDEODISPLAYHEIGHT: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              videocontext->display_height = num;
-              break;
-            }
-
-            /* width of the video in the file */
-            case GST_MATROSKA_ID_VIDEOPIXELWIDTH: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              videocontext->pixel_width = num;
-              break;
-            }
-
-            /* height of the video in the file */
-            case GST_MATROSKA_ID_VIDEOPIXELHEIGHT: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              videocontext->pixel_height = num;
-              break;
-            }
-
-            /* whether the video is interlaced */
-            case GST_MATROSKA_ID_VIDEOFLAGINTERLACED: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              if (num)
-                context->flags |= GST_MATROSKA_VIDEOTRACK_INTERLACED;
-              else
-                context->flags &= ~GST_MATROSKA_VIDEOTRACK_INTERLACED;
-              break;
-            }
-
-             /* stereo mode (whether the video has two streams, where
-              * one is for the left eye and the other for the right eye,
-              * which creates a 3D-like effect) */
-            case GST_MATROSKA_ID_VIDEOSTEREOMODE: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              if (num != GST_MATROSKA_EYE_MODE_MONO &&
-                  num != GST_MATROSKA_EYE_MODE_LEFT &&
-                  num != GST_MATROSKA_EYE_MODE_RIGHT &&
-                  num != GST_MATROSKA_EYE_MODE_BOTH) {
-                GST_WARNING ("Unknown eye mode 0x%x - ignoring",
-                            (guint) num);
-                break;
-              }
-              videocontext->eye_mode = num;
-              break;
-            }
-
-            /* aspect ratio behaviour */
-            case GST_MATROSKA_ID_VIDEOASPECTRATIO: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              if (num != GST_MATROSKA_ASPECT_RATIO_MODE_FREE &&
-                  num != GST_MATROSKA_ASPECT_RATIO_MODE_KEEP &&
-                  num != GST_MATROSKA_ASPECT_RATIO_MODE_FIXED) {
-                GST_WARNING ("Unknown aspect ratio mode 0x%x - ignoring",
-                            (guint) num);
-                break;
-              }
-              videocontext->asr_mode = num;
-              break;
-            }
-
-            /* colourspace (only matters for raw video) fourcc */
-            case GST_MATROSKA_ID_VIDEOCOLOURSPACE: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              videocontext->fourcc = num;
-              break;
-            }
-
-            default:
-              GST_WARNING ("Unknown video track header entry 0x%x - ignoring",
-                          id);
-              /* pass-through */
-
-            case GST_EBML_ID_VOID:
-              if (!gst_ebml_read_skip (ebml))
-                res = FALSE;
-              break;
-          }
-
-          if (demux->level_up) {
-            demux->level_up--;
-            break;
-          }
-        }
-        break;
+       /* tracktype specific stuff for video */
+      case GST_MATROSKA_ID_TRACKVIDEO:{
+       GstMatroskaTrackVideoContext *videocontext;
+
+       if (context->type != GST_MATROSKA_TRACK_TYPE_VIDEO) {
+         GST_WARNING
+             ("trackvideo EBML entry in non-video track - ignoring track");
+         res = FALSE;
+         break;
+       } else if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+       videocontext = (GstMatroskaTrackVideoContext *) context;
+
+       while (res) {
+         if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
+           res = FALSE;
+           break;
+         } else if (demux->level_up > 0) {
+           demux->level_up--;
+           break;
+         }
+
+         switch (id) {
+             /* fixme, this should be one-up, but I get it here (?) */
+           case GST_MATROSKA_ID_TRACKDEFAULTDURATION:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             context->default_duration = num;
+             break;
+           }
+
+             /* video framerate */
+           case GST_MATROSKA_ID_VIDEOFRAMERATE:{
+             gdouble num;
+
+             if (!gst_ebml_read_float (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             context->default_duration = GST_SECOND * (1. / num);
+             break;
+           }
+
+             /* width of the size to display the video at */
+           case GST_MATROSKA_ID_VIDEODISPLAYWIDTH:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             videocontext->display_width = num;
+             break;
+           }
+
+             /* height of the size to display the video at */
+           case GST_MATROSKA_ID_VIDEODISPLAYHEIGHT:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             videocontext->display_height = num;
+             break;
+           }
+
+             /* width of the video in the file */
+           case GST_MATROSKA_ID_VIDEOPIXELWIDTH:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             videocontext->pixel_width = num;
+             break;
+           }
+
+             /* height of the video in the file */
+           case GST_MATROSKA_ID_VIDEOPIXELHEIGHT:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             videocontext->pixel_height = num;
+             break;
+           }
+
+             /* whether the video is interlaced */
+           case GST_MATROSKA_ID_VIDEOFLAGINTERLACED:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             if (num)
+               context->flags |= GST_MATROSKA_VIDEOTRACK_INTERLACED;
+             else
+               context->flags &= ~GST_MATROSKA_VIDEOTRACK_INTERLACED;
+             break;
+           }
+
+             /* stereo mode (whether the video has two streams, where
+              * one is for the left eye and the other for the right eye,
+              * which creates a 3D-like effect) */
+           case GST_MATROSKA_ID_VIDEOSTEREOMODE:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             if (num != GST_MATROSKA_EYE_MODE_MONO &&
+                 num != GST_MATROSKA_EYE_MODE_LEFT &&
+                 num != GST_MATROSKA_EYE_MODE_RIGHT &&
+                 num != GST_MATROSKA_EYE_MODE_BOTH) {
+               GST_WARNING ("Unknown eye mode 0x%x - ignoring", (guint) num);
+               break;
+             }
+             videocontext->eye_mode = num;
+             break;
+           }
+
+             /* aspect ratio behaviour */
+           case GST_MATROSKA_ID_VIDEOASPECTRATIO:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             if (num != GST_MATROSKA_ASPECT_RATIO_MODE_FREE &&
+                 num != GST_MATROSKA_ASPECT_RATIO_MODE_KEEP &&
+                 num != GST_MATROSKA_ASPECT_RATIO_MODE_FIXED) {
+               GST_WARNING ("Unknown aspect ratio mode 0x%x - ignoring",
+                   (guint) num);
+               break;
+             }
+             videocontext->asr_mode = num;
+             break;
+           }
+
+             /* colourspace (only matters for raw video) fourcc */
+           case GST_MATROSKA_ID_VIDEOCOLOURSPACE:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             videocontext->fourcc = num;
+             break;
+           }
+
+           default:
+             GST_WARNING ("Unknown video track header entry 0x%x - ignoring",
+                 id);
+             /* pass-through */
+
+           case GST_EBML_ID_VOID:
+             if (!gst_ebml_read_skip (ebml))
+               res = FALSE;
+             break;
+         }
+
+         if (demux->level_up) {
+           demux->level_up--;
+           break;
+         }
+       }
+       break;
       }
 
-      /* tracktype specific stuff for audio */
-      case GST_MATROSKA_ID_TRACKAUDIO: {
-        GstMatroskaTrackAudioContext *audiocontext;
-        if (context->type != GST_MATROSKA_TRACK_TYPE_AUDIO) {
-          GST_WARNING ("trackaudio EBML entry in non-audio track - ignoring track");
-          res = FALSE;
-          break;
-        } else if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-        audiocontext = (GstMatroskaTrackAudioContext *) context;
-
-        while (res) {
-          if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
-            res = FALSE;
-            break;
-          } else if (demux->level_up > 0) {
-            demux->level_up--;
-            break;
-          }
-
-          switch (id) {
-            /* samplerate */
-            case GST_MATROSKA_ID_AUDIOSAMPLINGFREQ: {
-              gdouble num;
-              if (!gst_ebml_read_float (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              audiocontext->samplerate = num;
-              break;
-            }
-
-            /* bitdepth */
-            case GST_MATROSKA_ID_AUDIOBITDEPTH: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              audiocontext->bitdepth = num;
-              break;
-            }
-
-            /* channels */
-            case GST_MATROSKA_ID_AUDIOCHANNELS: {
-              guint64 num;
-              if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                res = FALSE;
-                break;
-              }
-              audiocontext->channels = num;
-              break;
-            }
-
-            default:
-              GST_WARNING ("Unknown audio track header entry 0x%x - ignoring",
-                          id);
-              /* pass-through */
-
-            case GST_EBML_ID_VOID:
-              if (!gst_ebml_read_skip (ebml))
-                res = FALSE;
-              break;
-          }
-
-          if (demux->level_up) {
-            demux->level_up--;
-            break;
-          }
-        }
-        break;
+       /* tracktype specific stuff for audio */
+      case GST_MATROSKA_ID_TRACKAUDIO:{
+       GstMatroskaTrackAudioContext *audiocontext;
+
+       if (context->type != GST_MATROSKA_TRACK_TYPE_AUDIO) {
+         GST_WARNING
+             ("trackaudio EBML entry in non-audio track - ignoring track");
+         res = FALSE;
+         break;
+       } else if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+       audiocontext = (GstMatroskaTrackAudioContext *) context;
+
+       while (res) {
+         if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
+           res = FALSE;
+           break;
+         } else if (demux->level_up > 0) {
+           demux->level_up--;
+           break;
+         }
+
+         switch (id) {
+             /* samplerate */
+           case GST_MATROSKA_ID_AUDIOSAMPLINGFREQ:{
+             gdouble num;
+
+             if (!gst_ebml_read_float (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             audiocontext->samplerate = num;
+             break;
+           }
+
+             /* bitdepth */
+           case GST_MATROSKA_ID_AUDIOBITDEPTH:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             audiocontext->bitdepth = num;
+             break;
+           }
+
+             /* channels */
+           case GST_MATROSKA_ID_AUDIOCHANNELS:{
+             guint64 num;
+
+             if (!gst_ebml_read_uint (ebml, &id, &num)) {
+               res = FALSE;
+               break;
+             }
+             audiocontext->channels = num;
+             break;
+           }
+
+           default:
+             GST_WARNING ("Unknown audio track header entry 0x%x - ignoring",
+                 id);
+             /* pass-through */
+
+           case GST_EBML_ID_VOID:
+             if (!gst_ebml_read_skip (ebml))
+               res = FALSE;
+             break;
+         }
+
+         if (demux->level_up) {
+           demux->level_up--;
+           break;
+         }
+       }
+       break;
       }
 
-      /* codec identifier */
-      case GST_MATROSKA_ID_CODECID: {
-        gchar *text;
-        if (!gst_ebml_read_ascii (ebml, &id, &text)) {
-          res = FALSE;
-          break;
-        }
-        context->codec_id = text;
-        break;
+       /* codec identifier */
+      case GST_MATROSKA_ID_CODECID:{
+       gchar *text;
+
+       if (!gst_ebml_read_ascii (ebml, &id, &text)) {
+         res = FALSE;
+         break;
+       }
+       context->codec_id = text;
+       break;
       }
 
-      /* codec private data */
-      case GST_MATROSKA_ID_CODECPRIVATE: {
-        guint8 *data;
-        guint64 size;
-        if (!gst_ebml_read_binary (ebml, &id, &data, &size)) {
-          res = FALSE;
-          break;
-        }
-        context->codec_priv = data;
-        context->codec_priv_size = size;
-        break;
+       /* codec private data */
+      case GST_MATROSKA_ID_CODECPRIVATE:{
+       guint8 *data;
+       guint64 size;
+
+       if (!gst_ebml_read_binary (ebml, &id, &data, &size)) {
+         res = FALSE;
+         break;
+       }
+       context->codec_priv = data;
+       context->codec_priv_size = size;
+       break;
       }
 
-      /* name of the codec */
-      case GST_MATROSKA_ID_CODECNAME: {
-        gchar *text;
-        if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
-          res = FALSE;
-          break;
-        }
-        context->codec_name = text;
-        break;
+       /* name of the codec */
+      case GST_MATROSKA_ID_CODECNAME:{
+       gchar *text;
+
+       if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
+         res = FALSE;
+         break;
+       }
+       context->codec_name = text;
+       break;
       }
 
-      /* name of this track */
-      case GST_MATROSKA_ID_TRACKNAME: {
-        gchar *text;
-        if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
-          res = FALSE;
-          break;
-        }
-        context->name = text;
-        break;
+       /* name of this track */
+      case GST_MATROSKA_ID_TRACKNAME:{
+       gchar *text;
+
+       if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
+         res = FALSE;
+         break;
+       }
+       context->name = text;
+       break;
       }
 
-      /* language (matters for audio/subtitles, mostly) */
-      case GST_MATROSKA_ID_TRACKLANGUAGE: {
-        gchar *text;
-        if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
-          res = FALSE;
-          break;
-        }
-        context->language = text;
-        break;
+       /* language (matters for audio/subtitles, mostly) */
+      case GST_MATROSKA_ID_TRACKLANGUAGE:{
+       gchar *text;
+
+       if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
+         res = FALSE;
+         break;
+       }
+       context->language = text;
+       break;
       }
 
-      /* whether this is actually used */
-      case GST_MATROSKA_ID_TRACKFLAGENABLED: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        if (num)
-          context->flags |= GST_MATROSKA_TRACK_ENABLED;
-        else
-          context->flags &= ~GST_MATROSKA_TRACK_ENABLED;
-        break;
+       /* whether this is actually used */
+      case GST_MATROSKA_ID_TRACKFLAGENABLED:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       if (num)
+         context->flags |= GST_MATROSKA_TRACK_ENABLED;
+       else
+         context->flags &= ~GST_MATROSKA_TRACK_ENABLED;
+       break;
       }
 
-      /* whether it's the default for this track type */
-      case GST_MATROSKA_ID_TRACKFLAGDEFAULT: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        if (num)
-          context->flags |= GST_MATROSKA_TRACK_DEFAULT;
-        else
-          context->flags &= ~GST_MATROSKA_TRACK_DEFAULT;
-        break;
+       /* whether it's the default for this track type */
+      case GST_MATROSKA_ID_TRACKFLAGDEFAULT:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       if (num)
+         context->flags |= GST_MATROSKA_TRACK_DEFAULT;
+       else
+         context->flags &= ~GST_MATROSKA_TRACK_DEFAULT;
+       break;
       }
 
-      /* lacing (like MPEG, where blocks don't end/start on frame
-       * boundaries) */
-      case GST_MATROSKA_ID_TRACKFLAGLACING: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        if (num)
-          context->flags |= GST_MATROSKA_TRACK_LACING;
-        else
-          context->flags &= ~GST_MATROSKA_TRACK_LACING;
-        break;
+       /* lacing (like MPEG, where blocks don't end/start on frame
+        * boundaries) */
+      case GST_MATROSKA_ID_TRACKFLAGLACING:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       if (num)
+         context->flags |= GST_MATROSKA_TRACK_LACING;
+       else
+         context->flags &= ~GST_MATROSKA_TRACK_LACING;
+       break;
       }
 
-      /* default length (in time) of one data block in this track */
-      case GST_MATROSKA_ID_TRACKDEFAULTDURATION: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        context->default_duration = num;
-        break;
+       /* default length (in time) of one data block in this track */
+      case GST_MATROSKA_ID_TRACKDEFAULTDURATION:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       context->default_duration = num;
+       break;
       }
 
       default:
-        GST_WARNING ("Unknown track header entry 0x%x - ignoring", id);
-        /* pass-through */
+       GST_WARNING ("Unknown track header entry 0x%x - ignoring", id);
+       /* pass-through */
 
-      /* we ignore these because they're nothing useful (i.e. crap). */
+       /* we ignore these because they're nothing useful (i.e. crap). */
       case GST_MATROSKA_ID_CODECINFOURL:
       case GST_MATROSKA_ID_CODECDOWNLOADURL:
       case GST_MATROSKA_ID_TRACKMINCACHE:
       case GST_MATROSKA_ID_TRACKMAXCACHE:
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -830,53 +839,45 @@ gst_matroska_demux_add_stream (GstMatroskaDemux *demux)
 
   /* now create the GStreamer connectivity */
   switch (context->type) {
-    case GST_MATROSKA_TRACK_TYPE_VIDEO: {
+    case GST_MATROSKA_TRACK_TYPE_VIDEO:{
       GstMatroskaTrackVideoContext *videocontext =
-       (GstMatroskaTrackVideoContext *) context;
+         (GstMatroskaTrackVideoContext *) context;
       padname = g_strdup_printf ("video_%02d", demux->num_v_streams++);
       templ = gst_element_class_get_pad_template (klass, "video_%02d");
       caps = gst_matroska_demux_video_caps (videocontext,
-                                           context->codec_id,
-                                           context->codec_priv,
-                                           context->codec_priv_size,
-                                           demux);
+         context->codec_id,
+         context->codec_priv, context->codec_priv_size, demux);
       break;
     }
 
-    case GST_MATROSKA_TRACK_TYPE_AUDIO: {
+    case GST_MATROSKA_TRACK_TYPE_AUDIO:{
       GstMatroskaTrackAudioContext *audiocontext =
-       (GstMatroskaTrackAudioContext *) context;
+         (GstMatroskaTrackAudioContext *) context;
       padname = g_strdup_printf ("audio_%02d", demux->num_a_streams++);
       templ = gst_element_class_get_pad_template (klass, "audio_%02d");
       caps = gst_matroska_demux_audio_caps (audiocontext,
-                                           context->codec_id,
-                                           context->codec_priv,
-                                           context->codec_priv_size,
-                                           demux);
+         context->codec_id,
+         context->codec_priv, context->codec_priv_size, demux);
       break;
     }
 
-    case GST_MATROSKA_TRACK_TYPE_COMPLEX: {
+    case GST_MATROSKA_TRACK_TYPE_COMPLEX:{
       GstMatroskaTrackComplexContext *complexcontext =
-       (GstMatroskaTrackComplexContext *) context;
+         (GstMatroskaTrackComplexContext *) context;
       padname = g_strdup_printf ("video_%02d", demux->num_v_streams++);
       templ = gst_element_class_get_pad_template (klass, "video_%02d");
       caps = gst_matroska_demux_complex_caps (complexcontext,
-                                             context->codec_id,
-                                             context->codec_priv,
-                                             context->codec_priv_size);
+         context->codec_id, context->codec_priv, context->codec_priv_size);
       break;
     }
 
-    case GST_MATROSKA_TRACK_TYPE_SUBTITLE: {
+    case GST_MATROSKA_TRACK_TYPE_SUBTITLE:{
       GstMatroskaTrackSubtitleContext *subtitlecontext =
-       (GstMatroskaTrackSubtitleContext *) context;
+         (GstMatroskaTrackSubtitleContext *) context;
       padname = g_strdup_printf ("subtitle_%02d", demux->num_t_streams++);
       templ = gst_element_class_get_pad_template (klass, "subtitle_%02d");
       caps = gst_matroska_demux_subtitle_caps (subtitlecontext,
-                                              context->codec_id,
-                                              context->codec_priv,
-                                              context->codec_priv_size);
+         context->codec_id, context->codec_priv, context->codec_priv_size);
       break;
     }
 
@@ -888,24 +889,23 @@ gst_matroska_demux_add_stream (GstMatroskaDemux *demux)
   }
 
   /* the pad in here */
-  context->pad =  gst_pad_new_from_template (templ, padname);
+  context->pad = gst_pad_new_from_template (templ, padname);
   context->caps = caps ? caps : gst_caps_new_empty ();
 
   g_free (padname);
 
   /* set some functions */
   gst_pad_set_formats_function (context->pad,
-                               gst_matroska_demux_get_src_formats);
+      gst_matroska_demux_get_src_formats);
   gst_pad_set_event_mask_function (context->pad,
-                                  gst_matroska_demux_get_event_mask);
+      gst_matroska_demux_get_event_mask);
   gst_pad_set_event_function (context->pad,
-                             gst_matroska_demux_handle_src_event);
+      gst_matroska_demux_handle_src_event);
   gst_pad_set_query_type_function (context->pad,
-                                  gst_matroska_demux_get_src_query_types);
+      gst_matroska_demux_get_src_query_types);
   gst_pad_set_query_function (context->pad,
-                             gst_matroska_demux_handle_src_query);
-  gst_pad_set_getcaps_function (context->pad,
-                               gst_matroska_demux_src_getcaps);
+      gst_matroska_demux_handle_src_query);
+  gst_pad_set_getcaps_function (context->pad, gst_matroska_demux_src_getcaps);
 
   gst_element_add_pad (GST_ELEMENT (demux), context->pad);
 
@@ -914,9 +914,9 @@ gst_matroska_demux_add_stream (GstMatroskaDemux *demux)
 }
 
 static const GstFormat *
-gst_matroska_demux_get_src_formats (GstPad *pad) 
+gst_matroska_demux_get_src_formats (GstPad * pad)
 {
-  /*GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (gst_pad_get_parent (pad));*/
+  /*GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (gst_pad_get_parent (pad)); */
 
   /* we could try to look for units (i.e. samples) in audio streams
    * or video streams, but both samplerate and framerate are not
@@ -932,7 +932,7 @@ gst_matroska_demux_get_src_formats (GstPad *pad)
 }
 
 static const GstQueryType *
-gst_matroska_demux_get_src_query_types (GstPad *pad) 
+gst_matroska_demux_get_src_query_types (GstPad * pad)
 {
   static const GstQueryType src_types[] = {
     GST_QUERY_TOTAL,
@@ -944,10 +944,8 @@ gst_matroska_demux_get_src_query_types (GstPad *pad)
 }
 
 static gboolean
-gst_matroska_demux_handle_src_query (GstPad       *pad,
-                                    GstQueryType  type, 
-                                    GstFormat    *format,
-                                    gint64       *value)
+gst_matroska_demux_handle_src_query (GstPad * pad,
+    GstQueryType type, GstFormat * format, gint64 * value)
 {
   gboolean res = TRUE;
   GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (gst_pad_get_parent (pad));
@@ -955,28 +953,28 @@ gst_matroska_demux_handle_src_query (GstPad       *pad,
   switch (type) {
     case GST_QUERY_TOTAL:
       switch (*format) {
-        case GST_FORMAT_DEFAULT:
-          *format = GST_FORMAT_TIME;
-          /* fall through */
-        case GST_FORMAT_TIME:
-          *value = demux->duration;
+       case GST_FORMAT_DEFAULT:
+         *format = GST_FORMAT_TIME;
+         /* fall through */
+       case GST_FORMAT_TIME:
+         *value = demux->duration;
          break;
        default:
-          res = FALSE;
+         res = FALSE;
          break;
       }
       break;
 
     case GST_QUERY_POSITION:
       switch (*format) {
-        case GST_FORMAT_DEFAULT:
-          *format = GST_FORMAT_TIME;
-          /* fall through */
-        case GST_FORMAT_TIME:
-          *value = demux->pos;
+       case GST_FORMAT_DEFAULT:
+         *format = GST_FORMAT_TIME;
+         /* fall through */
+       case GST_FORMAT_TIME:
+         *value = demux->pos;
          break;
        default:
-          res = FALSE;
+         res = FALSE;
          break;
       }
       break;
@@ -990,9 +988,9 @@ gst_matroska_demux_handle_src_query (GstPad       *pad,
 }
 
 static GstMatroskaIndex *
-gst_matroskademux_seek (GstMatroskaDemux *demux)
+gst_matroskademux_seek (GstMatroskaDemux * demux)
 {
-  guint entry = (guint) -1;
+  guint entry = (guint) - 1;
   guint64 offset = demux->seek_pending;
   guint n;
 
@@ -1000,19 +998,19 @@ gst_matroskademux_seek (GstMatroskaDemux *demux)
   demux->seek_pending = GST_CLOCK_TIME_NONE;
 
   for (n = 0; n < demux->num_indexes; n++) {
-    if (entry == (guint) -1) {
+    if (entry == (guint) - 1) {
       entry = n;
     } else {
       gfloat diff_old = fabs (1. * (demux->index[entry].time - offset)),
-             diff_new = fabs (1. * (demux->index[n].time - offset));
+         diff_new = fabs (1. * (demux->index[n].time - offset));
 
       if (diff_new < diff_old) {
-        entry = n;
+       entry = n;
       }
     }
   }
 
-  if (entry != (guint) -1) {
+  if (entry != (guint) - 1) {
     return &demux->index[entry];
   }
 
@@ -1020,8 +1018,7 @@ gst_matroskademux_seek (GstMatroskaDemux *demux)
 }
 
 static gboolean
-gst_matroska_demux_send_event (GstElement *element,
-                              GstEvent   *event)
+gst_matroska_demux_send_event (GstElement * element, GstEvent * event)
 {
   GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (element);
   gboolean res = TRUE;
@@ -1029,20 +1026,19 @@ gst_matroska_demux_send_event (GstElement *element,
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:
       switch (GST_EVENT_SEEK_FORMAT (event)) {
-        case GST_FORMAT_TIME:
-          demux->seek_pending = GST_EVENT_SEEK_OFFSET (event);
-          break;
-
-        default:
-          GST_WARNING ("Only time seek is supported");
-          res = FALSE;
-          break;
+       case GST_FORMAT_TIME:
+         demux->seek_pending = GST_EVENT_SEEK_OFFSET (event);
+         break;
+
+       default:
+         GST_WARNING ("Only time seek is supported");
+         res = FALSE;
+         break;
       }
       break;
 
     default:
-      GST_WARNING ("Unhandled event of type %d",
-                  GST_EVENT_TYPE (event));
+      GST_WARNING ("Unhandled event of type %d", GST_EVENT_TYPE (event));
       res = FALSE;
       break;
   }
@@ -1053,34 +1049,32 @@ gst_matroska_demux_send_event (GstElement *element,
 }
 
 static const GstEventMask *
-gst_matroska_demux_get_event_mask (GstPad *pad)
+gst_matroska_demux_get_event_mask (GstPad * pad)
 {
   static const GstEventMask masks[] = {
-    { GST_EVENT_SEEK,        (GstEventFlag) ((gint) GST_SEEK_METHOD_SET |
-                                             (gint) GST_SEEK_FLAG_KEY_UNIT) },
-    { GST_EVENT_SEEK_SEGMENT, (GstEventFlag) ((gint) GST_SEEK_METHOD_SET |
-                                             (gint) GST_SEEK_FLAG_KEY_UNIT) },
-    { (GstEventType) 0,              (GstEventFlag) 0 }
+    {GST_EVENT_SEEK, (GstEventFlag) ((gint) GST_SEEK_METHOD_SET |
+             (gint) GST_SEEK_FLAG_KEY_UNIT)},
+    {GST_EVENT_SEEK_SEGMENT, (GstEventFlag) ((gint) GST_SEEK_METHOD_SET |
+             (gint) GST_SEEK_FLAG_KEY_UNIT)},
+    {(GstEventType) 0, (GstEventFlag) 0}
   };
 
   return masks;
 }
-       
+
 static gboolean
-gst_matroska_demux_handle_src_event (GstPad   *pad,
-                                    GstEvent *event)
+gst_matroska_demux_handle_src_event (GstPad * pad, GstEvent * event)
 {
   GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (gst_pad_get_parent (pad));
   gboolean res = TRUE;
-  
+
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK_SEGMENT:
     case GST_EVENT_SEEK:
       return gst_matroska_demux_send_event (GST_ELEMENT (demux), event);
 
     default:
-      GST_WARNING ("Unhandled event of type %d",
-                  GST_EVENT_TYPE (event));
+      GST_WARNING ("Unhandled event of type %d", GST_EVENT_TYPE (event));
       res = FALSE;
       break;
   }
@@ -1091,7 +1085,7 @@ gst_matroska_demux_handle_src_event (GstPad   *pad,
 }
 
 static gboolean
-gst_matroska_demux_handle_seek_event (GstMatroskaDemux *demux)
+gst_matroska_demux_handle_seek_event (GstMatroskaDemux * demux)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   GstMatroskaIndex *entry = gst_matroskademux_seek (demux);
@@ -1102,12 +1096,10 @@ gst_matroska_demux_handle_seek_event (GstMatroskaDemux *demux)
     return FALSE;
 
   /* seek (relative to segment) */
-  if (!(event = gst_ebml_read_seek (ebml,
-                       entry->pos + demux->segment_start)))
+  if (!(event = gst_ebml_read_seek (ebml, entry->pos + demux->segment_start)))
     return FALSE;
-  gst_event_unref (event); /* byte - we want time */
-  event = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME,
-                                       entry->time);
+  gst_event_unref (event);     /* byte - we want time */
+  event = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, entry->time);
 
   /* forward to all src pads */
   for (i = 0; i < demux->num_streams; i++) {
@@ -1123,7 +1115,7 @@ gst_matroska_demux_handle_seek_event (GstMatroskaDemux *demux)
 }
 
 static gboolean
-gst_matroska_demux_init_stream (GstMatroskaDemux *demux)
+gst_matroska_demux_init_stream (GstMatroskaDemux * demux)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   guint32 id;
@@ -1135,16 +1127,15 @@ gst_matroska_demux_init_stream (GstMatroskaDemux *demux)
 
   if (!doctype || strcmp (doctype, "matroska") != 0) {
     GST_ELEMENT_ERROR (demux, STREAM, WRONG_TYPE, (NULL),
-                      ("Input is not a matroska stream (doctype=%s)",
-                      doctype ? doctype : "none"));
+       ("Input is not a matroska stream (doctype=%s)",
+           doctype ? doctype : "none"));
     g_free (doctype);
     return FALSE;
   }
   g_free (doctype);
   if (version > 1) {
     GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
-                      ("Demuxer version (1) is too old to read stream version %d",
-                      version));
+       ("Demuxer version (1) is too old to read stream version %d", version));
     return FALSE;
   }
 
@@ -1160,7 +1151,7 @@ gst_matroska_demux_init_stream (GstMatroskaDemux *demux)
 
     /* oi! */
     GST_WARNING ("Expected a Segment ID (0x%x), but received 0x%x!",
-                GST_MATROSKA_ID_SEGMENT, id);
+       GST_MATROSKA_ID_SEGMENT, id);
     if (!gst_ebml_read_skip (ebml))
       return FALSE;
   }
@@ -1176,7 +1167,7 @@ gst_matroska_demux_init_stream (GstMatroskaDemux *demux)
 }
 
 static gboolean
-gst_matroska_demux_parse_tracks (GstMatroskaDemux *demux)
+gst_matroska_demux_parse_tracks (GstMatroskaDemux * demux)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -1192,20 +1183,20 @@ gst_matroska_demux_parse_tracks (GstMatroskaDemux *demux)
     }
 
     switch (id) {
-      /* one track within the "all-tracks" header */
+       /* one track within the "all-tracks" header */
       case GST_MATROSKA_ID_TRACKENTRY:
-        if (!gst_matroska_demux_add_stream (demux))
-          res = FALSE;
-        break;
+       if (!gst_matroska_demux_add_stream (demux))
+         res = FALSE;
+       break;
 
       default:
-        GST_WARNING ("Unknown entry 0x%x in track header", id);
-        /* fall-through */
+       GST_WARNING ("Unknown entry 0x%x in track header", id);
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -1218,8 +1209,7 @@ gst_matroska_demux_parse_tracks (GstMatroskaDemux *demux)
 }
 
 static gboolean
-gst_matroska_demux_parse_index (GstMatroskaDemux *demux,
-                               gboolean          prevent_eos)
+gst_matroska_demux_parse_index (GstMatroskaDemux * demux, gboolean prevent_eos)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -1247,145 +1237,147 @@ gst_matroska_demux_parse_index (GstMatroskaDemux *demux,
     }
 
     switch (id) {
-      /* one single index entry ('point') */
+       /* one single index entry ('point') */
       case GST_MATROSKA_ID_POINTENTRY:
-        if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
+       if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
 
-        /* in the end, we hope to fill one entry with a
+       /* in the end, we hope to fill one entry with a
         * timestamp, a file position and a tracknum */
-        idx.pos   = (guint64) -1;
-        idx.time  = (guint64) -1;
-        idx.track = (guint16) -1;
-
-        while (res) {
-          if (prevent_eos && length == gst_bytestream_tell (ebml->bs)) {
-            res = FALSE;
-            break;
-          } else if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
-            res = FALSE;
-            break;
-          } else if (demux->level_up) {
-            demux->level_up--;
-            break;
-          }
-
-          switch (id) {
-            /* one single index entry ('point') */
-            case GST_MATROSKA_ID_CUETIME: {
-              gint64 time;
-              if (!gst_ebml_read_uint (ebml, &id, &time)) {
-                res = FALSE;
-                break;
-              }
-              idx.time = time * demux->time_scale;
-              break;
-            }
-
-            /* position in the file + track to which it belongs */
-            case GST_MATROSKA_ID_CUETRACKPOSITION:
-              if (!gst_ebml_read_master (ebml, &id)) {
-                res = FALSE;
-                break;
-              }
-
-              while (res) {
-                if (prevent_eos && length == gst_bytestream_tell (ebml->bs)) {
-                  res = FALSE;
-                  break;
-                } else if (!(id = gst_ebml_peek_id (ebml,
-                                       &demux->level_up))) {
-                  res = FALSE;
-                  break;
-                } else if (demux->level_up) {
-                  demux->level_up--;
-                  break;
-                }
-
-                switch (id) {
-                  /* track number */
-                  case GST_MATROSKA_ID_CUETRACK: {
-                    guint64 num;
-                    if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                      res = FALSE;
-                      break;
-                    }
-                    idx.track = num;
-                    break;
-                  }
-
-                  /* position in file */
-                  case GST_MATROSKA_ID_CUECLUSTERPOSITION: {
-                    guint64 num;
-                    if (!gst_ebml_read_uint (ebml, &id, &num)) {
-                      res = FALSE;
-                      break;
-                    }
-                    idx.pos = num;
-                    break;
-                  }
-
-                  default:
-                    GST_WARNING ("Unknown entry 0x%x in CuesTrackPositions", id);
-                    /* fall-through */
-
-                  case GST_EBML_ID_VOID:
-                    if (!gst_ebml_read_skip (ebml))
-                      res = FALSE;
-                    break;
-                }
-
-                if (demux->level_up) {
-                  demux->level_up--;
-                  break;
-                }
-              }
-
-              break;
-
-            default:
-              GST_WARNING ("Unknown entry 0x%x in cuespoint index", id);
-              /* fall-through */
-
-            case GST_EBML_ID_VOID:
-              if (!gst_ebml_read_skip (ebml))
-                res = FALSE;
-              break;
-          }
-
-          if (demux->level_up) {
-            demux->level_up--;
-            break;
-          }
-        }
-
-        /* so let's see if we got what we wanted */
-        if (idx.pos   != (guint64) -1 &&
-           idx.time  != (guint64) -1 &&
-           idx.track != (guint16) -1) {
-          if (demux->num_indexes % 32 == 0) {
-            /* re-allocate bigger index */
-            demux->index = g_renew (GstMatroskaIndex, demux->index,
-                                   demux->num_indexes + 32);
-          }
-          demux->index[demux->num_indexes].pos   = idx.pos;
-          demux->index[demux->num_indexes].time  = idx.time;
-          demux->index[demux->num_indexes].track = idx.track;
-          demux->num_indexes++;
-        }
-
-        break;
+       idx.pos = (guint64) - 1;
+       idx.time = (guint64) - 1;
+       idx.track = (guint16) - 1;
+
+       while (res) {
+         if (prevent_eos && length == gst_bytestream_tell (ebml->bs)) {
+           res = FALSE;
+           break;
+         } else if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
+           res = FALSE;
+           break;
+         } else if (demux->level_up) {
+           demux->level_up--;
+           break;
+         }
+
+         switch (id) {
+             /* one single index entry ('point') */
+           case GST_MATROSKA_ID_CUETIME:{
+             gint64 time;
+
+             if (!gst_ebml_read_uint (ebml, &id, &time)) {
+               res = FALSE;
+               break;
+             }
+             idx.time = time * demux->time_scale;
+             break;
+           }
+
+             /* position in the file + track to which it belongs */
+           case GST_MATROSKA_ID_CUETRACKPOSITION:
+             if (!gst_ebml_read_master (ebml, &id)) {
+               res = FALSE;
+               break;
+             }
+
+             while (res) {
+               if (prevent_eos && length == gst_bytestream_tell (ebml->bs)) {
+                 res = FALSE;
+                 break;
+               } else if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
+                 res = FALSE;
+                 break;
+               } else if (demux->level_up) {
+                 demux->level_up--;
+                 break;
+               }
+
+               switch (id) {
+                   /* track number */
+                 case GST_MATROSKA_ID_CUETRACK:{
+                   guint64 num;
+
+                   if (!gst_ebml_read_uint (ebml, &id, &num)) {
+                     res = FALSE;
+                     break;
+                   }
+                   idx.track = num;
+                   break;
+                 }
+
+                   /* position in file */
+                 case GST_MATROSKA_ID_CUECLUSTERPOSITION:{
+                   guint64 num;
+
+                   if (!gst_ebml_read_uint (ebml, &id, &num)) {
+                     res = FALSE;
+                     break;
+                   }
+                   idx.pos = num;
+                   break;
+                 }
+
+                 default:
+                   GST_WARNING ("Unknown entry 0x%x in CuesTrackPositions",
+                       id);
+                   /* fall-through */
+
+                 case GST_EBML_ID_VOID:
+                   if (!gst_ebml_read_skip (ebml))
+                     res = FALSE;
+                   break;
+               }
+
+               if (demux->level_up) {
+                 demux->level_up--;
+                 break;
+               }
+             }
+
+             break;
+
+           default:
+             GST_WARNING ("Unknown entry 0x%x in cuespoint index", id);
+             /* fall-through */
+
+           case GST_EBML_ID_VOID:
+             if (!gst_ebml_read_skip (ebml))
+               res = FALSE;
+             break;
+         }
+
+         if (demux->level_up) {
+           demux->level_up--;
+           break;
+         }
+       }
+
+       /* so let's see if we got what we wanted */
+       if (idx.pos != (guint64) - 1 &&
+           idx.time != (guint64) - 1 && idx.track != (guint16) - 1) {
+         if (demux->num_indexes % 32 == 0) {
+           /* re-allocate bigger index */
+           demux->index = g_renew (GstMatroskaIndex, demux->index,
+               demux->num_indexes + 32);
+         }
+         demux->index[demux->num_indexes].pos = idx.pos;
+         demux->index[demux->num_indexes].time = idx.time;
+         demux->index[demux->num_indexes].track = idx.track;
+         demux->num_indexes++;
+       }
+
+       break;
 
       default:
-        GST_WARNING ("Unknown entry 0x%x in cues header", id);
-        /* fall-through */
+       GST_WARNING ("Unknown entry 0x%x in cues header", id);
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -1398,7 +1390,7 @@ gst_matroska_demux_parse_index (GstMatroskaDemux *demux,
 }
 
 static gboolean
-gst_matroska_demux_parse_info (GstMatroskaDemux *demux)
+gst_matroska_demux_parse_info (GstMatroskaDemux * demux)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -1414,65 +1406,70 @@ gst_matroska_demux_parse_info (GstMatroskaDemux *demux)
     }
 
     switch (id) {
-      /* cluster timecode */
-      case GST_MATROSKA_ID_TIMECODESCALE: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        demux->time_scale = num;
-        break;
+       /* cluster timecode */
+      case GST_MATROSKA_ID_TIMECODESCALE:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       demux->time_scale = num;
+       break;
       }
 
-      case GST_MATROSKA_ID_DURATION: {
-        gdouble num;
-        if (!gst_ebml_read_float (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        demux->duration = num * demux->time_scale;
-        break;
+      case GST_MATROSKA_ID_DURATION:{
+       gdouble num;
+
+       if (!gst_ebml_read_float (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       demux->duration = num * demux->time_scale;
+       break;
       }
 
-      case GST_MATROSKA_ID_WRITINGAPP: {
-        gchar *text;
-        if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
-          res = FALSE;
-          break;
-        }
-        demux->writing_app = text;
-        break;
+      case GST_MATROSKA_ID_WRITINGAPP:{
+       gchar *text;
+
+       if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
+         res = FALSE;
+         break;
+       }
+       demux->writing_app = text;
+       break;
       }
 
-      case GST_MATROSKA_ID_MUXINGAPP: {
-        gchar *text;
-        if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
-          res = FALSE;
-          break;
-        }
-        demux->muxing_app = text;
-        break;
+      case GST_MATROSKA_ID_MUXINGAPP:{
+       gchar *text;
+
+       if (!gst_ebml_read_utf8 (ebml, &id, &text)) {
+         res = FALSE;
+         break;
+       }
+       demux->muxing_app = text;
+       break;
       }
 
-      case GST_MATROSKA_ID_DATEUTC: {
-        gint64 time;
-        if (!gst_ebml_read_date (ebml, &id, &time)) {
-          res = FALSE;
-          break;
-        }
-        demux->created = time;
-        break;
+      case GST_MATROSKA_ID_DATEUTC:{
+       gint64 time;
+
+       if (!gst_ebml_read_date (ebml, &id, &time)) {
+         res = FALSE;
+         break;
+       }
+       demux->created = time;
+       break;
       }
 
       default:
-        GST_WARNING ("Unknown entry 0x%x in info header", id);
-        /* fall-through */
+       GST_WARNING ("Unknown entry 0x%x in info header", id);
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -1485,8 +1482,8 @@ gst_matroska_demux_parse_info (GstMatroskaDemux *demux)
 }
 
 static gboolean
-gst_matroska_demux_parse_metadata (GstMatroskaDemux *demux,
-                                  gboolean          prevent_eos)
+gst_matroska_demux_parse_metadata (GstMatroskaDemux * demux,
+    gboolean prevent_eos)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -1514,13 +1511,13 @@ gst_matroska_demux_parse_metadata (GstMatroskaDemux *demux,
 
     switch (id) {
       default:
-        GST_WARNING ("metadata unimplemented");
-        /* fall-through */
+       GST_WARNING ("metadata unimplemented");
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -1538,9 +1535,7 @@ gst_matroska_demux_parse_metadata (GstMatroskaDemux *demux,
  */
 
 static gint
-gst_matroska_ebmlnum_uint (guint8  *data,
-                          guint    size,
-                          guint64 *num)
+gst_matroska_ebmlnum_uint (guint8 * data, guint size, guint64 * num)
 {
   gint len_mask = 0x80, read = 1, n = 1, num_ffs = 0;
   guint64 total;
@@ -1548,7 +1543,7 @@ gst_matroska_ebmlnum_uint (guint8  *data,
   if (size <= 0) {
     return -1;
   }
-                                                                                
+
   total = data[0];
   while (read <= 8 && !(total & len_mask)) {
     read++;
@@ -1556,7 +1551,7 @@ gst_matroska_ebmlnum_uint (guint8  *data,
   }
   if (read > 8)
     return -1;
-                                                                                
+
   if ((total &= (len_mask - 1)) == len_mask - 1)
     num_ffs++;
   if (size < read)
@@ -1580,9 +1575,7 @@ gst_matroska_ebmlnum_uint (guint8  *data,
 }
 
 static gint
-gst_matroska_ebmlnum_sint (guint8 *data,
-                          guint   size,
-                          gint64 *num)
+gst_matroska_ebmlnum_sint (guint8 * data, guint size, gint64 * num)
 {
   guint64 unum;
   gint res;
@@ -1601,8 +1594,8 @@ gst_matroska_ebmlnum_sint (guint8 *data,
 }
 
 static gboolean
-gst_matroska_demux_parse_blockgroup (GstMatroskaDemux *demux,
-                                    guint64           cluster_time)
+gst_matroska_demux_parse_blockgroup (GstMatroskaDemux * demux,
+    guint64 cluster_time)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -1618,165 +1611,178 @@ gst_matroska_demux_parse_blockgroup (GstMatroskaDemux *demux,
     }
 
     switch (id) {
-      /* one block inside the group. Note, block parsing is one
-       * of the harder things, so this code is a bit complicated.
-       * See http://www.matroska.org/ for documentation. */
-      case GST_MATROSKA_ID_BLOCK: {
-        GstBuffer *buf;
-        guint8 *data;
-        gint64 time;
-        guint size, *lace_size = NULL;
-        gint n, stream, flags, laces = 0;
-        guint64 num;
-
-        if (!gst_ebml_read_buffer (ebml, &id, &buf)) {
-          res = FALSE;
-          break;
-        }
-        data = GST_BUFFER_DATA (buf);
-        size = GST_BUFFER_SIZE (buf);
-
-        /* first byte(s): blocknum */
-        if ((n = gst_matroska_ebmlnum_uint (data, size, &num)) < 0) {
-          GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), ("Data error"));
-          gst_buffer_unref (buf);
-          res = FALSE;
-          break;
-        }
-        data += n; size -= n;
-
-        /* fetch stream from num */
-        stream = gst_matroska_demux_stream_from_num (demux, num);
-        if (size <= 3 || stream < 0 || stream >= demux->num_streams) {
-          gst_buffer_unref (buf);
-          GST_WARNING ("Invalid stream %d or size %u", stream, size);
-          break;
-        }
-        if (!GST_PAD_IS_USABLE (demux->src[stream]->pad)) {
-          gst_buffer_unref (buf);
-          break;
-        }
-
-        /* time (relative to cluster time) */
-        time = (GINT16_FROM_BE (* (gint16 *) data)) * demux->time_scale;
-        data += 2; size -= 2;
-        flags = * (guint8 *) data;
-        data += 1; size -= 1;
-        switch ((flags & 0x06) >> 1) {
-          case 0x0: /* no lacing */
-            laces = 1;
-            lace_size = g_new (gint, 1);
-            lace_size[0] = size;
-            break;
-
-          case 0x1: /* xiph lacing */
-          case 0x2: /* fixed-size lacing */
-          case 0x3: /* EBML lacing */
-            if (size == 0) {
-              res = FALSE;
-              break;
-            }
-            laces = (* (guint8 *) data) + 1;
-            data += 1; size -= 1;
-            lace_size = g_new0 (gint, laces);
-
-            switch ((flags & 0x06) >> 1) {
-              case 0x1: /* xiph lacing */ {
-                guint temp, total = 0;
-                for (n = 0; res && n < laces - 1; n++) {
-                  while (1) {
-                     if (size == 0) {
-                       res = FALSE;
-                       break;
-                     }
-                     temp = * (guint8 *) data;
-                     lace_size[n] += temp;
-                     data += 1; size -= 1;
-                     if (temp != 0xff)
-                       break;
-                  }
-                  total += lace_size[n];
-                }
-                lace_size[n] = size - total;
-                break;
-              }
-
-              case 0x2: /* fixed-size lacing */
-                for (n = 0; n < laces; n++)
-                  lace_size[n] = size / laces;
-                break;
-
-              case 0x3: /* EBML lacing */ {
-                guint total;
-                if ((n = gst_matroska_ebmlnum_uint (data, size, &num)) < 0) {
-                  GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), ("Data error"));
-                  res = FALSE;
-                  break;
-                }
-                data += n; size -= n;
-                total = lace_size[0] = num;
-                for (n = 1; res && n < laces - 1; n++) {
-                  gint64 snum;
-                  gint r;
-                  if ((r = gst_matroska_ebmlnum_sint (data, size, &snum)) < 0) {
-                    GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), ("Data error"));
-                    res = FALSE;
-                    break;
-                  }
-                  data += r; size -= r;
-                  lace_size[n] = lace_size[n - 1] + snum;
-                  total += lace_size[n];
-                }
-                lace_size[n] = size - total;
-                break;
-              }
-            }
-            break;
-        }
-
-        if (res) {
-          for (n = 0; n < laces; n++) {
-            GstBuffer *sub = gst_buffer_create_sub (buf,
-                                                   GST_BUFFER_SIZE (buf) - size,
-                                                   lace_size[n]);
-
-            if (cluster_time != GST_CLOCK_TIME_NONE) {
-              if (time < 0 && (-time) > cluster_time)
-                GST_BUFFER_TIMESTAMP (sub) = cluster_time;
-              else
-                GST_BUFFER_TIMESTAMP (sub) = cluster_time + time;
-            }
-            /* FIXME: duration */
-
-            gst_pad_push (demux->src[stream]->pad, GST_DATA (sub));
-
-            size -= lace_size[n];
-          }
-        }
-
-        g_free (lace_size);
-        gst_buffer_unref (buf);
-        break;
+       /* one block inside the group. Note, block parsing is one
+        * of the harder things, so this code is a bit complicated.
+        * See http://www.matroska.org/ for documentation. */
+      case GST_MATROSKA_ID_BLOCK:{
+       GstBuffer *buf;
+       guint8 *data;
+       gint64 time;
+       guint size, *lace_size = NULL;
+       gint n, stream, flags, laces = 0;
+       guint64 num;
+
+       if (!gst_ebml_read_buffer (ebml, &id, &buf)) {
+         res = FALSE;
+         break;
+       }
+       data = GST_BUFFER_DATA (buf);
+       size = GST_BUFFER_SIZE (buf);
+
+       /* first byte(s): blocknum */
+       if ((n = gst_matroska_ebmlnum_uint (data, size, &num)) < 0) {
+         GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), ("Data error"));
+         gst_buffer_unref (buf);
+         res = FALSE;
+         break;
+       }
+       data += n;
+       size -= n;
+
+       /* fetch stream from num */
+       stream = gst_matroska_demux_stream_from_num (demux, num);
+       if (size <= 3 || stream < 0 || stream >= demux->num_streams) {
+         gst_buffer_unref (buf);
+         GST_WARNING ("Invalid stream %d or size %u", stream, size);
+         break;
+       }
+       if (!GST_PAD_IS_USABLE (demux->src[stream]->pad)) {
+         gst_buffer_unref (buf);
+         break;
+       }
+
+       /* time (relative to cluster time) */
+       time = (GINT16_FROM_BE (*(gint16 *) data)) * demux->time_scale;
+       data += 2;
+       size -= 2;
+       flags = *(guint8 *) data;
+       data += 1;
+       size -= 1;
+       switch ((flags & 0x06) >> 1) {
+         case 0x0:             /* no lacing */
+           laces = 1;
+           lace_size = g_new (gint, 1);
+           lace_size[0] = size;
+           break;
+
+         case 0x1:             /* xiph lacing */
+         case 0x2:             /* fixed-size lacing */
+         case 0x3:             /* EBML lacing */
+           if (size == 0) {
+             res = FALSE;
+             break;
+           }
+           laces = (*(guint8 *) data) + 1;
+           data += 1;
+           size -= 1;
+           lace_size = g_new0 (gint, laces);
+
+           switch ((flags & 0x06) >> 1) {
+             case 0x1: /* xiph lacing */  {
+               guint temp, total = 0;
+
+               for (n = 0; res && n < laces - 1; n++) {
+                 while (1) {
+                   if (size == 0) {
+                     res = FALSE;
+                     break;
+                   }
+                   temp = *(guint8 *) data;
+                   lace_size[n] += temp;
+                   data += 1;
+                   size -= 1;
+                   if (temp != 0xff)
+                     break;
+                 }
+                 total += lace_size[n];
+               }
+               lace_size[n] = size - total;
+               break;
+             }
+
+             case 0x2: /* fixed-size lacing */
+               for (n = 0; n < laces; n++)
+                 lace_size[n] = size / laces;
+               break;
+
+             case 0x3: /* EBML lacing */  {
+               guint total;
+
+               if ((n = gst_matroska_ebmlnum_uint (data, size, &num)) < 0) {
+                 GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
+                     ("Data error"));
+                 res = FALSE;
+                 break;
+               }
+               data += n;
+               size -= n;
+               total = lace_size[0] = num;
+               for (n = 1; res && n < laces - 1; n++) {
+                 gint64 snum;
+                 gint r;
+
+                 if ((r = gst_matroska_ebmlnum_sint (data, size, &snum)) < 0) {
+                   GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
+                       ("Data error"));
+                   res = FALSE;
+                   break;
+                 }
+                 data += r;
+                 size -= r;
+                 lace_size[n] = lace_size[n - 1] + snum;
+                 total += lace_size[n];
+               }
+               lace_size[n] = size - total;
+               break;
+             }
+           }
+           break;
+       }
+
+       if (res) {
+         for (n = 0; n < laces; n++) {
+           GstBuffer *sub = gst_buffer_create_sub (buf,
+               GST_BUFFER_SIZE (buf) - size,
+               lace_size[n]);
+
+           if (cluster_time != GST_CLOCK_TIME_NONE) {
+             if (time < 0 && (-time) > cluster_time)
+               GST_BUFFER_TIMESTAMP (sub) = cluster_time;
+             else
+               GST_BUFFER_TIMESTAMP (sub) = cluster_time + time;
+           }
+           /* FIXME: duration */
+
+           gst_pad_push (demux->src[stream]->pad, GST_DATA (sub));
+
+           size -= lace_size[n];
+         }
+       }
+
+       g_free (lace_size);
+       gst_buffer_unref (buf);
+       break;
       }
 
-      case GST_MATROSKA_ID_BLOCKDURATION: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        GST_WARNING ("FIXME: implement support for BlockDuration");
-        break;
+      case GST_MATROSKA_ID_BLOCKDURATION:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       GST_WARNING ("FIXME: implement support for BlockDuration");
+       break;
       }
 
       default:
-        GST_WARNING ("Unknown entry 0x%x in blockgroup data", id);
-        /* fall-through */
+       GST_WARNING ("Unknown entry 0x%x in blockgroup data", id);
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -1789,7 +1795,7 @@ gst_matroska_demux_parse_blockgroup (GstMatroskaDemux *demux,
 }
 
 static gboolean
-gst_matroska_demux_parse_cluster (GstMatroskaDemux *demux)
+gst_matroska_demux_parse_cluster (GstMatroskaDemux * demux)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -1814,34 +1820,35 @@ gst_matroska_demux_parse_cluster (GstMatroskaDemux *demux)
     }
 
     switch (id) {
-      /* cluster timecode */
-      case GST_MATROSKA_ID_CLUSTERTIMECODE: {
-        guint64 num;
-        if (!gst_ebml_read_uint (ebml, &id, &num)) {
-          res = FALSE;
-          break;
-        }
-        cluster_time = num * demux->time_scale;
-        break;
+       /* cluster timecode */
+      case GST_MATROSKA_ID_CLUSTERTIMECODE:{
+       guint64 num;
+
+       if (!gst_ebml_read_uint (ebml, &id, &num)) {
+         res = FALSE;
+         break;
+       }
+       cluster_time = num * demux->time_scale;
+       break;
       }
 
-      /* a group of blocks inside a cluster */
+       /* a group of blocks inside a cluster */
       case GST_MATROSKA_ID_BLOCKGROUP:
-        if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-        res = gst_matroska_demux_parse_blockgroup (demux, cluster_time);
-        break;
+       if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+       res = gst_matroska_demux_parse_blockgroup (demux, cluster_time);
+       break;
 
       default:
-        GST_WARNING ("Unknown entry 0x%x in cluster data", id);
-        /* fall-through */
+       GST_WARNING ("Unknown entry 0x%x in cluster data", id);
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -1854,7 +1861,7 @@ gst_matroska_demux_parse_cluster (GstMatroskaDemux *demux)
 }
 
 static gboolean
-gst_matroska_demux_parse_contents (GstMatroskaDemux *demux)
+gst_matroska_demux_parse_contents (GstMatroskaDemux * demux)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -1870,162 +1877,163 @@ gst_matroska_demux_parse_contents (GstMatroskaDemux *demux)
     }
 
     switch (id) {
-      case GST_MATROSKA_ID_SEEKENTRY: {
-        guint32 seek_id = 0;
-        guint64 seek_pos = (guint64) -1, t;
-
-        if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-
-        while (res) {
-          if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
-            res = FALSE;
-            break;
-          } else if (demux->level_up) {
-            demux->level_up--;
-            break;
-          }
-
-          switch (id) {
-            case GST_MATROSKA_ID_SEEKID:
-              if (!gst_ebml_read_uint (ebml, &id, &t))
-                res = FALSE;
-              seek_id = t;
-              break;
-
-            case GST_MATROSKA_ID_SEEKPOSITION:
-              if (!gst_ebml_read_uint (ebml, &id, &seek_pos))
-                res = FALSE;
-              break;
-
-            default:
-              GST_WARNING ("Unknown seekhead ID 0x%x", id);
-              /* fall-through */
-
-            case GST_EBML_ID_VOID:
-              if (!gst_ebml_read_skip (ebml))
-                res = FALSE;
-              break;
-          }
-
-          if (demux->level_up) {
-            demux->level_up--;
-            break;
-          }
-        }
-
-        if (!seek_id || seek_pos == (guint64) -1) {
-          GST_WARNING ("Incomplete seekhead entry (0x%x/%"
-                      G_GUINT64_FORMAT ")", seek_id, seek_pos);
-          break;
-        }
-
-        switch (seek_id) {
-          case GST_MATROSKA_ID_CUES:
-          case GST_MATROSKA_ID_TAGS: {
-            guint level_up = demux->level_up;
-            guint64 before_pos, length;
-            GstEbmlLevel *level;
-            GstEvent *event;
-
-            /* remember */
-            length = gst_bytestream_length (ebml->bs);
-            before_pos = gst_bytestream_tell (ebml->bs);
-
-            /* check for validity */
-            if (seek_pos + demux->segment_start + 12 >= length) {
-              g_warning ("Seekhead reference lies outside file!");
-              break;
-            }
-
-            /* seek */
-            if (!(event = gst_ebml_read_seek (ebml,
-                               seek_pos + demux->segment_start)))
-              return FALSE;
-            gst_event_unref (event);
-
-            /* we don't want to lose our seekhead level, so we add
-             * a dummy. This is a crude hack. */
-            level = g_new (GstEbmlLevel, 1);
-            level->start = 0;
-            level->length = G_MAXUINT64;
-            ebml->level = g_list_append (ebml->level, level);
-
-            /* check ID */
-            if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
-              res = FALSE;
-              break;
-            }
-            if (id != seek_id) {
-              g_warning ("We looked for ID=0x%x but got ID=0x%x (pos=%llu)",
-                        seek_id, id, seek_pos + demux->segment_start);
-              goto finish;
-            }
-
-            /* read master + parse */
-            switch (id) {
-              case GST_MATROSKA_ID_CUES:
-                if (!gst_ebml_read_master (ebml, &id))
-                  res = FALSE;
-                else if (!gst_matroska_demux_parse_index (demux, TRUE) &&
-                        gst_bytestream_length (ebml->bs) !=
-                               gst_bytestream_tell (ebml->bs))
-                  res = FALSE;
-                else
-                  demux->index_parsed = TRUE;
-                break;
-              case GST_MATROSKA_ID_TAGS:
-                if (!gst_ebml_read_master (ebml, &id))
-                  res = FALSE;
-                else if (!gst_matroska_demux_parse_metadata (demux, TRUE) &&
-                        gst_bytestream_length (ebml->bs) !=
-                               gst_bytestream_tell (ebml->bs))
-                  res = FALSE;
-                else
-                  demux->metadata_parsed = TRUE;
-                break;
-            }
-            if (!res)
-              break;
-
-          finish:
-            /* remove dummy level */
-            while (ebml->level) {
-              guint64 length;
-              level = g_list_last (ebml->level)->data;
-              ebml->level = g_list_remove (ebml->level, level);
-              length = level->length;
-              g_free (level);
-              if (length == G_MAXUINT64)
-                break;
-            }
-
-            /* seek back */
-            if (!(event = gst_ebml_read_seek (ebml, before_pos)))
-              return FALSE;
-            gst_event_unref (event);
-            demux->level_up = level_up;
-            break;
-          }
-
-          default:
-            GST_INFO ("Ignoring seekhead entry for ID=0x%x", seek_id);
-            break;
-        }
-
-        break;
+      case GST_MATROSKA_ID_SEEKENTRY:{
+       guint32 seek_id = 0;
+       guint64 seek_pos = (guint64) - 1, t;
+
+       if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+
+       while (res) {
+         if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
+           res = FALSE;
+           break;
+         } else if (demux->level_up) {
+           demux->level_up--;
+           break;
+         }
+
+         switch (id) {
+           case GST_MATROSKA_ID_SEEKID:
+             if (!gst_ebml_read_uint (ebml, &id, &t))
+               res = FALSE;
+             seek_id = t;
+             break;
+
+           case GST_MATROSKA_ID_SEEKPOSITION:
+             if (!gst_ebml_read_uint (ebml, &id, &seek_pos))
+               res = FALSE;
+             break;
+
+           default:
+             GST_WARNING ("Unknown seekhead ID 0x%x", id);
+             /* fall-through */
+
+           case GST_EBML_ID_VOID:
+             if (!gst_ebml_read_skip (ebml))
+               res = FALSE;
+             break;
+         }
+
+         if (demux->level_up) {
+           demux->level_up--;
+           break;
+         }
+       }
+
+       if (!seek_id || seek_pos == (guint64) - 1) {
+         GST_WARNING ("Incomplete seekhead entry (0x%x/%"
+             G_GUINT64_FORMAT ")", seek_id, seek_pos);
+         break;
+       }
+
+       switch (seek_id) {
+         case GST_MATROSKA_ID_CUES:
+         case GST_MATROSKA_ID_TAGS:{
+           guint level_up = demux->level_up;
+           guint64 before_pos, length;
+           GstEbmlLevel *level;
+           GstEvent *event;
+
+           /* remember */
+           length = gst_bytestream_length (ebml->bs);
+           before_pos = gst_bytestream_tell (ebml->bs);
+
+           /* check for validity */
+           if (seek_pos + demux->segment_start + 12 >= length) {
+             g_warning ("Seekhead reference lies outside file!");
+             break;
+           }
+
+           /* seek */
+           if (!(event = gst_ebml_read_seek (ebml,
+                       seek_pos + demux->segment_start)))
+             return FALSE;
+           gst_event_unref (event);
+
+           /* we don't want to lose our seekhead level, so we add
+            * a dummy. This is a crude hack. */
+           level = g_new (GstEbmlLevel, 1);
+           level->start = 0;
+           level->length = G_MAXUINT64;
+           ebml->level = g_list_append (ebml->level, level);
+
+           /* check ID */
+           if (!(id = gst_ebml_peek_id (ebml, &demux->level_up))) {
+             res = FALSE;
+             break;
+           }
+           if (id != seek_id) {
+             g_warning ("We looked for ID=0x%x but got ID=0x%x (pos=%llu)",
+                 seek_id, id, seek_pos + demux->segment_start);
+             goto finish;
+           }
+
+           /* read master + parse */
+           switch (id) {
+             case GST_MATROSKA_ID_CUES:
+               if (!gst_ebml_read_master (ebml, &id))
+                 res = FALSE;
+               else if (!gst_matroska_demux_parse_index (demux, TRUE) &&
+                   gst_bytestream_length (ebml->bs) !=
+                   gst_bytestream_tell (ebml->bs))
+                 res = FALSE;
+               else
+                 demux->index_parsed = TRUE;
+               break;
+             case GST_MATROSKA_ID_TAGS:
+               if (!gst_ebml_read_master (ebml, &id))
+                 res = FALSE;
+               else if (!gst_matroska_demux_parse_metadata (demux, TRUE) &&
+                   gst_bytestream_length (ebml->bs) !=
+                   gst_bytestream_tell (ebml->bs))
+                 res = FALSE;
+               else
+                 demux->metadata_parsed = TRUE;
+               break;
+           }
+           if (!res)
+             break;
+
+         finish:
+           /* remove dummy level */
+           while (ebml->level) {
+             guint64 length;
+
+             level = g_list_last (ebml->level)->data;
+             ebml->level = g_list_remove (ebml->level, level);
+             length = level->length;
+             g_free (level);
+             if (length == G_MAXUINT64)
+               break;
+           }
+
+           /* seek back */
+           if (!(event = gst_ebml_read_seek (ebml, before_pos)))
+             return FALSE;
+           gst_event_unref (event);
+           demux->level_up = level_up;
+           break;
+         }
+
+         default:
+           GST_INFO ("Ignoring seekhead entry for ID=0x%x", seek_id);
+           break;
+       }
+
+       break;
       }
 
       default:
-        GST_WARNING ("Unknown seekhead ID 0x%x", id);
-        /* fall-through */
+       GST_WARNING ("Unknown seekhead ID 0x%x", id);
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -2038,7 +2046,7 @@ gst_matroska_demux_parse_contents (GstMatroskaDemux *demux)
 }
 
 static gboolean
-gst_matroska_demux_loop_stream (GstMatroskaDemux *demux)
+gst_matroska_demux_loop_stream (GstMatroskaDemux * demux)
 {
   GstEbmlRead *ebml = GST_EBML_READ (demux);
   gboolean res = TRUE;
@@ -2055,88 +2063,88 @@ gst_matroska_demux_loop_stream (GstMatroskaDemux *demux)
     }
 
     switch (id) {
-      /* stream info */
-      case GST_MATROSKA_ID_INFO: {
-        if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-        res = gst_matroska_demux_parse_info (demux);
-        break;
+       /* stream info */
+      case GST_MATROSKA_ID_INFO:{
+       if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+       res = gst_matroska_demux_parse_info (demux);
+       break;
       }
 
-      /* track info headers */
-      case GST_MATROSKA_ID_TRACKS: {
-        if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-        res = gst_matroska_demux_parse_tracks (demux);
-        break;
+       /* track info headers */
+      case GST_MATROSKA_ID_TRACKS:{
+       if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+       res = gst_matroska_demux_parse_tracks (demux);
+       break;
       }
 
-      /* stream index */
-      case GST_MATROSKA_ID_CUES: {
-        if (!demux->index_parsed) {
-          if (!gst_ebml_read_master (ebml, &id)) {
-            res = FALSE;
-            break;
-          }
-          res = gst_matroska_demux_parse_index (demux, FALSE);
-        } else
-          res = gst_ebml_read_skip (ebml);
-        break;
+       /* stream index */
+      case GST_MATROSKA_ID_CUES:{
+       if (!demux->index_parsed) {
+         if (!gst_ebml_read_master (ebml, &id)) {
+           res = FALSE;
+           break;
+         }
+         res = gst_matroska_demux_parse_index (demux, FALSE);
+       } else
+         res = gst_ebml_read_skip (ebml);
+       break;
       }
 
-      /* metadata */
-      case GST_MATROSKA_ID_TAGS: {
-        if (!demux->index_parsed) {
-          if (!gst_ebml_read_master (ebml, &id)) {
-            res = FALSE;
-            break;
-          }
-          res = gst_matroska_demux_parse_metadata (demux, FALSE);
-        } else
-          res = gst_ebml_read_skip (ebml);
-        break;
+       /* metadata */
+      case GST_MATROSKA_ID_TAGS:{
+       if (!demux->index_parsed) {
+         if (!gst_ebml_read_master (ebml, &id)) {
+           res = FALSE;
+           break;
+         }
+         res = gst_matroska_demux_parse_metadata (demux, FALSE);
+       } else
+         res = gst_ebml_read_skip (ebml);
+       break;
       }
 
-      /* file index (if seekable, seek to Cues/Tags to parse it) */
-      case GST_MATROSKA_ID_SEEKHEAD: {
-        if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-        res = gst_matroska_demux_parse_contents (demux);
-        break;
+       /* file index (if seekable, seek to Cues/Tags to parse it) */
+      case GST_MATROSKA_ID_SEEKHEAD:{
+       if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+       res = gst_matroska_demux_parse_contents (demux);
+       break;
       }
 
-      case GST_MATROSKA_ID_CLUSTER: {
-        if (!gst_ebml_read_master (ebml, &id)) {
-          res = FALSE;
-          break;
-        }
-        /* The idea is that we parse one cluster per loop and
-         * then break out of the loop here. In the next call
-         * of the loopfunc, we will get back here with the
-         * next cluster. If an error occurs, we didn't
-         * actually push a buffer, but we still want to break
-         * out of the loop to handle a possible error. We'll
-         * get back here if it's recoverable. */
-        gst_matroska_demux_parse_cluster (demux);
-        demux->state = GST_MATROSKA_DEMUX_STATE_DATA;
-        res = FALSE;
-        break;
+      case GST_MATROSKA_ID_CLUSTER:{
+       if (!gst_ebml_read_master (ebml, &id)) {
+         res = FALSE;
+         break;
+       }
+       /* The idea is that we parse one cluster per loop and
+        * then break out of the loop here. In the next call
+        * of the loopfunc, we will get back here with the
+        * next cluster. If an error occurs, we didn't
+        * actually push a buffer, but we still want to break
+        * out of the loop to handle a possible error. We'll
+        * get back here if it's recoverable. */
+       gst_matroska_demux_parse_cluster (demux);
+       demux->state = GST_MATROSKA_DEMUX_STATE_DATA;
+       res = FALSE;
+       break;
       }
 
       default:
-        GST_WARNING ("Unknown matroska file header ID 0x%x", id);
-        /* fall-through */
+       GST_WARNING ("Unknown matroska file header ID 0x%x", id);
+       /* fall-through */
 
       case GST_EBML_ID_VOID:
-        if (!gst_ebml_read_skip (ebml))
-          res = FALSE;
-        break;
+       if (!gst_ebml_read_skip (ebml))
+         res = FALSE;
+       break;
     }
 
     if (demux->level_up) {
@@ -2149,7 +2157,7 @@ gst_matroska_demux_loop_stream (GstMatroskaDemux *demux)
 }
 
 static void
-gst_matroska_demux_loop (GstElement *element)
+gst_matroska_demux_loop (GstElement * element)
 {
   GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (element);
 
@@ -2165,14 +2173,10 @@ gst_matroska_demux_loop (GstElement *element)
 }
 
 static GstCaps *
-gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *videocontext,
-                              const gchar                  *codec_id,
-                              gpointer                      data,
-                              guint                         size,
-                              GstMatroskaDemux              *demux)
+gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext * videocontext,
+    const gchar * codec_id, gpointer data, guint size, GstMatroskaDemux * demux)
 {
-  GstMatroskaTrackContext *context =
-       (GstMatroskaTrackContext *) videocontext;
+  GstMatroskaTrackContext *context = (GstMatroskaTrackContext *) videocontext;
   GstCaps *caps = NULL;
 
   if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_VFW_FOURCC)) {
@@ -2181,39 +2185,42 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *videocontext,
     if (data) {
       char *codec_name = NULL;
       GstTagList *list = gst_tag_list_new ();
-      
+
       vids = (gst_riff_strf_vids *) data;
 
       /* assure size is big enough */
       if (size < 24) {
-        GST_WARNING ("Too small BITMAPINFOHEADER (%d bytes)", size);
-        return NULL;
+       GST_WARNING ("Too small BITMAPINFOHEADER (%d bytes)", size);
+       return NULL;
       }
       if (size < sizeof (gst_riff_strf_vids)) {
-        vids = (gst_riff_strf_vids *) g_realloc (vids, sizeof (gst_riff_strf_vids));
+       vids =
+           (gst_riff_strf_vids *) g_realloc (vids,
+           sizeof (gst_riff_strf_vids));
       }
 
       /* little-endian -> byte-order */
-      vids->size        = GUINT32_FROM_LE (vids->size);
-      vids->width       = GUINT32_FROM_LE (vids->width);
-      vids->height      = GUINT32_FROM_LE (vids->height);
-      vids->planes      = GUINT16_FROM_LE (vids->planes);
-      vids->bit_cnt     = GUINT16_FROM_LE (vids->bit_cnt);
+      vids->size = GUINT32_FROM_LE (vids->size);
+      vids->width = GUINT32_FROM_LE (vids->width);
+      vids->height = GUINT32_FROM_LE (vids->height);
+      vids->planes = GUINT16_FROM_LE (vids->planes);
+      vids->bit_cnt = GUINT16_FROM_LE (vids->bit_cnt);
       vids->compression = GUINT32_FROM_LE (vids->compression);
-      vids->image_size  = GUINT32_FROM_LE (vids->image_size);
+      vids->image_size = GUINT32_FROM_LE (vids->image_size);
       vids->xpels_meter = GUINT32_FROM_LE (vids->xpels_meter);
       vids->ypels_meter = GUINT32_FROM_LE (vids->ypels_meter);
-      vids->num_colors  = GUINT32_FROM_LE (vids->num_colors);
-      vids->imp_colors  = GUINT32_FROM_LE (vids->imp_colors);
+      vids->num_colors = GUINT32_FROM_LE (vids->num_colors);
+      vids->imp_colors = GUINT32_FROM_LE (vids->imp_colors);
 
       caps = gst_riff_create_video_caps (vids->compression, NULL, vids,
-                                         &codec_name);
+         &codec_name);
       gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_VIDEO_CODEC,
-                        codec_name, NULL);
+         codec_name, NULL);
       if (GST_IS_ELEMENT (demux))
-        gst_element_found_tags (GST_ELEMENT (demux), list);
+       gst_element_found_tags (GST_ELEMENT (demux), list);
       gst_tag_list_free (list);
-      if (codec_name) g_free (codec_name);
+      if (codec_name)
+       g_free (codec_name);
     } else {
       caps = gst_riff_create_video_template_caps ();
     }
@@ -2223,15 +2230,15 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *videocontext,
       guint32 fourcc = 0;
 
       switch (videocontext->fourcc) {
-        case GST_MAKE_FOURCC ('I','4','2','0'):
-        case GST_MAKE_FOURCC ('Y','U','Y','2'):
-          fourcc = videocontext->fourcc;
-          break;
-
-        default:
-          GST_DEBUG ("Unknown fourcc " GST_FOURCC_FORMAT,
-                    GST_FOURCC_ARGS (videocontext->fourcc));
-          return NULL;
+       case GST_MAKE_FOURCC ('I', '4', '2', '0'):
+       case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'):
+         fourcc = videocontext->fourcc;
+         break;
+
+       default:
+         GST_DEBUG ("Unknown fourcc " GST_FOURCC_FORMAT,
+             GST_FOURCC_ARGS (videocontext->fourcc));
+         return NULL;
       }
 
       caps = gst_caps_new_simple ("video/x-raw-yuv",
@@ -2244,24 +2251,20 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *videocontext,
     caps = gst_caps_new_simple ("video/x-divx",
        "divxversion", G_TYPE_INT, 4, NULL);
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_ASP) ||
-            !strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_AP)) {
-    caps = gst_caps_new_full (
-       gst_structure_new ("video/x-divx",
-         "divxversion", G_TYPE_INT, 5, NULL),
+      !strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_AP)) {
+    caps = gst_caps_new_full (gst_structure_new ("video/x-divx",
+           "divxversion", G_TYPE_INT, 5, NULL),
        gst_structure_new ("video/x-xvid", NULL),
        gst_structure_new ("video/mpeg",
-         "mpegversion",  G_TYPE_INT, 4,
-         "systemstream", G_TYPE_BOOLEAN, FALSE, NULL),
-       NULL);
+           "mpegversion", G_TYPE_INT, 4,
+           "systemstream", G_TYPE_BOOLEAN, FALSE, NULL), NULL);
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MSMPEG4V3)) {
-    caps = gst_caps_new_full (
-       gst_structure_new ("video/x-divx",
-         "divxversion", G_TYPE_INT, 3, NULL),
+    caps = gst_caps_new_full (gst_structure_new ("video/x-divx",
+           "divxversion", G_TYPE_INT, 3, NULL),
        gst_structure_new ("video/x-msmpeg",
-         "msmpegversion", G_TYPE_INT, 43, NULL),
-       NULL);
+           "msmpegversion", G_TYPE_INT, 43, NULL), NULL);
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEG1) ||
-            !strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEG2)) {
+      !strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEG2)) {
     gint mpegversion = -1;
 
     if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MPEG1))
@@ -2273,12 +2276,11 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *videocontext,
 
     caps = gst_caps_new_simple ("video/mpeg",
        "systemstream", G_TYPE_BOOLEAN, FALSE,
-       "mpegversion",  G_TYPE_INT, mpegversion, NULL);
+       "mpegversion", G_TYPE_INT, mpegversion, NULL);
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_VIDEO_MJPEG)) {
     caps = gst_caps_new_simple ("video/x-jpeg", NULL);
   } else {
-    GST_WARNING ("Unknown codec '%s', cannot build Caps",
-                codec_id);
+    GST_WARNING ("Unknown codec '%s', cannot build Caps", codec_id);
     return NULL;
   }
 
@@ -2286,54 +2288,49 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *videocontext,
     int i;
     GstStructure *structure;
 
-    for (i=0;i<gst_caps_get_size(caps);i++){
+    for (i = 0; i < gst_caps_get_size (caps); i++) {
       structure = gst_caps_get_structure (caps, i);
       if (videocontext != NULL) {
-        if (videocontext->pixel_width > 0 &&
-            videocontext->pixel_height > 0) {
-          gint w = videocontext->pixel_width;
-          gint h = videocontext->pixel_height;
+       if (videocontext->pixel_width > 0 && videocontext->pixel_height > 0) {
+         gint w = videocontext->pixel_width;
+         gint h = videocontext->pixel_height;
 
          gst_structure_set (structure,
-             "width", G_TYPE_INT, w,
-             "height", G_TYPE_INT, h, NULL);
-        } else {
+             "width", G_TYPE_INT, w, "height", G_TYPE_INT, h, NULL);
+       } else {
          gst_structure_set (structure,
              "width", GST_TYPE_INT_RANGE, 16, 4096,
-             "height", GST_TYPE_INT_RANGE, 16, 4096,
-              NULL);
-        }
+             "height", GST_TYPE_INT_RANGE, 16, 4096, NULL);
+       }
 #if 0
-        if (videocontext->display_width > 0 &&
-           videocontext->display_height > 0) {
-          gint w = 100 * videocontext->display_width / videocontext->pixel_width;
-          gint h = 100 * videocontext->display_height / videocontext->pixel_height;
+       if (videocontext->display_width > 0 && videocontext->display_height > 0) {
+         gint w =
+             100 * videocontext->display_width / videocontext->pixel_width;
+         gint h =
+             100 * videocontext->display_height / videocontext->pixel_height;
 
          gst_structure_set (structure,
              "pixel_width", G_TYPE_INT, w,
-              "pixel_height", G_TYPE_INT, h,
-             NULL);
-        }
+             "pixel_height", G_TYPE_INT, h, NULL);
+       }
 #endif
-        if (context->default_duration > 0) {
-          gfloat framerate = 1. * GST_SECOND / context->default_duration;
+       if (context->default_duration > 0) {
+         gfloat framerate = 1. * GST_SECOND / context->default_duration;
 
          gst_structure_set (structure,
              "framerate", G_TYPE_DOUBLE, framerate, NULL);
-        } else {
-          /* sort of a hack to get most codecs to support,
+       } else {
+         /* sort of a hack to get most codecs to support,
           * even if the default_duration is missing */
-         gst_structure_set (structure,
-             "framerate", G_TYPE_DOUBLE, 25.0, NULL);
-        }
+         gst_structure_set (structure, "framerate", G_TYPE_DOUBLE, 25.0, NULL);
+       }
       } else {
        gst_structure_set (structure,
            "width", GST_TYPE_INT_RANGE, 16, 4096,
            "height", GST_TYPE_INT_RANGE, 16, 4096,
            "pixel_width", GST_TYPE_INT_RANGE, 0, 255,
            "pixel_height", GST_TYPE_INT_RANGE, 0, 255,
-            "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE,
-           NULL);
+           "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE, NULL);
       }
     }
   }
@@ -2342,14 +2339,10 @@ gst_matroska_demux_video_caps (GstMatroskaTrackVideoContext *videocontext,
 }
 
 static GstCaps *
-gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *audiocontext,
-                              const gchar                  *codec_id,
-                              gpointer                      data,
-                              guint                         size,
-                              GstMatroskaDemux              *demux)
+gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext * audiocontext,
+    const gchar * codec_id, gpointer data, guint size, GstMatroskaDemux * demux)
 {
-  GstMatroskaTrackContext *context =
-       (GstMatroskaTrackContext *) audiocontext;
+  GstMatroskaTrackContext *context = (GstMatroskaTrackContext *) audiocontext;
   GstCaps *caps = NULL;
 
   if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L1) ||
@@ -2367,10 +2360,9 @@ gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *audiocontext,
       g_assert (0);
 
     caps = gst_caps_new_simple ("audio/mpeg",
-       "mpegversion", G_TYPE_INT, 1,
-       "layer",        G_TYPE_INT, layer, NULL);
+       "mpegversion", G_TYPE_INT, 1, "layer", G_TYPE_INT, layer, NULL);
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_BE) ||
-            !strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_LE)) {
+      !strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_LE)) {
     gint endianness = -1;
 
     if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_BE))
@@ -2388,8 +2380,7 @@ gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *audiocontext,
     } else {
       caps = gst_caps_from_string ("audio/x-raw-int, "
          "signed = (boolean) { TRUE, FALSE }, "
-         "depth = (int) { 8, 16 }, "
-         "width = (int) { 8, 16 }");
+         "depth = (int) { 8, 16 }, " "width = (int) { 8, 16 }");
     }
     gst_caps_set_simple (caps, "endianness", G_TYPE_INT, endianness, NULL);
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_PCM_FLOAT)) {
@@ -2400,11 +2391,10 @@ gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *audiocontext,
       gst_caps_set_simple (caps,
          "width", G_TYPE_INT, audiocontext->bitdepth, NULL);
     } else {
-      gst_caps_set_simple (caps,
-         "width", GST_TYPE_INT_RANGE, 32, 64, NULL);
+      gst_caps_set_simple (caps, "width", GST_TYPE_INT_RANGE, 32, 64, NULL);
     }
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_AC3) ||
-            !strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_DTS)) {
+      !strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_DTS)) {
     caps = gst_caps_new_simple ("audio/x-ac3", NULL);
   } else if (!strcmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_VORBIS)) {
     caps = gst_caps_new_simple ("audio/x-vorbis", NULL);
@@ -2414,47 +2404,47 @@ gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *audiocontext,
     if (data) {
       char *codec_name = NULL;
       GstTagList *list = gst_tag_list_new ();
-      
+
       auds = (gst_riff_strf_auds *) data;
 
       /* little-endian -> byte-order */
-      auds->format     = GUINT16_FROM_LE (auds->format);
-      auds->channels   = GUINT16_FROM_LE (auds->channels);
-      auds->rate       = GUINT32_FROM_LE (auds->rate);
-      auds->av_bps     = GUINT32_FROM_LE (auds->av_bps);
+      auds->format = GUINT16_FROM_LE (auds->format);
+      auds->channels = GUINT16_FROM_LE (auds->channels);
+      auds->rate = GUINT32_FROM_LE (auds->rate);
+      auds->av_bps = GUINT32_FROM_LE (auds->av_bps);
       auds->blockalign = GUINT16_FROM_LE (auds->blockalign);
-      auds->size       = GUINT16_FROM_LE (auds->size);
+      auds->size = GUINT16_FROM_LE (auds->size);
 
       caps = gst_riff_create_audio_caps (auds->format, NULL, auds, &codec_name);
       gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_AUDIO_CODEC,
-                        codec_name, NULL);
+         codec_name, NULL);
       if (GST_IS_ELEMENT (demux))
-        gst_element_found_tags (GST_ELEMENT (demux), list);
+       gst_element_found_tags (GST_ELEMENT (demux), list);
       gst_tag_list_free (list);
-      if (codec_name) g_free (codec_name);
+      if (codec_name)
+       g_free (codec_name);
     } else {
       caps = gst_riff_create_audio_template_caps ();
     }
   } else if (!strncmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_MPEG2,
-                      strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG2)) ||
-             !strncmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_MPEG4,
-                      strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG4))) {
+         strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG2)) ||
+      !strncmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_MPEG4,
+         strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG4))) {
     gint mpegversion = -1;
 
     if (!strncmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_MPEG2,
-                      strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG2)))
+           strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG2)))
       mpegversion = 2;
     else if (!strncmp (codec_id, GST_MATROSKA_CODEC_ID_AUDIO_MPEG4,
-                      strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG4)))
+           strlen (GST_MATROSKA_CODEC_ID_AUDIO_MPEG4)))
       mpegversion = 4;
     else
       g_assert (0);
 
     caps = gst_caps_new_simple ("audio/mpeg",
-       "mpegversion",  G_TYPE_INT, mpegversion, NULL);
+       "mpegversion", G_TYPE_INT, mpegversion, NULL);
   } else {
-    GST_WARNING ("Unknown codec '%s', cannot build Caps",
-                codec_id);
+    GST_WARNING ("Unknown codec '%s', cannot build Caps", codec_id);
     return NULL;
   }
 
@@ -2462,21 +2452,18 @@ gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *audiocontext,
     GstStructure *structure;
     int i;
 
-    for (i=0; i<gst_caps_get_size(caps); i++){
+    for (i = 0; i < gst_caps_get_size (caps); i++) {
       structure = gst_caps_get_structure (caps, i);
       if (audiocontext != NULL) {
-        if (audiocontext->samplerate > 0 &&
-            audiocontext->channels > 0) {
+       if (audiocontext->samplerate > 0 && audiocontext->channels > 0) {
          gst_structure_set (structure,
              "channels", G_TYPE_INT, audiocontext->channels,
-             "rate", G_TYPE_INT, audiocontext->samplerate,
-             NULL);
-        }
+             "rate", G_TYPE_INT, audiocontext->samplerate, NULL);
+       }
       } else {
        gst_structure_set (structure,
            "channels", GST_TYPE_INT_RANGE, 1, 6,
-           "rate", GST_TYPE_INT_RANGE, 4000, 96000,
-           NULL);
+           "rate", GST_TYPE_INT_RANGE, 4000, 96000, NULL);
       }
     }
   }
@@ -2485,10 +2472,8 @@ gst_matroska_demux_audio_caps (GstMatroskaTrackAudioContext *audiocontext,
 }
 
 static GstCaps *
-gst_matroska_demux_complex_caps (GstMatroskaTrackComplexContext *complexcontext,
-                                const gchar                    *codec_id,
-                                gpointer                        data,
-                                guint                           size)
+gst_matroska_demux_complex_caps (GstMatroskaTrackComplexContext *
+    complexcontext, const gchar * codec_id, gpointer data, guint size)
 {
   GstCaps *caps = NULL;
 
@@ -2498,10 +2483,8 @@ gst_matroska_demux_complex_caps (GstMatroskaTrackComplexContext *complexcontext,
 }
 
 static GstCaps *
-gst_matroska_demux_subtitle_caps (GstMatroskaTrackSubtitleContext *subtitlecontext,
-                                 const gchar                     *codec_id,
-                                 gpointer                         data,
-                                 guint                            size)
+gst_matroska_demux_subtitle_caps (GstMatroskaTrackSubtitleContext *
+    subtitlecontext, const gchar * codec_id, gpointer data, guint size)
 {
   GstCaps *caps = NULL;
 
@@ -2511,7 +2494,7 @@ gst_matroska_demux_subtitle_caps (GstMatroskaTrackSubtitleContext *subtitleconte
 }
 
 static GstElementStateReturn
-gst_matroska_demux_change_state (GstElement *element)
+gst_matroska_demux_change_state (GstElement * element)
 {
   GstMatroskaDemux *demux = GST_MATROSKA_DEMUX (element);
 
@@ -2530,10 +2513,8 @@ gst_matroska_demux_change_state (GstElement *element)
 }
 
 static void
-gst_matroska_demux_get_property (GObject    *object,
-                                guint       prop_id,
-                                GValue     *value,
-                                GParamSpec *pspec)
+gst_matroska_demux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
   GstMatroskaDemux *demux;
 
@@ -2554,7 +2535,7 @@ gst_matroska_demux_get_property (GObject    *object,
 }
 
 gboolean
-gst_matroska_demux_plugin_init (GstPlugin *plugin)
+gst_matroska_demux_plugin_init (GstPlugin * plugin)
 {
   gint i;
   GstCaps *videosrccaps, *audiosrccaps, *subtitlesrccaps, *temp;
@@ -2572,30 +2553,25 @@ gst_matroska_demux_plugin_init (GstPlugin *plugin)
     NULL,
   }, *audio_id[] = {
     GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L1,
-    GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L2,
-    GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L3,
-    GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_BE,
-    GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_LE,
-    GST_MATROSKA_CODEC_ID_AUDIO_PCM_FLOAT,
-    GST_MATROSKA_CODEC_ID_AUDIO_AC3,
-    GST_MATROSKA_CODEC_ID_AUDIO_ACM,
-    GST_MATROSKA_CODEC_ID_AUDIO_VORBIS,
-    GST_MATROSKA_CODEC_ID_AUDIO_MPEG2,
-    GST_MATROSKA_CODEC_ID_AUDIO_MPEG4,
-    /* TODO: AC3-9/10, Real, Musepack, Quicktime */
+       GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L2,
+       GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L3,
+       GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_BE,
+       GST_MATROSKA_CODEC_ID_AUDIO_PCM_INT_LE,
+       GST_MATROSKA_CODEC_ID_AUDIO_PCM_FLOAT,
+       GST_MATROSKA_CODEC_ID_AUDIO_AC3,
+       GST_MATROSKA_CODEC_ID_AUDIO_ACM,
+       GST_MATROSKA_CODEC_ID_AUDIO_VORBIS,
+       GST_MATROSKA_CODEC_ID_AUDIO_MPEG2, GST_MATROSKA_CODEC_ID_AUDIO_MPEG4,
+       /* TODO: AC3-9/10, Real, Musepack, Quicktime */
+       /* FILLME */
+  NULL,}, *complex_id[] = {
     /* FILLME */
-    NULL,
-  }, *complex_id[] = {
-    /* FILLME */
-    NULL,
-  }, *subtitle_id[] = {
+  NULL,}, *subtitle_id[] = {
     /* FILLME */
-    NULL,
-  };
+  NULL,};
 
   /* this filter needs the riff parser */
-  if (!gst_library_load ("gstbytestream") ||
-      !gst_library_load ("riff")) /* for fourcc stuff */
+  if (!gst_library_load ("gstbytestream") || !gst_library_load ("riff"))       /* for fourcc stuff */
     return FALSE;
 
   /* video src template */
@@ -2609,9 +2585,7 @@ gst_matroska_demux_plugin_init (GstPlugin *plugin)
     gst_caps_append (videosrccaps, temp);
   }
   videosrctempl = gst_pad_template_new ("video_%02d",
-                                       GST_PAD_SRC,
-                                       GST_PAD_SOMETIMES,
-                                       videosrccaps);
+      GST_PAD_SRC, GST_PAD_SOMETIMES, videosrccaps);
 
   audiosrccaps = gst_caps_new_empty ();
   /* audio src template */
@@ -2620,9 +2594,7 @@ gst_matroska_demux_plugin_init (GstPlugin *plugin)
     gst_caps_append (audiosrccaps, temp);
   }
   audiosrctempl = gst_pad_template_new ("audio_%02d",
-                                       GST_PAD_SRC,
-                                       GST_PAD_SOMETIMES,
-                                       audiosrccaps);
+      GST_PAD_SRC, GST_PAD_SOMETIMES, audiosrccaps);
 
   subtitlesrccaps = gst_caps_new_empty ();
   /* subtitle src template */
@@ -2631,13 +2603,11 @@ gst_matroska_demux_plugin_init (GstPlugin *plugin)
     gst_caps_append (subtitlesrccaps, temp);
   }
   subtitlesrctempl = gst_pad_template_new ("subtitle_%02d",
-                                          GST_PAD_SRC,
-                                          GST_PAD_SOMETIMES,
-                                          subtitlesrccaps);
+      GST_PAD_SRC, GST_PAD_SOMETIMES, subtitlesrccaps);
 
   /* create an elementfactory for the matroska_demux element */
   if (!gst_element_register (plugin, "matroskademux",
-                            GST_RANK_PRIMARY, GST_TYPE_MATROSKA_DEMUX))
+         GST_RANK_PRIMARY, GST_TYPE_MATROSKA_DEMUX))
     return FALSE;
 
   return TRUE;
index e393a52..7d55a22 100644 (file)
@@ -29,7 +29,6 @@
 #include "matroska-ids.h"
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_MATROSKA_DEMUX \
   (gst_matroska_demux_get_type ())
 #define GST_MATROSKA_DEMUX(obj) \
@@ -40,71 +39,69 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MATROSKA_DEMUX))
 #define GST_IS_MATROSKA_DEMUX_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MATROSKA_DEMUX))
-
-#define GST_MATROSKA_DEMUX_MAX_STREAMS 64      
-
-typedef enum {
+#define GST_MATROSKA_DEMUX_MAX_STREAMS 64
+    typedef enum
+{
   GST_MATROSKA_DEMUX_STATE_START,
   GST_MATROSKA_DEMUX_STATE_HEADER,
   GST_MATROSKA_DEMUX_STATE_DATA
 } GstMatroskaDemuxState;
 
-typedef struct _GstMatroskaDemuxIndex {
-  guint64        pos;   /* of the corresponding *cluster*! */
-  guint16        track; /* reference to 'num' */
-  guint64        time;  /* in nanoseconds */
+typedef struct _GstMatroskaDemuxIndex
+{
+  guint64 pos;                 /* of the corresponding *cluster*! */
+  guint16 track;               /* reference to 'num' */
+  guint64 time;                        /* in nanoseconds */
 } GstMatroskaDemuxIndex;
 
-typedef struct _GstMatroskaDemux {
-  GstEbmlRead    parent;
+typedef struct _GstMatroskaDemux
+{
+  GstEbmlRead parent;
 
   /* pads */
-  GstPad       *sinkpad;
+  GstPad *sinkpad;
   GstMatroskaTrackContext *src[GST_MATROSKA_DEMUX_MAX_STREAMS];
-  guint          num_streams,
-                 num_v_streams, num_a_streams, num_t_streams;
-  GstClock     *clock;
+  guint num_streams, num_v_streams, num_a_streams, num_t_streams;
+  GstClock *clock;
 
   /* metadata */
-  GstCaps      *metadata;
-  GstCaps      *streaminfo;
-  gchar         *muxing_app, *writing_app;
-  gint64         created;
+  GstCaps *metadata;
+  GstCaps *streaminfo;
+  gchar *muxing_app, *writing_app;
+  gint64 created;
 
   /* state */
   GstMatroskaDemuxState state;
-  guint          level_up;
+  guint level_up;
 
   /* did we parse metadata/cues already? */
-  gboolean       metadata_parsed,
-                index_parsed;
+  gboolean metadata_parsed, index_parsed;
 
   /* start-of-segment */
-  guint64        segment_start;
+  guint64 segment_start;
 
   /* a cue (index) table */
   GstMatroskaIndex *index;
-  guint          num_indexes;
+  guint num_indexes;
 
   /* timescale in the file */
-  guint64        time_scale;
+  guint64 time_scale;
 
   /* length, position (time, ns) */
-  guint64        duration,
-                pos;
+  guint64 duration, pos;
 
   /* a possible pending seek */
-  guint64        seek_pending;
+  guint64 seek_pending;
 } GstMatroskaDemux;
 
-typedef struct _GstMatroskaDemuxClass {
+typedef struct _GstMatroskaDemuxClass
+{
   GstEbmlReadClass parent;
 } GstMatroskaDemuxClass;
 
-GType    gst_matroska_demux_get_type    (void);
+GType gst_matroska_demux_get_type (void);
 
-gboolean gst_matroska_demux_plugin_init (GstPlugin *plugin);
+gboolean gst_matroska_demux_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
-
 #endif /* __GST_MATROSKA_DEMUX_H__ */
index 64f25c0..eb4fb31 100644 (file)
  * value to what it actually means).
  */
 
-typedef enum {
-  GST_MATROSKA_TRACK_TYPE_VIDEO    = 0x1,
-  GST_MATROSKA_TRACK_TYPE_AUDIO    = 0x2,
-  GST_MATROSKA_TRACK_TYPE_COMPLEX  = 0x3,
-  GST_MATROSKA_TRACK_TYPE_LOGO     = 0x10,
+typedef enum
+{
+  GST_MATROSKA_TRACK_TYPE_VIDEO = 0x1,
+  GST_MATROSKA_TRACK_TYPE_AUDIO = 0x2,
+  GST_MATROSKA_TRACK_TYPE_COMPLEX = 0x3,
+  GST_MATROSKA_TRACK_TYPE_LOGO = 0x10,
   GST_MATROSKA_TRACK_TYPE_SUBTITLE = 0x11,
-  GST_MATROSKA_TRACK_TYPE_CONTROL  = 0x20,
+  GST_MATROSKA_TRACK_TYPE_CONTROL = 0x20,
 } GstMatroskaTrackType;
 
-typedef enum {
-  GST_MATROSKA_EYE_MODE_MONO  = 0x0,
+typedef enum
+{
+  GST_MATROSKA_EYE_MODE_MONO = 0x0,
   GST_MATROSKA_EYE_MODE_RIGHT = 0x1,
-  GST_MATROSKA_EYE_MODE_LEFT  = 0x2,
-  GST_MATROSKA_EYE_MODE_BOTH  = 0x3,
+  GST_MATROSKA_EYE_MODE_LEFT = 0x2,
+  GST_MATROSKA_EYE_MODE_BOTH = 0x3,
 } GstMatroskaEyeMode;
 
-typedef enum {
-  GST_MATROSKA_ASPECT_RATIO_MODE_FREE  = 0x0,
-  GST_MATROSKA_ASPECT_RATIO_MODE_KEEP  = 0x1,
+typedef enum
+{
+  GST_MATROSKA_ASPECT_RATIO_MODE_FREE = 0x0,
+  GST_MATROSKA_ASPECT_RATIO_MODE_KEEP = 0x1,
   GST_MATROSKA_ASPECT_RATIO_MODE_FIXED = 0x2,
 } GstMatroskaAspectRatioMode;
 
@@ -175,64 +178,71 @@ typedef enum {
  * it's just something I use in the muxer/demuxer.
  */
 
-typedef enum {
-  GST_MATROSKA_TRACK_ENABLED = (1<<0),
-  GST_MATROSKA_TRACK_DEFAULT = (1<<1),
-  GST_MATROSKA_TRACK_LACING  = (1<<2),
-  GST_MATROSKA_TRACK_SHIFT   = (1<<16)
+typedef enum
+{
+  GST_MATROSKA_TRACK_ENABLED = (1 << 0),
+  GST_MATROSKA_TRACK_DEFAULT = (1 << 1),
+  GST_MATROSKA_TRACK_LACING = (1 << 2),
+  GST_MATROSKA_TRACK_SHIFT = (1 << 16)
 } GstMatroskaTrackFlags;
 
-typedef enum {
-  GST_MATROSKA_VIDEOTRACK_INTERLACED = (GST_MATROSKA_TRACK_SHIFT<<0)
+typedef enum
+{
+  GST_MATROSKA_VIDEOTRACK_INTERLACED = (GST_MATROSKA_TRACK_SHIFT << 0)
 } GstMatroskaVideoTrackFlags;
 
-typedef struct _GstMatroskaTrackContext {
-  GstPad       *pad;
-  GstCaps      *caps;
-  guint        index;
+typedef struct _GstMatroskaTrackContext
+{
+  GstPad *pad;
+  GstCaps *caps;
+  guint index;
 
   /* some often-used info */
-  gchar        *codec_id, *codec_name, *name, *language;
-  gpointer      codec_priv;
-  guint         codec_priv_size;
+  gchar *codec_id, *codec_name, *name, *language;
+  gpointer codec_priv;
+  guint codec_priv_size;
   GstMatroskaTrackType type;
-  guint         uid, num;
+  guint uid, num;
   GstMatroskaTrackFlags flags;
-  guint64       default_duration;
+  guint64 default_duration;
 } GstMatroskaTrackContext;
 
-typedef struct _GstMatroskaTrackVideoContext {
+typedef struct _GstMatroskaTrackVideoContext
+{
   GstMatroskaTrackContext parent;
 
-  guint         pixel_width, pixel_height,
-                display_width, display_height;
+  guint pixel_width, pixel_height, display_width, display_height;
   GstMatroskaEyeMode eye_mode;
   GstMatroskaAspectRatioMode asr_mode;
-  guint32       fourcc;
+  guint32 fourcc;
 } GstMatroskaTrackVideoContext;
 
-typedef struct _GstMatroskaTrackAudioContext {
+typedef struct _GstMatroskaTrackAudioContext
+{
   GstMatroskaTrackContext parent;
 
-  guint         samplerate, channels, bitdepth;
+  guint samplerate, channels, bitdepth;
 } GstMatroskaTrackAudioContext;
 
-typedef struct _GstMatroskaTrackComplexContext {
+typedef struct _GstMatroskaTrackComplexContext
+{
   GstMatroskaTrackContext parent;
 
   /* nothing special goes here, apparently */
 } GstMatroskaTrackComplexContext;
 
-typedef struct _GstMatroskaTrackSubtitleContext {
+typedef struct _GstMatroskaTrackSubtitleContext
+{
   GstMatroskaTrackContext parent;
 
   /* or here... */
 } GstMatroskaTrackSubtitleContext;
 
-typedef struct _GstMatroskaIndex {
-  guint64        pos;   /* of the corresponding *cluster*! */
-  guint16        track; /* reference to 'num' */
-  guint64        time;  /* in nanoseconds */
+typedef struct _GstMatroskaIndex
+{
+  guint64 pos;                 /* of the corresponding *cluster*! */
+  guint16 track;               /* reference to 'num' */
+  guint64 time;                        /* in nanoseconds */
 } GstMatroskaIndex;
 
 #endif /* __GST_MATROSKA_IDS_H__ */
index a80be30..ebaff88 100644 (file)
 #include "matroska-mux.h"
 #include "matroska-ids.h"
 
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_METADATA,
   /* FILL ME */
 };
 
-static GstStaticPadTemplate src_templ =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("video/x-matroska")
-);
+static GstStaticPadTemplate src_templ = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-matroska")
+    );
 
 #define COMMON_VIDEO_CAPS \
   "width = (int) [ 16, 4096 ], " \
@@ -54,28 +54,24 @@ GST_STATIC_PAD_TEMPLATE (
   "framerate = (double) [ 0, MAX ]"
 
 static GstStaticPadTemplate videosink_templ =
-GST_STATIC_PAD_TEMPLATE (
-  "video_%d",
-  GST_PAD_SINK,
-  GST_PAD_REQUEST,
-  GST_STATIC_CAPS (
-    "video/mpeg, "
-      "mpegversion = (int) { 1, 2, 4 }, "
-      "systemstream = (boolean) false, "
-      COMMON_VIDEO_CAPS "; "
-    "video/x-divx, "
-      COMMON_VIDEO_CAPS "; "
-    "video/x-xvid, "
-      COMMON_VIDEO_CAPS "; "
-    "video/x-msmpeg, "
-      COMMON_VIDEO_CAPS "; "
-    "video/x-jpeg, "
-      COMMON_VIDEO_CAPS "; "
-    "video/x-raw-yuv, "
-      "format = (fourcc) { YUY2, I420 }, "
-      COMMON_VIDEO_CAPS
-  )
-);
+    GST_STATIC_PAD_TEMPLATE ("video_%d",
+    GST_PAD_SINK,
+    GST_PAD_REQUEST,
+    GST_STATIC_CAPS ("video/mpeg, "
+       "mpegversion = (int) { 1, 2, 4 }, "
+       "systemstream = (boolean) false, "
+       COMMON_VIDEO_CAPS "; "
+       "video/x-divx, "
+       COMMON_VIDEO_CAPS "; "
+       "video/x-xvid, "
+       COMMON_VIDEO_CAPS "; "
+       "video/x-msmpeg, "
+       COMMON_VIDEO_CAPS "; "
+       "video/x-jpeg, "
+       COMMON_VIDEO_CAPS "; "
+       "video/x-raw-yuv, "
+       "format = (fourcc) { YUY2, I420 }, " COMMON_VIDEO_CAPS)
+    );
 
 #define COMMON_AUDIO_CAPS \
   "channels = (int) [ 1, 8 ], " \
@@ -86,78 +82,68 @@ GST_STATIC_PAD_TEMPLATE (
  * * audio/x-vorbis: private data setup needs work.
  */
 static GstStaticPadTemplate audiosink_templ =
-GST_STATIC_PAD_TEMPLATE (
-  "audio_%d",
-  GST_PAD_SINK,
-  GST_PAD_REQUEST,
-  GST_STATIC_CAPS (
-    "audio/mpeg, "
-      "mpegversion = (int) 1, "
-      "layer = (int) [ 1, 3 ], "
-      COMMON_AUDIO_CAPS "; "
-    "audio/mpeg, "
-      "mpegversion = (int) { 2, 4 }, "
-      COMMON_AUDIO_CAPS "; "
-    "audio/x-ac3, "
-      COMMON_AUDIO_CAPS "; "
-    "audio/x-raw-int, "
-      "width = (int) { 8, 16, 24 }, "
-      "depth = (int) { 8, 16, 24 }, "
-      "endianness = (int) { BIG_ENDIAN, LITTLE_ENDIAN }, "
-      "signed = (boolean) { true, false }, "
-      COMMON_AUDIO_CAPS
-  )
-);
+    GST_STATIC_PAD_TEMPLATE ("audio_%d",
+    GST_PAD_SINK,
+    GST_PAD_REQUEST,
+    GST_STATIC_CAPS ("audio/mpeg, "
+       "mpegversion = (int) 1, "
+       "layer = (int) [ 1, 3 ], "
+       COMMON_AUDIO_CAPS "; "
+       "audio/mpeg, "
+       "mpegversion = (int) { 2, 4 }, "
+       COMMON_AUDIO_CAPS "; "
+       "audio/x-ac3, "
+       COMMON_AUDIO_CAPS "; "
+       "audio/x-raw-int, "
+       "width = (int) { 8, 16, 24 }, "
+       "depth = (int) { 8, 16, 24 }, "
+       "endianness = (int) { BIG_ENDIAN, LITTLE_ENDIAN }, "
+       "signed = (boolean) { true, false }, " COMMON_AUDIO_CAPS)
+    );
 
 static GstStaticPadTemplate subtitlesink_templ =
-GST_STATIC_PAD_TEMPLATE (
-  "subtitle_%d",
-  GST_PAD_SINK,
-  GST_PAD_REQUEST,
-  GST_STATIC_CAPS_ANY
-);
+GST_STATIC_PAD_TEMPLATE ("subtitle_%d",
+    GST_PAD_SINK,
+    GST_PAD_REQUEST,
+    GST_STATIC_CAPS_ANY);
 
 /* gobject magic foo */
-static void     gst_matroska_mux_base_init         (GstMatroskaMuxClass *klass);
-static void    gst_matroska_mux_class_init         (GstMatroskaMuxClass *klass);
-static void    gst_matroska_mux_init               (GstMatroskaMux *mux);
+static void gst_matroska_mux_base_init (GstMatroskaMuxClass * klass);
+static void gst_matroska_mux_class_init (GstMatroskaMuxClass * klass);
+static void gst_matroska_mux_init (GstMatroskaMux * mux);
 
 /* element functions */
-static void    gst_matroska_mux_loop               (GstElement  *element);
+static void gst_matroska_mux_loop (GstElement * element);
 
 /* pad functions */
-static GstPad *        gst_matroska_mux_request_new_pad    (GstElement *element,
-                                                    GstPadTemplate *templ,
-                                                    const gchar *name);
+static GstPad *gst_matroska_mux_request_new_pad (GstElement * element,
+    GstPadTemplate * templ, const gchar * name);
 
 /* gst internal change state handler */
 static GstElementStateReturn
-               gst_matroska_mux_change_state       (GstElement  *element);
+gst_matroska_mux_change_state (GstElement * element);
 
 /* gobject bla bla */
-static void     gst_matroska_mux_set_property       (GObject     *object,
-                                                    guint        prop_id,      
-                                                    const GValue *value,
-                                                    GParamSpec  *pspec);
-static void     gst_matroska_mux_get_property       (GObject     *object,
-                                                    guint        prop_id,      
-                                                    GValue      *value,
-                                                    GParamSpec  *pspec);
+static void gst_matroska_mux_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_matroska_mux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
 
 /* reset muxer */
-static void     gst_matroska_mux_reset             (GstElement  *element);
+static void gst_matroska_mux_reset (GstElement * element);
 
 static GstEbmlWriteClass *parent_class = NULL;
+
 /*static guint gst_matroska_mux_signals[LAST_SIGNAL] = { 0 };*/
 
 GType
-gst_matroska_mux_get_type (void) 
+gst_matroska_mux_get_type (void)
 {
   static GType gst_matroska_mux_type = 0;
 
   if (!gst_matroska_mux_type) {
     static const GTypeInfo gst_matroska_mux_info = {
-      sizeof (GstMatroskaMuxClass),      
+      sizeof (GstMatroskaMuxClass),
       (GBaseInitFunc) gst_matroska_mux_base_init,
       NULL,
       (GClassInitFunc) gst_matroska_mux_class_init,
@@ -170,15 +156,14 @@ gst_matroska_mux_get_type (void)
 
     gst_matroska_mux_type =
        g_type_register_static (GST_TYPE_EBML_WRITE,
-                               "GstMatroskaMmux",
-                               &gst_matroska_mux_info, 0);
+       "GstMatroskaMmux", &gst_matroska_mux_info, 0);
   }
 
   return gst_matroska_mux_type;
 }
 
 static void
-gst_matroska_mux_base_init (GstMatroskaMuxClass *klass)
+gst_matroska_mux_base_init (GstMatroskaMuxClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
   static GstElementDetails gst_matroska_mux_details = {
@@ -189,19 +174,18 @@ gst_matroska_mux_base_init (GstMatroskaMuxClass *klass)
   };
 
   gst_element_class_add_pad_template (element_class,
-               gst_static_pad_template_get (&videosink_templ));
+      gst_static_pad_template_get (&videosink_templ));
   gst_element_class_add_pad_template (element_class,
-               gst_static_pad_template_get (&audiosink_templ));
+      gst_static_pad_template_get (&audiosink_templ));
   gst_element_class_add_pad_template (element_class,
-               gst_static_pad_template_get (&subtitlesink_templ));
+      gst_static_pad_template_get (&subtitlesink_templ));
   gst_element_class_add_pad_template (element_class,
-               gst_static_pad_template_get (&src_templ));
-  gst_element_class_set_details (element_class,
-               &gst_matroska_mux_details);
+      gst_static_pad_template_get (&src_templ));
+  gst_element_class_set_details (element_class, &gst_matroska_mux_details);
 }
 
 static void
-gst_matroska_mux_class_init (GstMatroskaMuxClass *klass) 
+gst_matroska_mux_class_init (GstMatroskaMuxClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
@@ -210,8 +194,8 @@ gst_matroska_mux_class_init (GstMatroskaMuxClass *klass)
   gstelement_class = (GstElementClass *) klass;
 
   g_object_class_install_property (gobject_class, ARG_METADATA,
-    g_param_spec_boxed ("metadata", "Metadata", "Metadata",
-                        GST_TYPE_CAPS, G_PARAM_READWRITE));
+      g_param_spec_boxed ("metadata", "Metadata", "Metadata",
+         GST_TYPE_CAPS, G_PARAM_READWRITE));
 
   parent_class = g_type_class_ref (GST_TYPE_EBML_WRITE);
 
@@ -222,19 +206,19 @@ gst_matroska_mux_class_init (GstMatroskaMuxClass *klass)
   gstelement_class->request_new_pad = gst_matroska_mux_request_new_pad;
 }
 
-static void 
-gst_matroska_mux_init (GstMatroskaMux *mux) 
+static void
+gst_matroska_mux_init (GstMatroskaMux * mux)
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (mux);
   gint i;
 
-  mux->srcpad = gst_pad_new_from_template (
-       gst_element_class_get_pad_template (klass, "src"), "src");
+  mux->srcpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template (klass,
+         "src"), "src");
   gst_element_add_pad (GST_ELEMENT (mux), mux->srcpad);
   GST_EBML_WRITE (mux)->srcpad = mux->srcpad;
 
-  gst_element_set_loop_function (GST_ELEMENT (mux),
-                                gst_matroska_mux_loop);
+  gst_element_set_loop_function (GST_ELEMENT (mux), gst_matroska_mux_loop);
 
   /* initial stream no. */
   for (i = 0; i < GST_MATROSKA_MUX_MAX_STREAMS; i++) {
@@ -248,7 +232,7 @@ gst_matroska_mux_init (GstMatroskaMux *mux)
 }
 
 static void
-gst_matroska_mux_reset (GstElement *element)
+gst_matroska_mux_reset (GstElement * element)
 {
   GstMatroskaMux *mux = GST_MATROSKA_MUX (element);
   guint i;
@@ -260,7 +244,7 @@ gst_matroska_mux_reset (GstElement *element)
   for (i = 0; i < GST_MATROSKA_MUX_MAX_STREAMS; i++) {
     if (mux->sink[i].track != NULL) {
       if (mux->sink[i].track->pad != NULL) {
-        gst_element_remove_pad (GST_ELEMENT (mux), mux->sink[i].track->pad);
+       gst_element_remove_pad (GST_ELEMENT (mux), mux->sink[i].track->pad);
       }
       g_free (mux->sink[i].track->codec_id);
       g_free (mux->sink[i].track->codec_name);
@@ -284,8 +268,7 @@ gst_matroska_mux_reset (GstElement *element)
   /* reset media info  (to default) */
   gst_caps_replace (&mux->metadata,
       gst_caps_new_simple ("application/x-gst-metadata",
-        "application", G_TYPE_STRING, "",
-        "date",        G_TYPE_STRING, "", NULL));
+         "application", G_TYPE_STRING, "", "date", G_TYPE_STRING, "", NULL));
 
   /* reset indexes */
   mux->num_indexes = 0;
@@ -298,7 +281,7 @@ gst_matroska_mux_reset (GstElement *element)
 }
 
 static GstPadLinkReturn
-gst_matroska_mux_video_pad_link (GstPad  *pad, const GstCaps *caps)
+gst_matroska_mux_video_pad_link (GstPad * pad, const GstCaps * caps)
 {
   GstMatroskaTrackContext *context = NULL;
   GstMatroskaTrackVideoContext *videocontext;
@@ -312,7 +295,7 @@ gst_matroska_mux_video_pad_link (GstPad  *pad, const GstCaps *caps)
   /* find context */
   for (i = 0; i < mux->num_streams; i++) {
     if (mux->sink[i].track && mux->sink[i].track->pad &&
-        mux->sink[i].track->pad == pad) {
+       mux->sink[i].track->pad == pad) {
       context = mux->sink[i].track;
       break;
     }
@@ -373,14 +356,14 @@ gst_matroska_mux_video_pad_link (GstPad  *pad, const GstCaps *caps)
     gst_structure_get_int (structure, "divxversion", &divxversion);
     switch (divxversion) {
       case 3:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MSMPEG4V3);
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MSMPEG4V3);
+       break;
       case 4:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_SP);
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_SP);
+       break;
       case 5:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_ASP);
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_ASP);
+       break;
     }
 
     return GST_PAD_LINK_OK;
@@ -394,14 +377,14 @@ gst_matroska_mux_video_pad_link (GstPad  *pad, const GstCaps *caps)
     gst_structure_get_int (structure, "mpegversion", &mpegversion);
     switch (mpegversion) {
       case 1:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG1);
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG1);
+       break;
       case 2:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG2);
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG2);
+       break;
       case 3:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_ASP);
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_VIDEO_MPEG4_ASP);
+       break;
     }
 
     return GST_PAD_LINK_OK;
@@ -415,8 +398,7 @@ gst_matroska_mux_video_pad_link (GstPad  *pad, const GstCaps *caps)
 }
 
 static GstPadLinkReturn
-gst_matroska_mux_audio_pad_link (GstPad  *pad,
-                                const GstCaps *caps)
+gst_matroska_mux_audio_pad_link (GstPad * pad, const GstCaps * caps)
 {
   GstMatroskaTrackContext *context = NULL;
   GstMatroskaTrackAudioContext *audiocontext;
@@ -428,7 +410,7 @@ gst_matroska_mux_audio_pad_link (GstPad  *pad,
   /* find context */
   for (i = 0; i < mux->num_streams; i++) {
     if (mux->sink[i].track && mux->sink[i].track->pad &&
-        mux->sink[i].track->pad == pad) {
+       mux->sink[i].track->pad == pad) {
       context = mux->sink[i].track;
       break;
     }
@@ -453,31 +435,29 @@ gst_matroska_mux_audio_pad_link (GstPad  *pad,
 
     gst_structure_get_int (structure, "mpegversion", &mpegversion);
     switch (mpegversion) {
-      case 1: {
-        gint layer;
-
-        gst_structure_get_int (structure, "layer", &layer);
-        switch (layer) {
-          case 1:
-            context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L1);
-            break;
-          case 2:
-            context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L2);
-            break;
-          case 3:
-            context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L3);
-            break;
-        }
-        break;
+      case 1:{
+       gint layer;
+
+       gst_structure_get_int (structure, "layer", &layer);
+       switch (layer) {
+         case 1:
+           context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L1);
+           break;
+         case 2:
+           context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L2);
+           break;
+         case 3:
+           context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG1_L3);
+           break;
+       }
+       break;
       }
       case 2:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG2
-                                      "MAIN");
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG2 "MAIN");
+       break;
       case 4:
-        context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG4
-                                      "MAIN");
-        break;
+       context->codec_id = g_strdup (GST_MATROSKA_CODEC_ID_AUDIO_MPEG4 "MAIN");
+       break;
     }
 
     return GST_PAD_LINK_OK;
@@ -490,7 +470,7 @@ gst_matroska_mux_audio_pad_link (GstPad  *pad,
     gst_structure_get_int (structure, "depth", &depth);
     gst_structure_get_int (structure, "signed", &signedness);
     if (width != depth ||
-        (width == 8 && signedness) || (width == 16 && !signedness))
+       (width == 8 && signedness) || (width == 16 && !signedness))
       return GST_PAD_LINK_REFUSED;
 
     audiocontext->bitdepth = depth;
@@ -514,8 +494,7 @@ gst_matroska_mux_audio_pad_link (GstPad  *pad,
 }
 
 static GstPadLinkReturn
-gst_matroska_mux_subtitle_pad_link (GstPad  *pad,
-                                   const GstCaps *caps)
+gst_matroska_mux_subtitle_pad_link (GstPad * pad, const GstCaps * caps)
 {
   /* Consider this as boilerplate code for now. There is
    * no single subtitle creation element in GStreamer,
@@ -525,9 +504,8 @@ gst_matroska_mux_subtitle_pad_link (GstPad  *pad,
 }
 
 static GstPad *
-gst_matroska_mux_request_new_pad (GstElement     *element,
-                                 GstPadTemplate *templ,
-                                 const gchar    *pad_name)
+gst_matroska_mux_request_new_pad (GstElement * element,
+    GstPadTemplate * templ, const gchar * pad_name)
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (element);
   GstMatroskaMux *mux = GST_MATROSKA_MUX (element);
@@ -540,21 +518,21 @@ gst_matroska_mux_request_new_pad (GstElement     *element,
     name = g_strdup_printf ("audio_%d", mux->num_a_streams++);
     linkfunc = gst_matroska_mux_audio_pad_link;
     context = (GstMatroskaTrackContext *)
-               g_new0 (GstMatroskaTrackAudioContext, 1);
+       g_new0 (GstMatroskaTrackAudioContext, 1);
     context->type = GST_MATROSKA_TRACK_TYPE_AUDIO;
     context->name = g_strdup ("Audio");
   } else if (templ == gst_element_class_get_pad_template (klass, "video_%d")) {
     name = g_strdup_printf ("video_%d", mux->num_v_streams++);
     linkfunc = gst_matroska_mux_video_pad_link;
     context = (GstMatroskaTrackContext *)
-               g_new0 (GstMatroskaTrackVideoContext, 1);
+       g_new0 (GstMatroskaTrackVideoContext, 1);
     context->type = GST_MATROSKA_TRACK_TYPE_VIDEO;
     context->name = g_strdup ("Video");
   } else if (templ == gst_element_class_get_pad_template (klass, "subtitle_%d")) {
     name = g_strdup_printf ("subtitle_%d", mux->num_t_streams++);
     linkfunc = gst_matroska_mux_subtitle_pad_link;
     context = (GstMatroskaTrackContext *)
-               g_new0 (GstMatroskaTrackSubtitleContext, 1);
+       g_new0 (GstMatroskaTrackSubtitleContext, 1);
     context->type = GST_MATROSKA_TRACK_TYPE_SUBTITLE;
     context->name = g_strdup ("Subtitle");
   } else {
@@ -569,15 +547,14 @@ gst_matroska_mux_request_new_pad (GstElement     *element,
   context->index = mux->num_streams++;
   mux->sink[context->index].track = context;
   context->pad = pad;
-  context->flags = GST_MATROSKA_TRACK_ENABLED |
-                  GST_MATROSKA_TRACK_DEFAULT;
-  
+  context->flags = GST_MATROSKA_TRACK_ENABLED | GST_MATROSKA_TRACK_DEFAULT;
+
   return pad;
 }
 
 static void
-gst_matroska_mux_track_header (GstMatroskaMux          *mux,
-                              GstMatroskaTrackContext *context)
+gst_matroska_mux_track_header (GstMatroskaMux mux,
+    GstMatroskaTrackContext * context)
 {
   GstEbmlWrite *ebml = GST_EBML_WRITE (mux);
   guint64 master;
@@ -588,53 +565,52 @@ gst_matroska_mux_track_header (GstMatroskaMux          *mux,
 
   /* type-specific stuff */
   switch (context->type) {
-    case GST_MATROSKA_TRACK_TYPE_VIDEO: {
+    case GST_MATROSKA_TRACK_TYPE_VIDEO:{
       GstMatroskaTrackVideoContext *videocontext =
-       (GstMatroskaTrackVideoContext *) context;
+         (GstMatroskaTrackVideoContext *) context;
 
       /* framerate, but not in the video part */
       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_TRACKDEFAULTDURATION,
-                          context->default_duration);
+         context->default_duration);
 
-      master = gst_ebml_write_master_start (ebml,
-                               GST_MATROSKA_ID_TRACKVIDEO);
+      master = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_TRACKVIDEO);
       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEOPIXELWIDTH,
-                          videocontext->pixel_width);
+         videocontext->pixel_width);
       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEOPIXELHEIGHT,
-                          videocontext->pixel_height);
+         videocontext->pixel_height);
       if (videocontext->display_width && videocontext->display_height) {
-        gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEODISPLAYWIDTH,
-                            videocontext->display_width);
-        gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEODISPLAYHEIGHT,
-                            videocontext->display_height);
+       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEODISPLAYWIDTH,
+           videocontext->display_width);
+       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEODISPLAYHEIGHT,
+           videocontext->display_height);
       }
       if (context->flags & GST_MATROSKA_VIDEOTRACK_INTERLACED)
-        gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEOFLAGINTERLACED, 1);
+       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_VIDEOFLAGINTERLACED, 1);
       if (videocontext->fourcc) {
-        guint32 fcc_le = GUINT32_TO_LE (videocontext->fourcc);
-        gst_ebml_write_binary (ebml, GST_MATROSKA_ID_VIDEOCOLOURSPACE,
-                              (gpointer) &fcc_le, 4);
+       guint32 fcc_le = GUINT32_TO_LE (videocontext->fourcc);
+
+       gst_ebml_write_binary (ebml, GST_MATROSKA_ID_VIDEOCOLOURSPACE,
+           (gpointer) & fcc_le, 4);
       }
       gst_ebml_write_master_finish (ebml, master);
 
       break;
     }
 
-    case GST_MATROSKA_TRACK_TYPE_AUDIO: {
+    case GST_MATROSKA_TRACK_TYPE_AUDIO:{
       GstMatroskaTrackAudioContext *audiocontext =
-       (GstMatroskaTrackAudioContext *) context;
+         (GstMatroskaTrackAudioContext *) context;
 
-      master = gst_ebml_write_master_start (ebml,
-                               GST_MATROSKA_ID_TRACKAUDIO);
+      master = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_TRACKAUDIO);
       if (audiocontext->samplerate != 8000)
-        gst_ebml_write_float (ebml, GST_MATROSKA_ID_AUDIOSAMPLINGFREQ,
-                             audiocontext->samplerate);
+       gst_ebml_write_float (ebml, GST_MATROSKA_ID_AUDIOSAMPLINGFREQ,
+           audiocontext->samplerate);
       if (audiocontext->channels != 1)
-        gst_ebml_write_uint (ebml, GST_MATROSKA_ID_AUDIOCHANNELS,
-                            audiocontext->channels);
+       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_AUDIOCHANNELS,
+           audiocontext->channels);
       if (audiocontext->bitdepth) {
-        gst_ebml_write_uint (ebml, GST_MATROSKA_ID_AUDIOBITDEPTH,
-                            audiocontext->bitdepth);
+       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_AUDIOBITDEPTH,
+           audiocontext->bitdepth);
       }
       gst_ebml_write_master_finish (ebml, master);
 
@@ -646,31 +622,30 @@ gst_matroska_mux_track_header (GstMatroskaMux          *mux,
       break;
   }
 
-  gst_ebml_write_ascii (ebml, GST_MATROSKA_ID_CODECID,
-                       context->codec_id);
+  gst_ebml_write_ascii (ebml, GST_MATROSKA_ID_CODECID, context->codec_id);
   if (context->codec_priv)
     gst_ebml_write_binary (ebml, GST_MATROSKA_ID_CODECPRIVATE,
-                          context->codec_priv, context->codec_priv_size);
+       context->codec_priv, context->codec_priv_size);
   /* FIXME: until we have a nice way of getting the codecname
    * out of the caps, I'm not going to enable this. Too much
    * (useless, double, boring) work... */
   /*gst_ebml_write_utf8 (ebml, GST_MATROSKA_ID_CODECNAME,
-                      context->codec_name);*/
-  gst_ebml_write_utf8 (ebml, GST_MATROSKA_ID_TRACKNAME,
-                      context->name);
+     context->codec_name); */
+  gst_ebml_write_utf8 (ebml, GST_MATROSKA_ID_TRACKNAME, context->name);
 }
 
 static void
-gst_matroska_mux_start (GstMatroskaMux *mux)
+gst_matroska_mux_start (GstMatroskaMux * mux)
 {
   GstEbmlWrite *ebml = GST_EBML_WRITE (mux);
   guint32 seekhead_id[] = { GST_MATROSKA_ID_INFO,
-                           GST_MATROSKA_ID_TRACKS,
-                           GST_MATROSKA_ID_CUES,
+    GST_MATROSKA_ID_TRACKS,
+    GST_MATROSKA_ID_CUES,
 #if 0
-                           GST_MATROSKA_ID_TAGS,
+    GST_MATROSKA_ID_TAGS,
 #endif
-                           0 };
+    0
+  };
   guint64 master, child;
   gint i;
   guint tracknum = 1;
@@ -679,7 +654,8 @@ gst_matroska_mux_start (GstMatroskaMux *mux)
   gst_ebml_write_header (ebml, "matroska", 1);
 
   /* start a segment */
-  mux->segment_pos = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_SEGMENT);
+  mux->segment_pos =
+      gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_SEGMENT);
   mux->segment_master = ebml->pos;
 
   /* the rest of the header is cached */
@@ -704,18 +680,18 @@ gst_matroska_mux_start (GstMatroskaMux *mux)
   gst_ebml_write_float (ebml, GST_MATROSKA_ID_DURATION, 0);
   gst_ebml_write_utf8 (ebml, GST_MATROSKA_ID_MUXINGAPP, "GStreamer");
   if (mux->metadata &&
-      gst_structure_has_field (gst_caps_get_structure(mux->metadata,0),
-        "application")) {
+      gst_structure_has_field (gst_caps_get_structure (mux->metadata, 0),
+         "application")) {
     const gchar *app;
 
-    app = gst_structure_get_string (gst_caps_get_structure(mux->metadata, 0),
-        "application");
+    app = gst_structure_get_string (gst_caps_get_structure (mux->metadata, 0),
+       "application");
     if (app && app[0]) {
       gst_ebml_write_utf8 (ebml, GST_MATROSKA_ID_WRITINGAPP, app);
     }
   }
   /* FIXME: how do I get this? Automatic? Via tags? */
-  /*gst_ebml_write_date (ebml, GST_MATROSKA_ID_DATEUTC, 0);*/
+  /*gst_ebml_write_date (ebml, GST_MATROSKA_ID_DATEUTC, 0); */
   gst_ebml_write_master_finish (ebml, master);
 
   /* tracks */
@@ -736,7 +712,7 @@ gst_matroska_mux_start (GstMatroskaMux *mux)
 }
 
 static void
-gst_matroska_mux_finish (GstMatroskaMux *mux)
+gst_matroska_mux_finish (GstMatroskaMux * mux)
 {
   GstEbmlWrite *ebml = GST_EBML_WRITE (mux);
   guint64 pos;
@@ -754,14 +730,14 @@ gst_matroska_mux_finish (GstMatroskaMux *mux)
       GstMatroskaIndex *idx = &mux->index[n];
 
       pointentry_master = gst_ebml_write_master_start (ebml,
-                                       GST_MATROSKA_ID_POINTENTRY);
+         GST_MATROSKA_ID_POINTENTRY);
       gst_ebml_write_date (ebml, GST_MATROSKA_ID_CUETIME,
-                          idx->time / mux->time_scale);
+         idx->time / mux->time_scale);
       trackpos_master = gst_ebml_write_master_start (ebml,
-                                       GST_MATROSKA_ID_CUETRACKPOSITION);
+         GST_MATROSKA_ID_CUETRACKPOSITION);
       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_CUETRACK, idx->track);
       gst_ebml_write_uint (ebml, GST_MATROSKA_ID_CUECLUSTERPOSITION,
-                          idx->pos - mux->segment_master);
+         idx->pos - mux->segment_master);
       gst_ebml_write_master_finish (ebml, trackpos_master);
       gst_ebml_write_master_finish (ebml, pointentry_master);
     }
@@ -783,29 +759,30 @@ gst_matroska_mux_finish (GstMatroskaMux *mux)
    * - all entries are local to the segment (so pos - segment_master).
    * - so each entry is at 12 + 20 + num * 28. */
   gst_ebml_replace_uint (ebml, mux->seekhead_pos + 32,
-                        mux->info_pos - mux->segment_master);
+      mux->info_pos - mux->segment_master);
   gst_ebml_replace_uint (ebml, mux->seekhead_pos + 60,
-                        mux->tracks_pos - mux->segment_master);
+      mux->tracks_pos - mux->segment_master);
   if (mux->index != NULL) {
     gst_ebml_replace_uint (ebml, mux->seekhead_pos + 88,
-                          mux->cues_pos - mux->segment_master);
+       mux->cues_pos - mux->segment_master);
   } else {
     /* void'ify */
     guint64 my_pos = ebml->pos;
+
     gst_ebml_write_seek (ebml, mux->seekhead_pos + 68);
     gst_ebml_write_buffer_header (ebml, GST_EBML_ID_VOID, 26);
     gst_ebml_write_seek (ebml, my_pos);
   }
 #if 0
   gst_ebml_replace_uint (ebml, mux->seekhead_pos + 116,
-                        mux->tags_pos - mux->segment_master);
+      mux->tags_pos - mux->segment_master);
 #endif
 
   /* update duration */
   pos = GST_EBML_WRITE (mux)->pos;
   gst_ebml_write_seek (ebml, mux->duration_pos);
   gst_ebml_write_float (ebml, GST_MATROSKA_ID_DURATION,
-                       mux->duration / mux->time_scale);
+      mux->duration / mux->time_scale);
   gst_ebml_write_seek (ebml, pos);
 
   /* finish segment - this also writes element length */
@@ -813,30 +790,30 @@ gst_matroska_mux_finish (GstMatroskaMux *mux)
 }
 
 static gint
-gst_matroska_mux_prepare_data (GstMatroskaMux *mux)
+gst_matroska_mux_prepare_data (GstMatroskaMux * mux)
 {
   gint i, first = -1;
 
   for (i = 0; i < mux->num_streams; i++) {
     while (!mux->sink[i].eos && !mux->sink[i].buffer &&
-           mux->sink[i].track->num > 0 &&
-           GST_PAD_IS_USABLE (mux->sink[i].track->pad)) {
+       mux->sink[i].track->num > 0 &&
+       GST_PAD_IS_USABLE (mux->sink[i].track->pad)) {
       GstData *data;
 
       data = gst_pad_pull (mux->sink[i].track->pad);
       if (GST_IS_EVENT (data)) {
-        if (GST_EVENT_TYPE (GST_EVENT (data)) == GST_EVENT_EOS)
-          mux->sink[i].eos = TRUE;
-        gst_event_unref (GST_EVENT (data));
+       if (GST_EVENT_TYPE (GST_EVENT (data)) == GST_EVENT_EOS)
+         mux->sink[i].eos = TRUE;
+       gst_event_unref (GST_EVENT (data));
       } else {
-        mux->sink[i].buffer = GST_BUFFER (data);
+       mux->sink[i].buffer = GST_BUFFER (data);
       }
     }
 
     if (mux->sink[i].buffer) {
       if (first < 0 || GST_BUFFER_TIMESTAMP (mux->sink[i].buffer) <
-                        GST_BUFFER_TIMESTAMP (mux->sink[first].buffer))
-        first = i;
+         GST_BUFFER_TIMESTAMP (mux->sink[first].buffer))
+       first = i;
     }
   }
 
@@ -844,7 +821,7 @@ gst_matroska_mux_prepare_data (GstMatroskaMux *mux)
 }
 
 static void
-gst_matroska_mux_write_data (GstMatroskaMux *mux)
+gst_matroska_mux_write_data (GstMatroskaMux * mux)
 {
   GstEbmlWrite *ebml = GST_EBML_WRITE (mux);
   GstBuffer *buf, *hdr;
@@ -877,12 +854,12 @@ gst_matroska_mux_write_data (GstMatroskaMux *mux)
 
     if (mux->num_indexes % 32 == 0) {
       mux->index = g_renew (GstMatroskaIndex, mux->index,
-                           mux->num_indexes + 32);
+         mux->num_indexes + 32);
     }
     idx = &mux->index[mux->num_indexes++];
 
-    idx->pos   = ebml->pos;
-    idx->time  = GST_BUFFER_TIMESTAMP (buf);
+    idx->pos = ebml->pos;
+    idx->time = GST_BUFFER_TIMESTAMP (buf);
     idx->track = mux->sink[i].track->num;
   }
 
@@ -891,15 +868,15 @@ gst_matroska_mux_write_data (GstMatroskaMux *mux)
    * FIXME: lacing, multiple frames/cluster, etc. */
   cluster = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_CLUSTER);
   gst_ebml_write_uint (ebml, GST_MATROSKA_ID_CLUSTERTIMECODE,
-                      GST_BUFFER_TIMESTAMP (buf) / mux->time_scale);
+      GST_BUFFER_TIMESTAMP (buf) / mux->time_scale);
   blockgroup = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_BLOCKGROUP);
   gst_ebml_write_buffer_header (ebml, GST_MATROSKA_ID_BLOCK,
-                               GST_BUFFER_SIZE (buf) + 4);
+      GST_BUFFER_SIZE (buf) + 4);
   hdr = gst_buffer_new_and_alloc (4);
   /* track num - FIXME: what if num >= 0x80 (unlikely)? */
   GST_BUFFER_DATA (hdr)[0] = mux->sink[i].track->num | 0x80;
   /* time relative to clustertime - we don't use this yet */
-  * (guint16 *) &GST_BUFFER_DATA (hdr)[1] = GUINT16_TO_BE (0);
+  *(guint16 *) & GST_BUFFER_DATA (hdr)[1] = GUINT16_TO_BE (0);
   /* flags - no lacing (yet) */
   GST_BUFFER_DATA (hdr)[3] = 0;
   gst_ebml_write_buffer (ebml, hdr);
@@ -909,7 +886,7 @@ gst_matroska_mux_write_data (GstMatroskaMux *mux)
 }
 
 static void
-gst_matroska_mux_loop (GstElement *element)
+gst_matroska_mux_loop (GstElement * element)
 {
   GstMatroskaMux *mux = GST_MATROSKA_MUX (element);
 
@@ -925,7 +902,7 @@ gst_matroska_mux_loop (GstElement *element)
 }
 
 static GstElementStateReturn
-gst_matroska_mux_change_state (GstElement *element)
+gst_matroska_mux_change_state (GstElement * element)
 {
   GstMatroskaMux *mux = GST_MATROSKA_MUX (element);
 
@@ -944,10 +921,8 @@ gst_matroska_mux_change_state (GstElement *element)
 }
 
 static void
-gst_matroska_mux_set_property (GObject      *object,
-                              guint         prop_id,   
-                              const GValue *value,
-                              GParamSpec   *pspec)
+gst_matroska_mux_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
 {
   GstMatroskaMux *mux;
 
@@ -956,8 +931,7 @@ gst_matroska_mux_set_property (GObject      *object,
 
   switch (prop_id) {
     case ARG_METADATA:
-      gst_caps_replace (&mux->metadata,
-                       g_value_get_boxed (value));
+      gst_caps_replace (&mux->metadata, g_value_get_boxed (value));
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -966,10 +940,8 @@ gst_matroska_mux_set_property (GObject      *object,
 }
 
 static void
-gst_matroska_mux_get_property (GObject    *object,
-                              guint       prop_id,     
-                              GValue     *value,
-                              GParamSpec *pspec)
+gst_matroska_mux_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
   GstMatroskaMux *mux;
 
@@ -987,9 +959,8 @@ gst_matroska_mux_get_property (GObject    *object,
 }
 
 gboolean
-gst_matroska_mux_plugin_init (GstPlugin *plugin)
+gst_matroska_mux_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "matroskamux",
-                              GST_RANK_NONE,
-                              GST_TYPE_MATROSKA_MUX);
+      GST_RANK_NONE, GST_TYPE_MATROSKA_MUX);
 }
index 119237c..ab01868 100644 (file)
@@ -28,7 +28,6 @@
 #include "matroska-ids.h"
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_MATROSKA_MUX \
   (gst_matroska_mux_get_type ())
 #define GST_MATROSKA_MUX(obj) \
@@ -39,65 +38,61 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MATROSKA_MUX))
 #define GST_IS_MATROSKA_MUX_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MATROSKA_MUX))
-
 #define GST_MATROSKA_MUX_MAX_STREAMS 64
-
-typedef enum {
+    typedef enum
+{
   GST_MATROSKA_MUX_STATE_START,
   GST_MATROSKA_MUX_STATE_HEADER,
   GST_MATROSKA_MUX_STATE_DATA,
 } GstMatroskaMuxState;
 
-typedef struct _GstMatroskaMux {
-  GstEbmlWrite   parent;
+typedef struct _GstMatroskaMux
+{
+  GstEbmlWrite parent;
 
   /* pads */
-  GstPad       *srcpad;
-  struct {
+  GstPad *srcpad;
+  struct
+  {
     GstMatroskaTrackContext *track;
-    GstBuffer   *buffer;
-    gboolean     eos;
+    GstBuffer *buffer;
+    gboolean eos;
   } sink[GST_MATROSKA_MUX_MAX_STREAMS];
-  guint          num_streams,
-                 num_v_streams, num_a_streams, num_t_streams;
+  guint num_streams, num_v_streams, num_a_streams, num_t_streams;
 
   /* metadata - includes writing_app and creation_time */
-  GstCaps      *metadata;
+  GstCaps *metadata;
 
   /* state */
   GstMatroskaMuxState state;
 
   /* a cue (index) table */
   GstMatroskaIndex *index;
-  guint          num_indexes;
+  guint num_indexes;
 
   /* timescale in the file */
-  guint64        time_scale;
+  guint64 time_scale;
 
   /* length, position (time, ns) */
-  guint64        duration;
+  guint64 duration;
 
   /* byte-positions of master-elements (for replacing contents) */
-  guint64        segment_pos,
-                seekhead_pos,
-                cues_pos,
+  guint64 segment_pos, seekhead_pos, cues_pos,
 #if 0
-                tags_pos,
+    tags_pos,
 #endif
-                info_pos,
-                tracks_pos,
-                duration_pos;
-  guint64        segment_master;
+    info_pos, tracks_pos, duration_pos;
+  guint64 segment_master;
 } GstMatroskaMux;
 
-typedef struct _GstMatroskaMuxClass {
+typedef struct _GstMatroskaMuxClass
+{
   GstEbmlWriteClass parent;
 } GstMatroskaMuxClass;
 
-GType    gst_matroska_mux_get_type    (void);
+GType gst_matroska_mux_get_type (void);
 
-gboolean gst_matroska_mux_plugin_init (GstPlugin *plugin);
+gboolean gst_matroska_mux_plugin_init (GstPlugin * plugin);
 
 G_END_DECLS
-
 #endif /* __GST_MATROSKA_MUX_H__ */
index 4965781..67b5f26 100644 (file)
 #include "matroska-mux.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   return (gst_matroska_demux_plugin_init (plugin) &&
-         gst_matroska_mux_plugin_init (plugin));
+      gst_matroska_mux_plugin_init (plugin));
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "matroska",
-  "Matroska stream handling",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "matroska",
+    "Matroska stream handling",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index c30b8ce..9ce8430 100644 (file)
@@ -32,49 +32,53 @@ static GstElementDetails median_details = {
   "Wim Taymans <wim.taymans@chello.be>"
 };
 
-static GstStaticPadTemplate median_src_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
-);
+static GstStaticPadTemplate median_src_factory = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
+    );
 
 static GstStaticPadTemplate median_sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
+    );
 
 
 /* Median signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_ACTIVE,
   ARG_FILTERSIZE,
   ARG_LUM_ONLY
 };
 
-static GType   gst_median_get_type     (void);
-static void    gst_median_class_init   (GstMedianClass *klass);
-static void    gst_median_base_init    (GstMedianClass *klass);
-static void    gst_median_init         (GstMedian *median);
+static GType gst_median_get_type (void);
+static void gst_median_class_init (GstMedianClass * klass);
+static void gst_median_base_init (GstMedianClass * klass);
+static void gst_median_init (GstMedian * median);
 
-static void    median_5                (unsigned char *src, unsigned char *dest, int height, int width);
-static void    median_9                (unsigned char *src, unsigned char *dest, int height, int width);
-static void    gst_median_chain        (GstPad *pad, GstData *_data);
+static void median_5 (unsigned char *src, unsigned char *dest, int height,
+    int width);
+static void median_9 (unsigned char *src, unsigned char *dest, int height,
+    int width);
+static void gst_median_chain (GstPad * pad, GstData * _data);
 
-static void    gst_median_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_median_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_median_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_median_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_median_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -84,60 +88,55 @@ gst_median_get_type (void)
 
   if (!median_type) {
     static const GTypeInfo median_info = {
-      sizeof(GstMedianClass),
-      (GBaseInitFunc)gst_median_base_init,
+      sizeof (GstMedianClass),
+      (GBaseInitFunc) gst_median_base_init,
       NULL,
-      (GClassInitFunc)gst_median_class_init,
+      (GClassInitFunc) gst_median_class_init,
       NULL,
       NULL,
-      sizeof(GstMedian),
+      sizeof (GstMedian),
       0,
-      (GInstanceInitFunc)gst_median_init,
+      (GInstanceInitFunc) gst_median_init,
     };
-    median_type = g_type_register_static(GST_TYPE_ELEMENT, "GstMedian", &median_info, 0);
+    median_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstMedian", &median_info, 0);
   }
   return median_type;
 }
 
 static void
-gst_median_base_init (GstMedianClass *klass)
+gst_median_base_init (GstMedianClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&median_sink_factory));
+      gst_static_pad_template_get (&median_sink_factory));
   gst_element_class_add_pad_template (element_class,
-       gst_static_pad_template_get (&median_src_factory));
+      gst_static_pad_template_get (&median_src_factory));
   gst_element_class_set_details (element_class, &median_details);
 }
 
 static void
-gst_median_class_init (GstMedianClass *klass)
+gst_median_class_init (GstMedianClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ACTIVE,
-    g_param_spec_boolean("active","active","active",
-                         TRUE,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FILTERSIZE,
-    g_param_spec_int("filtersize","filtersize","filtersize",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LUM_ONLY,
-    g_param_spec_boolean("lum_only","lum_only","lum_only",
-                         TRUE,G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ACTIVE, g_param_spec_boolean ("active", "active", "active", TRUE, G_PARAM_READWRITE));  /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FILTERSIZE, g_param_spec_int ("filtersize", "filtersize", "filtersize", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));     /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LUM_ONLY, g_param_spec_boolean ("lum_only", "lum_only", "lum_only", TRUE, G_PARAM_READWRITE));  /* CHECKME */
 
   gobject_class->set_property = gst_median_set_property;
   gobject_class->get_property = gst_median_get_property;
 }
 
 static gboolean
-gst_median_link (GstPad *pad, const GstCaps *caps)
+gst_median_link (GstPad * pad, const GstCaps * caps)
 {
   GstMedian *filter = GST_MEDIAN (gst_pad_get_parent (pad));
   GstPad *otherpad = (pad == filter->srcpad) ? filter->sinkpad : filter->srcpad;
@@ -157,17 +156,20 @@ gst_median_link (GstPad *pad, const GstCaps *caps)
   return ret;
 }
 
-void gst_median_init (GstMedian *median)
+void
+gst_median_init (GstMedian * median)
 {
-  median->sinkpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&median_sink_factory), "sink");
+  median->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&median_sink_factory), "sink");
   gst_pad_set_getcaps_function (median->sinkpad, gst_pad_proxy_getcaps);
   gst_pad_set_link_function (median->sinkpad, gst_median_link);
   gst_pad_set_chain_function (median->sinkpad, gst_median_chain);
   gst_element_add_pad (GST_ELEMENT (median), median->sinkpad);
 
-  median->srcpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&median_src_factory), "src");
+  median->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&median_src_factory), "src");
   gst_pad_set_getcaps_function (median->srcpad, gst_pad_proxy_getcaps);
   gst_pad_set_link_function (median->sinkpad, gst_median_link);
   gst_element_add_pad (GST_ELEMENT (median), median->srcpad);
@@ -192,7 +194,7 @@ median_5 (unsigned char *src, unsigned char *dest, int width, int height)
   nLastRow = height - 1;
 
   /*copy the top and bottom rows into the result array */
-  for (i=0; i<width; i++) {
+  for (i = 0; i < width; i++) {
     dest[i] = src[i];
     dest[nLastRow * width + i] = src[nLastRow * width + i];
   }
@@ -203,16 +205,20 @@ median_5 (unsigned char *src, unsigned char *dest, int width, int height)
 
   /* process the interior pixels */
   i = width + 1;
-  for (k=0; k < nLastRow; k++) {
-    for (j=0; j < nLastCol; j++, i++) {
-      p[0] = src[i-width];
-      p[1] = src[i-1];
+  for (k = 0; k < nLastRow; k++) {
+    for (j = 0; j < nLastCol; j++, i++) {
+      p[0] = src[i - width];
+      p[1] = src[i - 1];
       p[2] = src[i];
-      p[3] = src[i+1];
-      p[4] = src[i+width];
-      PIX_SORT(p[0],p[1]) ; PIX_SORT(p[3],p[4]) ; PIX_SORT(p[0],p[3]) ;
-      PIX_SORT(p[1],p[4]) ; PIX_SORT(p[1],p[2]) ; PIX_SORT(p[2],p[3]) ;
-      PIX_SORT(p[1],p[2]) ;
+      p[3] = src[i + 1];
+      p[4] = src[i + width];
+      PIX_SORT (p[0], p[1]);
+      PIX_SORT (p[3], p[4]);
+      PIX_SORT (p[0], p[3]);
+      PIX_SORT (p[1], p[4]);
+      PIX_SORT (p[1], p[2]);
+      PIX_SORT (p[2], p[3]);
+      PIX_SORT (p[1], p[2]);
       dest[i] = p[2];
     }
     dest[i] = src[i];
@@ -236,7 +242,7 @@ median_9 (unsigned char *src, unsigned char *dest, int width, int height)
   nLastRow = height - 1;
 
   /*copy the top and bottom rows into the result array */
-  for (i=0; i<width; i++) {
+  for (i = 0; i < width; i++) {
     dest[i] = src[i];
     dest[nLastRow * width + i] = src[nLastRow * width + i];
   }
@@ -247,24 +253,36 @@ median_9 (unsigned char *src, unsigned char *dest, int width, int height)
 
   /* process the interior pixels */
   i = width + 1;
-  for (k=0; k < nLastRow; k++) {
-    for (j=0; j < nLastCol; j++, i++) {
-      p[0] = src[i-width-1];
-      p[1] = src[i-width];
-      p[2] = src[i-width+1];
-      p[3] = src[i-1];
+  for (k = 0; k < nLastRow; k++) {
+    for (j = 0; j < nLastCol; j++, i++) {
+      p[0] = src[i - width - 1];
+      p[1] = src[i - width];
+      p[2] = src[i - width + 1];
+      p[3] = src[i - 1];
       p[4] = src[i];
-      p[5] = src[i+1];
-      p[6] = src[i+width-1];
-      p[7] = src[i+width];
-      p[8] = src[i+width+1];
-      PIX_SORT(p[1], p[2]) ; PIX_SORT(p[4], p[5]) ; PIX_SORT(p[7], p[8]) ; 
-      PIX_SORT(p[0], p[1]) ; PIX_SORT(p[3], p[4]) ; PIX_SORT(p[6], p[7]) ; 
-      PIX_SORT(p[1], p[2]) ; PIX_SORT(p[4], p[5]) ; PIX_SORT(p[7], p[8]) ; 
-      PIX_SORT(p[0], p[3]) ; PIX_SORT(p[5], p[8]) ; PIX_SORT(p[4], p[7]) ; 
-      PIX_SORT(p[3], p[6]) ; PIX_SORT(p[1], p[4]) ; PIX_SORT(p[2], p[5]) ; 
-      PIX_SORT(p[4], p[7]) ; PIX_SORT(p[4], p[2]) ; PIX_SORT(p[6], p[4]) ; 
-      PIX_SORT(p[4], p[2]) ;
+      p[5] = src[i + 1];
+      p[6] = src[i + width - 1];
+      p[7] = src[i + width];
+      p[8] = src[i + width + 1];
+      PIX_SORT (p[1], p[2]);
+      PIX_SORT (p[4], p[5]);
+      PIX_SORT (p[7], p[8]);
+      PIX_SORT (p[0], p[1]);
+      PIX_SORT (p[3], p[4]);
+      PIX_SORT (p[6], p[7]);
+      PIX_SORT (p[1], p[2]);
+      PIX_SORT (p[4], p[5]);
+      PIX_SORT (p[7], p[8]);
+      PIX_SORT (p[0], p[3]);
+      PIX_SORT (p[5], p[8]);
+      PIX_SORT (p[4], p[7]);
+      PIX_SORT (p[3], p[6]);
+      PIX_SORT (p[1], p[4]);
+      PIX_SORT (p[2], p[5]);
+      PIX_SORT (p[4], p[7]);
+      PIX_SORT (p[4], p[2]);
+      PIX_SORT (p[6], p[4]);
+      PIX_SORT (p[4], p[2]);
       dest[i] = p[4];
     }
     dest[i] = src[i];
@@ -277,83 +295,90 @@ median_9 (unsigned char *src, unsigned char *dest, int width, int height)
 }
 
 static void
-gst_median_chain (GstPad *pad, GstData *_data)
+gst_median_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstMedian *median;
   guchar *data;
   gulong size;
   GstBuffer *outbuf;
+
 /*  GstMeta *meta; */
   int lumsize, chromsize;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
 
   median = GST_MEDIAN (GST_OBJECT_PARENT (pad));
 
   if (!median->active) {
-    gst_pad_push(median->srcpad,GST_DATA (buf));
+    gst_pad_push (median->srcpad, GST_DATA (buf));
     return;
   }
 
-  data = GST_BUFFER_DATA(buf);
-  size = GST_BUFFER_SIZE(buf);
+  data = GST_BUFFER_DATA (buf);
+  size = GST_BUFFER_SIZE (buf);
 
-  GST_DEBUG ("median: have buffer of %d", GST_BUFFER_SIZE(buf));
+  GST_DEBUG ("median: have buffer of %d", GST_BUFFER_SIZE (buf));
 
-  outbuf = gst_buffer_new();
-  GST_BUFFER_DATA(outbuf) = g_malloc(GST_BUFFER_SIZE(buf));
-  GST_BUFFER_SIZE(outbuf) = GST_BUFFER_SIZE(buf);
+  outbuf = gst_buffer_new ();
+  GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (buf));
+  GST_BUFFER_SIZE (outbuf) = GST_BUFFER_SIZE (buf);
 
   lumsize = median->width * median->height;
-  chromsize = lumsize/4;
+  chromsize = lumsize / 4;
 
   if (median->filtersize == 5) {
-    median_5(data, GST_BUFFER_DATA(outbuf), median->width, median->height);
+    median_5 (data, GST_BUFFER_DATA (outbuf), median->width, median->height);
     if (!median->lum_only) {
-      median_5(data+lumsize, GST_BUFFER_DATA(outbuf)+lumsize, median->width/2, median->height/2);
-      median_5(data+lumsize+chromsize, GST_BUFFER_DATA(outbuf)+lumsize+chromsize, median->width/2, median->height/2);
+      median_5 (data + lumsize, GST_BUFFER_DATA (outbuf) + lumsize,
+         median->width / 2, median->height / 2);
+      median_5 (data + lumsize + chromsize,
+         GST_BUFFER_DATA (outbuf) + lumsize + chromsize, median->width / 2,
+         median->height / 2);
+    } else {
+      memcpy (GST_BUFFER_DATA (outbuf) + lumsize, data + lumsize,
+         chromsize * 2);
     }
-    else {
-      memcpy (GST_BUFFER_DATA (outbuf)+lumsize, data+lumsize, chromsize*2);
-    }
-  }
-  else {
-    median_9(data, GST_BUFFER_DATA(outbuf), median->width, median->height);
+  } else {
+    median_9 (data, GST_BUFFER_DATA (outbuf), median->width, median->height);
     if (!median->lum_only) {
-      median_9(data+lumsize, GST_BUFFER_DATA(outbuf)+lumsize, median->width/2, median->height/2);
-      median_9(data+lumsize+chromsize, GST_BUFFER_DATA(outbuf)+lumsize+chromsize, median->width/2, median->height/2);
-    }
-    else {
-      memcpy (GST_BUFFER_DATA (outbuf)+lumsize, data+lumsize, chromsize*2);
+      median_9 (data + lumsize, GST_BUFFER_DATA (outbuf) + lumsize,
+         median->width / 2, median->height / 2);
+      median_9 (data + lumsize + chromsize,
+         GST_BUFFER_DATA (outbuf) + lumsize + chromsize, median->width / 2,
+         median->height / 2);
+    } else {
+      memcpy (GST_BUFFER_DATA (outbuf) + lumsize, data + lumsize,
+         chromsize * 2);
     }
   }
   GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 
-  gst_pad_push(median->srcpad,GST_DATA (outbuf));
+  gst_pad_push (median->srcpad, GST_DATA (outbuf));
 }
 
 static void
-gst_median_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_median_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstMedian *median;
   gint argvalue;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MEDIAN(object));
-  median = GST_MEDIAN(object);
+  g_return_if_fail (GST_IS_MEDIAN (object));
+  median = GST_MEDIAN (object);
 
   switch (prop_id) {
     case ARG_FILTERSIZE:
       argvalue = g_value_get_int (value);
       if (argvalue != 5 && argvalue != 9) {
-       g_warning ("median: invalid filtersize (%d), must be 5 or 9\n", argvalue);
-      }
-      else {
+       g_warning ("median: invalid filtersize (%d), must be 5 or 9\n",
+           argvalue);
+      else {
        median->filtersize = argvalue;
       }
       break;
@@ -369,13 +394,14 @@ gst_median_set_property (GObject *object, guint prop_id, const GValue *value, GP
 }
 
 static void
-gst_median_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_median_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstMedian *median;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_MEDIAN(object));
-  median = GST_MEDIAN(object);
+  g_return_if_fail (GST_IS_MEDIAN (object));
+  median = GST_MEDIAN (object);
 
   switch (prop_id) {
     case ARG_FILTERSIZE:
@@ -395,20 +421,14 @@ gst_median_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
 
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "median",
-                              GST_RANK_NONE, GST_TYPE_MEDIAN);
+      GST_RANK_NONE, GST_TYPE_MEDIAN);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "median",
-  "Video median filter",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "median",
+    "Video median filter",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index c22b80d..5e558ba 100644 (file)
@@ -26,8 +26,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_MEDIAN \
@@ -41,31 +42,33 @@ extern "C" {
 #define GST_IS_MEDIAN_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MEDIAN))
 
-typedef struct _GstMedian GstMedian;
-typedef struct _GstMedianClass GstMedianClass;
+  typedef struct _GstMedian GstMedian;
+  typedef struct _GstMedianClass GstMedianClass;
 
-struct _GstMedian {
-  GstElement element;
+  struct _GstMedian
+  {
+    GstElement element;
 
-  int format;
-  int width;
-  int height;
+    int format;
+    int width;
+    int height;
 
-  int filtersize;
+    int filtersize;
 
-  gboolean active;
-  gboolean lum_only;
+    gboolean active;
+    gboolean lum_only;
 
-  GstPad *sinkpad,*srcpad;
-};
+    GstPad *sinkpad, *srcpad;
+  };
 
-struct _GstMedianClass {
-  GstElementClass parent_class;
-};
+  struct _GstMedianClass
+  {
+    GstElementClass parent_class;
+  };
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_MEDIAN_H__ */
+#endif                         /* __GST_MEDIAN_H__ */
index b707621..6b8cdd5 100644 (file)
 #include <stdlib.h>
 #include "convolve.h"
 
-typedef union stack_entry_s {
-               struct {const double * left, * right; double * out;} v;
-               struct {double * main, * null;} b;
+typedef union stack_entry_s
+{
+  struct
+  {
+    const double *left, *right;
+    double *out;
+  } v;
+  struct
+  {
+    double *main, *null;
+  } b;
 
 } stack_entry;
 
 #define STACK_SIZE (CONVOLVE_DEPTH * 3)
 
-struct _struct_convolve_state {
-       double left [CONVOLVE_BIG];
-       double right [CONVOLVE_SMALL * 3];
-       double scratch [CONVOLVE_SMALL * 3];
-       stack_entry stack[STACK_SIZE];
+struct _struct_convolve_state
+{
+  double left[CONVOLVE_BIG];
+  double right[CONVOLVE_SMALL * 3];
+  double scratch[CONVOLVE_SMALL * 3];
+  stack_entry stack[STACK_SIZE];
 };
 
 /*
@@ -83,48 +92,53 @@ struct _struct_convolve_state {
  * On error, returns NULL.
  * The pointer should be freed when it is finished with, by convolve_close().
  */
-convolve_state *convolve_init(void)
+convolve_state *
+convolve_init (void)
 {
-       return (convolve_state *) malloc (sizeof(convolve_state));
+  return (convolve_state *) malloc (sizeof (convolve_state));
 }
 
 /*
  * Free the state allocated with convolve_init().
  */
-void convolve_close(convolve_state *state)
+void
+convolve_close (convolve_state * state)
 {
-       if (state)
-               free(state);
+  if (state)
+    free (state);
 }
 
-static void convolve_4 (double * out, const double * left, const double * right)
+static void
+convolve_4 (double *out, const double *left, const double *right)
 /* This does a 4x4 -> 7 convolution.  For what it's worth, the slightly odd
  * ordering gives about a 1% speed up on my Pentium II. */
 {
-       double l0, l1, l2, l3, r0, r1, r2, r3;
-       double a;
-       l0 = left[0];
-       r0 = right[0];
-       a = l0 * r0;
-       l1 = left[1];
-       r1 = right[1];
-       out[0] = a;
-       a = (l0 * r1) + (l1 * r0);
-       l2 = left[2];
-       r2 = right[2];
-       out[1] = a;
-       a = (l0 * r2) + (l1 * r1) + (l2 * r0);
-       l3 = left[3];
-       r3 = right[3];
-       out[2] = a;
-
-       out[3] = (l0 * r3) + (l1 * r2) + (l2 * r1) + (l3 * r0);
-       out[4] = (l1 * r3) + (l2 * r2) + (l3 * r1);
-       out[5] = (l2 * r3) + (l3 * r2);
-       out[6] = l3 * r3;
+  double l0, l1, l2, l3, r0, r1, r2, r3;
+  double a;
+
+  l0 = left[0];
+  r0 = right[0];
+  a = l0 * r0;
+  l1 = left[1];
+  r1 = right[1];
+  out[0] = a;
+  a = (l0 * r1) + (l1 * r0);
+  l2 = left[2];
+  r2 = right[2];
+  out[1] = a;
+  a = (l0 * r2) + (l1 * r1) + (l2 * r0);
+  l3 = left[3];
+  r3 = right[3];
+  out[2] = a;
+
+  out[3] = (l0 * r3) + (l1 * r2) + (l2 * r1) + (l3 * r0);
+  out[4] = (l1 * r3) + (l2 * r2) + (l3 * r1);
+  out[5] = (l2 * r3) + (l3 * r2);
+  out[6] = l3 * r3;
 }
 
-static void convolve_run (stack_entry * top, unsigned size, double * scratch)
+static void
+convolve_run (stack_entry * top, unsigned size, double *scratch)
 /* Interpret a stack of commands.  The stack starts with two entries; the
  * convolution to do, and an illegal entry used to mark the stack top.  The
  * size is the number of entries in each input, and must be a power of 2,
@@ -132,102 +146,105 @@ static void convolve_run (stack_entry * top, unsigned size, double * scratch)
  * scratch must have length 3*size.  The number of stack entries needed is
  * 3n-4 where size=2^n. */
 {
-       do {
-               const double * left;
-               const double * right;
-               double * out;
-
-               /* When we get here, the stack top is always a convolve,
-                * with size > 4.  So we will split it.  We repeatedly split
-                * the top entry until we get to size = 4. */
-                       
-               left = top->v.left;
-               right = top->v.right;
-               out = top->v.out;
-               top++;
-
-               do {
-                       double * s_left, * s_right;
-                       int i;
-
-                       /* Halve the size. */
-                       size >>= 1;
-
-                       /* Allocate the scratch areas. */
-                       s_left = scratch + size * 3;
-                       /* s_right is a length 2*size buffer also used for
-                        * intermediate output. */
-                       s_right = scratch + size * 4;
-
-                       /* Create the intermediate factors. */
-                       for (i = 0; i < size; i++) {
-                               double l = left[i] + left[i + size];
-                               double r = right[i] + right[i + size];
-                               s_left[i + size] = r;
-                               s_left[i] = l;
-                       }
-                       
-                       /* Push the combine entry onto the stack. */
-                       top -= 3;
-                       top[2].b.main = out;
-                       top[2].b.null = NULL;
-
-                       /* Push the low entry onto the stack.  This must be
-                        * the last of the three sub-convolutions, because
-                        * it may overwrite the arguments. */
-                       top[1].v.left = left;
-                       top[1].v.right = right;
-                       top[1].v.out = out;
-
-                       /* Push the mid entry onto the stack. */
-                       top[0].v.left = s_left;
-                       top[0].v.right = s_right;
-                       top[0].v.out = s_right;
-
-                       /* Leave the high entry in variables. */
-                       left += size;
-                       right += size;
-                       out += size * 2;
-
-               } while (size > 4);
-
-               /* When we get here, the stack top is a group of 3
-                * convolves, with size = 4, followed by some combines.  */
-               convolve_4 (out, left, right);
-               convolve_4 (top[0].v.out, top[0].v.left, top[0].v.right);
-               convolve_4 (top[1].v.out, top[1].v.left, top[1].v.right);
-               top += 2;
-
-               /* Now process combines. */
-               do {
-                       /* b.main is the output buffer, mid is the middle
-                        * part which needs to be adjusted in place, and
-                        * then folded back into the output.  We do this in
-                        * a slightly strange way, so as to avoid having
-                        * two loops. */
-                       double * out = top->b.main;
-                       double * mid = scratch + size * 4;
-                       unsigned int i;
-                       top++;
-                       out[size * 2 - 1] = 0;
-                       for (i = 0; i < size-1; i++) {
-                               double lo;
-                               double hi;
-                               lo = mid[0] - (out[0] + out[2 * size]) + out[size];
-                               hi = mid[size] - (out[size] + out[3 * size]) + out[2 * size];
-                               out[size] = lo;
-                               out[2 * size] = hi;
-                               out++;
-                               mid++;
-                       }
-                       size <<= 1;
-               } while (top->b.null == NULL);
-       } while (top->b.main != NULL);
+  do {
+    const double *left;
+    const double *right;
+    double *out;
+
+    /* When we get here, the stack top is always a convolve,
+     * with size > 4.  So we will split it.  We repeatedly split
+     * the top entry until we get to size = 4. */
+
+    left = top->v.left;
+    right = top->v.right;
+    out = top->v.out;
+    top++;
+
+    do {
+      double *s_left, *s_right;
+      int i;
+
+      /* Halve the size. */
+      size >>= 1;
+
+      /* Allocate the scratch areas. */
+      s_left = scratch + size * 3;
+      /* s_right is a length 2*size buffer also used for
+       * intermediate output. */
+      s_right = scratch + size * 4;
+
+      /* Create the intermediate factors. */
+      for (i = 0; i < size; i++) {
+       double l = left[i] + left[i + size];
+       double r = right[i] + right[i + size];
+
+       s_left[i + size] = r;
+       s_left[i] = l;
+      }
+
+      /* Push the combine entry onto the stack. */
+      top -= 3;
+      top[2].b.main = out;
+      top[2].b.null = NULL;
+
+      /* Push the low entry onto the stack.  This must be
+       * the last of the three sub-convolutions, because
+       * it may overwrite the arguments. */
+      top[1].v.left = left;
+      top[1].v.right = right;
+      top[1].v.out = out;
+
+      /* Push the mid entry onto the stack. */
+      top[0].v.left = s_left;
+      top[0].v.right = s_right;
+      top[0].v.out = s_right;
+
+      /* Leave the high entry in variables. */
+      left += size;
+      right += size;
+      out += size * 2;
+
+    } while (size > 4);
+
+    /* When we get here, the stack top is a group of 3
+     * convolves, with size = 4, followed by some combines.  */
+    convolve_4 (out, left, right);
+    convolve_4 (top[0].v.out, top[0].v.left, top[0].v.right);
+    convolve_4 (top[1].v.out, top[1].v.left, top[1].v.right);
+    top += 2;
+
+    /* Now process combines. */
+    do {
+      /* b.main is the output buffer, mid is the middle
+       * part which needs to be adjusted in place, and
+       * then folded back into the output.  We do this in
+       * a slightly strange way, so as to avoid having
+       * two loops. */
+      double *out = top->b.main;
+      double *mid = scratch + size * 4;
+      unsigned int i;
+
+      top++;
+      out[size * 2 - 1] = 0;
+      for (i = 0; i < size - 1; i++) {
+       double lo;
+       double hi;
+
+       lo = mid[0] - (out[0] + out[2 * size]) + out[size];
+       hi = mid[size] - (out[size] + out[3 * size]) + out[2 * size];
+       out[size] = lo;
+       out[2 * size] = hi;
+       out++;
+       mid++;
+      }
+      size <<= 1;
+    } while (top->b.null == NULL);
+  } while (top->b.main != NULL);
 }
 
-int convolve_match (const int * lastchoice,
-                   const short * input,
-                   convolve_state * state)
+int
+convolve_match (const int *lastchoice,
+    const short *input, convolve_state * state)
 /* lastchoice is a 256 sized array.  input is a 512 array.  We find the
  * contiguous length 256 sub-array of input that best matches lastchoice.
  * A measure of how good a sub-array is compared with the lastchoice is
@@ -236,85 +253,90 @@ int convolve_match (const int * lastchoice,
  * entry in the convolutions.  state is a (non-NULL) pointer returned by
  * convolve_init.  */
 {
-       double avg;
-       double best;
-       int p = 0;
-       int i;
-       double * left = state->left;
-       double * right = state->right;
-       double * scratch = state->scratch;
-       stack_entry * top = state->stack + STACK_SIZE - 1;
+  double avg;
+  double best;
+  int p = 0;
+  int i;
+  double *left = state->left;
+  double *right = state->right;
+  double *scratch = state->scratch;
+  stack_entry *top = state->stack + STACK_SIZE - 1;
+
 #if 1
-       for (i = 0; i < 512; i++)
-               left[i] = input[i];
-
-       avg = 0;
-       for (i = 0; i < 256; i++) {
-               double a = lastchoice[255 - i];
-               right[i] = a;
-               avg += a;
-       }
+  for (i = 0; i < 512; i++)
+    left[i] = input[i];
+
+  avg = 0;
+  for (i = 0; i < 256; i++) {
+    double a = lastchoice[255 - i];
+
+    right[i] = a;
+    avg += a;
+  }
 #endif
-       /* We adjust the smaller of the two input arrays to have average
-        * value 0.  This makes the eventual result insensitive to both
-        * constant offsets and positive multipliers of the inputs. */
-       avg /= 256;
-       for (i = 0; i < 256; i++)
-               right[i] -= avg;
-       /* End-of-stack marker. */
-#if    0  /* The following line produces a CRASH, need to figure out why?!! */
-       top[1].b.null = scratch;
-#endif 
-       top[1].b.main = NULL;
-       /* The low 256x256, of which we want the high 256 outputs. */
-       top->v.left = left;
-       top->v.right = right;
-       top->v.out = right + 256;
-       convolve_run (top, 256, scratch);
-       
-       /* The high 256x256, of which we want the low 256 outputs. */
-       top->v.left = left + 256;
-       top->v.right = right;
-       top->v.out = right;
-       convolve_run (top, 256, scratch);
-
-       /* Now find the best position amoungs this.  Apart from the first
-        * and last, the required convolution outputs are formed by adding
-        * outputs from the two convolutions above. */
-       best = right[511];
-       right[767] = 0;
-       p = -1;
-       for (i = 0; i < 256; i++) {
-               double a = right[i] + right[i + 512];
-               if (a > best) {
-                       best = a;
-                       p = i;
-               }
-       }
-       p++;
-       
+  /* We adjust the smaller of the two input arrays to have average
+   * value 0.  This makes the eventual result insensitive to both
+   * constant offsets and positive multipliers of the inputs. */
+  avg /= 256;
+  for (i = 0; i < 256; i++)
+    right[i] -= avg;
+  /* End-of-stack marker. */
+#if    0                       /* The following line produces a CRASH, need to figure out why?!! */
+  top[1].b.null = scratch;
+#endif
+  top[1].b.main = NULL;
+  /* The low 256x256, of which we want the high 256 outputs. */
+  top->v.left = left;
+  top->v.right = right;
+  top->v.out = right + 256;
+  convolve_run (top, 256, scratch);
+
+  /* The high 256x256, of which we want the low 256 outputs. */
+  top->v.left = left + 256;
+  top->v.right = right;
+  top->v.out = right;
+  convolve_run (top, 256, scratch);
+
+  /* Now find the best position amoungs this.  Apart from the first
+   * and last, the required convolution outputs are formed by adding
+   * outputs from the two convolutions above. */
+  best = right[511];
+  right[767] = 0;
+  p = -1;
+  for (i = 0; i < 256; i++) {
+    double a = right[i] + right[i + 512];
+
+    if (a > best) {
+      best = a;
+      p = i;
+    }
+  }
+  p++;
+
 #if 0
-       {
-               /* This is some debugging code... */
-               int bad = 0;
-               best = 0;
-               for (i = 0; i < 256; i++)
-                       best += ((double) input[i+p]) * ((double) lastchoice[i] - avg);
-               
-               for (i = 0; i < 257; i++) {
-                       double tot = 0;
-                       unsigned int j;
-                       for (j = 0; j < 256; j++)
-                               tot += ((double) input[i+j]) * ((double) lastchoice[j] - avg);
-                       if (tot > best)
-                               printf ("(%i)", i);
-                       if (tot != left[i + 255])
-                               printf ("!");
-               }
-
-               printf ("%i\n", p);
-       }
-#endif         
-
-       return p;
+  {
+    /* This is some debugging code... */
+    int bad = 0;
+
+    best = 0;
+    for (i = 0; i < 256; i++)
+      best += ((double) input[i + p]) * ((double) lastchoice[i] - avg);
+
+    for (i = 0; i < 257; i++) {
+      double tot = 0;
+      unsigned int j;
+
+      for (j = 0; j < 256; j++)
+       tot += ((double) input[i + j]) * ((double) lastchoice[j] - avg);
+      if (tot > best)
+       printf ("(%i)", i);
+      if (tot != left[i + 255])
+       printf ("!");
+    }
+
+    printf ("%i\n", p);
+  }
+#endif
+
+  return p;
 }
index d9709ed..d5f34d2 100644 (file)
@@ -21,7 +21,8 @@
 #define CONVOLVE_H
 
 #ifdef __cplusplus
-extern "C" {
+extern "C"
+{
 #endif
 
 /* convolve_match takes two blocks, one twice the size of the other.  The
@@ -31,14 +32,13 @@ extern "C" {
 #define CONVOLVE_BIG (CONVOLVE_SMALL * 2)
 
 /* Convolution stuff */
-typedef struct _struct_convolve_state convolve_state;
+  typedef struct _struct_convolve_state convolve_state;
 
-convolve_state *convolve_init (void);
-void convolve_close (convolve_state * state);
+  convolve_state *convolve_init (void);
+  void convolve_close (convolve_state * state);
 
-int convolve_match (const int * lastchoice,
-                   const short int * input,
-                   convolve_state * state);
+  int convolve_match (const int *lastchoice,
+      const short int *input, convolve_state * state);
 
 #ifdef __cplusplus
 }
index d3157d9..f8e82b2 100644 (file)
 typedef struct _GstMonoscope GstMonoscope;
 typedef struct _GstMonoscopeClass GstMonoscopeClass;
 
-struct _GstMonoscope {
+struct _GstMonoscope
+{
   GstElement element;
 
   /* pads */
-  GstPad *sinkpad,*srcpad;
+  GstPad *sinkpad, *srcpad;
 
   /* the timestamp of the next frame */
   guint64 next_time;
@@ -52,14 +53,15 @@ struct _GstMonoscope {
   gboolean first_buffer;
 
   /* visualisation state */
-  struct monoscope_state * visstate;
+  struct monoscope_state *visstate;
 };
 
-struct _GstMonoscopeClass {
+struct _GstMonoscopeClass
+{
   GstElementClass parent_class;
 };
 
-GType gst_monoscope_get_type(void);
+GType gst_monoscope_get_type (void);
 
 
 /* elementfactory information */
@@ -71,41 +73,39 @@ static GstElementDetails gst_monoscope_details = {
 };
 
 /* signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static GstStaticPadTemplate src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_xRGB_HOST_ENDIAN)
-);
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_xRGB_HOST_ENDIAN)
+    );
 
-static GstStaticPadTemplate sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS)
-);
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS)
+    );
 
 
-static void    gst_monoscope_class_init        (GstMonoscopeClass *klass);
-static void    gst_monoscope_base_init         (GstMonoscopeClass *klass);
-static void    gst_monoscope_init              (GstMonoscope *monoscope);
+static void gst_monoscope_class_init (GstMonoscopeClass * klass);
+static void gst_monoscope_base_init (GstMonoscopeClass * klass);
+static void gst_monoscope_init (GstMonoscope * monoscope);
 
-static void    gst_monoscope_chain             (GstPad *pad, GstData *_data);
+static void gst_monoscope_chain (GstPad * pad, GstData * _data);
 
 static GstPadLinkReturn
-               gst_monoscope_srcconnect        (GstPad *pad, const GstCaps *caps);
+gst_monoscope_srcconnect (GstPad * pad, const GstCaps * caps);
 
 static GstElementClass *parent_class = NULL;
 
@@ -116,9 +116,9 @@ gst_monoscope_get_type (void)
 
   if (!type) {
     static const GTypeInfo info = {
-      sizeof (GstMonoscopeClass),      
-      (GBaseInitFunc) gst_monoscope_base_init,      
-      NULL,      
+      sizeof (GstMonoscopeClass),
+      (GBaseInitFunc) gst_monoscope_base_init,
+      NULL,
       (GClassInitFunc) gst_monoscope_class_init,
       NULL,
       NULL,
@@ -132,37 +132,39 @@ gst_monoscope_get_type (void)
 }
 
 static void
-gst_monoscope_base_init (GstMonoscopeClass *klass)
+gst_monoscope_base_init (GstMonoscopeClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-               gst_static_pad_template_get (&src_template));
+      gst_static_pad_template_get (&src_template));
   gst_element_class_add_pad_template (element_class,
-               gst_static_pad_template_get (&sink_template));
+      gst_static_pad_template_get (&sink_template));
   gst_element_class_set_details (element_class, &gst_monoscope_details);
 }
 
 static void
-gst_monoscope_class_init(GstMonoscopeClass *klass)
+gst_monoscope_class_init (GstMonoscopeClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 }
 
 static void
-gst_monoscope_init (GstMonoscope *monoscope)
+gst_monoscope_init (GstMonoscope * monoscope)
 {
   /* create the sink and src pads */
-  monoscope->sinkpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&sink_template ), "sink");
-  monoscope->srcpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&src_template ), "src");
+  monoscope->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get (&sink_template),
+      "sink");
+  monoscope->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get (&src_template),
+      "src");
   gst_element_add_pad (GST_ELEMENT (monoscope), monoscope->sinkpad);
   gst_element_add_pad (GST_ELEMENT (monoscope), monoscope->srcpad);
 
@@ -175,11 +177,11 @@ gst_monoscope_init (GstMonoscope *monoscope)
   monoscope->first_buffer = TRUE;
   monoscope->width = 256;
   monoscope->height = 128;
-  monoscope->fps = 25.; /* desired frame rate */
+  monoscope->fps = 25.;                /* desired frame rate */
 }
 
 static GstPadLinkReturn
-gst_monoscope_srcconnect (GstPad *pad, const GstCaps *caps)
+gst_monoscope_srcconnect (GstPad * pad, const GstCaps * caps)
 {
   GstMonoscope *monoscope = GST_MONOSCOPE (gst_pad_get_parent (pad));
   GstStructure *structure;
@@ -194,7 +196,7 @@ gst_monoscope_srcconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static void
-gst_monoscope_chain (GstPad *pad, GstData *_data)
+gst_monoscope_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *bufin = GST_BUFFER (_data);
   GstMonoscope *monoscope;
@@ -213,25 +215,26 @@ gst_monoscope_chain (GstPad *pad, GstData *_data)
 
   /* FIXME: should really select the first 1024 samples after the timestamp. */
   if (GST_BUFFER_TIMESTAMP (bufin) < monoscope->next_time || samples_in < 1024) {
-    GST_DEBUG ("timestamp is %" G_GUINT64_FORMAT ": want >= %" G_GUINT64_FORMAT, GST_BUFFER_TIMESTAMP (bufin), monoscope->next_time);
+    GST_DEBUG ("timestamp is %" G_GUINT64_FORMAT ": want >= %" G_GUINT64_FORMAT,
+       GST_BUFFER_TIMESTAMP (bufin), monoscope->next_time);
     gst_buffer_unref (bufin);
     return;
   }
 
   data = (gint16 *) GST_BUFFER_DATA (bufin);
   /* FIXME: Select samples in a better way. */
-  for (i=0; i < 512; i++) {
+  for (i = 0; i < 512; i++) {
     monoscope->datain[i] = *data++;
   }
 
   if (monoscope->first_buffer) {
     monoscope->visstate = monoscope_init (monoscope->width, monoscope->height);
-    g_assert(monoscope->visstate != 0);
+    g_assert (monoscope->visstate != 0);
     GST_DEBUG ("making new pad");
     if (!gst_pad_is_negotiated (monoscope->srcpad)) {
       if (gst_pad_renegotiate (monoscope->srcpad) <= 0) {
-        GST_ELEMENT_ERROR (monoscope, CORE, NEGOTIATION, (NULL), (NULL));
-        return;
+       GST_ELEMENT_ERROR (monoscope, CORE, NEGOTIATION, (NULL), (NULL));
+       return;
       }
     }
     monoscope->first_buffer = FALSE;
@@ -239,7 +242,8 @@ gst_monoscope_chain (GstPad *pad, GstData *_data)
 
   bufout = gst_buffer_new ();
   GST_BUFFER_SIZE (bufout) = monoscope->width * monoscope->height * 4;
-  GST_BUFFER_DATA (bufout) = (guchar *) monoscope_update (monoscope->visstate, monoscope->datain);
+  GST_BUFFER_DATA (bufout) =
+      (guchar *) monoscope_update (monoscope->visstate, monoscope->datain);
   GST_BUFFER_TIMESTAMP (bufout) = monoscope->next_time;
   GST_BUFFER_FLAG_SET (bufout, GST_BUFFER_DONTFREE);
 
@@ -254,20 +258,14 @@ gst_monoscope_chain (GstPad *pad, GstData *_data)
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register(plugin, "monoscope",
-                             GST_RANK_NONE, GST_TYPE_MONOSCOPE);
+  return gst_element_register (plugin, "monoscope",
+      GST_RANK_NONE, GST_TYPE_MONOSCOPE);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "monoscope",
-  "Monoscope visualization",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "monoscope",
+    "Monoscope visualization",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index eb0e728..20a6809 100644 (file)
 #include <string.h>
 #include <stdlib.h>
 
-static void colors_init(guint32 * colors)
+static void
+colors_init (guint32 * colors)
 {
-    int i;
-    for (i = 0; i < 32; i++) {
-       colors[i] = (i*8 << 16) + (255 << 8);
-       colors[i+31] = (255 << 16) + (((31 - i) * 8) << 8);
-    }
-    colors[63] = (40 << 16) + (75 << 8);
+  int i;
+
+  for (i = 0; i < 32; i++) {
+    colors[i] = (i * 8 << 16) + (255 << 8);
+    colors[i + 31] = (255 << 16) + (((31 - i) * 8) << 8);
+  }
+  colors[63] = (40 << 16) + (75 << 8);
 }
 
-struct monoscope_state * monoscope_init (guint32 resx, guint32 resy)
+struct monoscope_state *
+monoscope_init (guint32 resx, guint32 resy)
 {
-    struct monoscope_state * stateptr;
-    stateptr = calloc(1, sizeof(struct monoscope_state));
-    if (stateptr == 0) return 0;
-    stateptr->cstate = convolve_init();
-    colors_init(stateptr->colors);
-    return stateptr;
+  struct monoscope_state *stateptr;
+  stateptr = calloc (1, sizeof (struct monoscope_state));
+  if (stateptr == 0)
+    return 0;
+  stateptr->cstate = convolve_init ();
+  colors_init (stateptr->colors);
+  return stateptr;
 }
 
-guint32 * monoscope_update (struct monoscope_state * stateptr, 
-                           gint16 data [512])
+guint32 *
+monoscope_update (struct monoscope_state * stateptr, gint16 data[512])
 {
-    /* Note that CONVOLVE_BIG must == data size here, ie 512. */
-    /* Really, we want samples evenly spread over the available data.
-     * Just taking a continuous chunk will do for now, though. */
-    int i;
-    int foo;
-    int bar;  
-    int h;
-    guint32 *loc;
+  /* Note that CONVOLVE_BIG must == data size here, ie 512. */
+  /* Really, we want samples evenly spread over the available data.
+   * Just taking a continuous chunk will do for now, though. */
+  int i;
+  int foo;
+  int bar;
+  int h;
+  guint32 *loc;
 
-       int factor;
-       int val;
-       int max = 1;
-       short * thisEq;
+  int factor;
+  int val;
+  int max = 1;
+  short *thisEq;
 
-       memcpy (stateptr->copyEq, data, sizeof (short) * CONVOLVE_BIG);
-       thisEq = stateptr->copyEq;
-#if 1                                  
-       val = convolve_match (stateptr->avgEq, stateptr->copyEq, stateptr->cstate);
-       thisEq += val;
-#endif                                 
-       memset(stateptr->display, 0, 256 * 128 * sizeof(guint32));
-       for (i=0; i < 256; i++) {
-           foo = thisEq[i] + (stateptr->avgEq[i] >> 1);
-           stateptr->avgEq[i] = foo;
-           if (foo < 0)
-               foo = -foo;
-           if (foo > max)
-               max = foo;
+  memcpy (stateptr->copyEq, data, sizeof (short) * CONVOLVE_BIG);
+  thisEq = stateptr->copyEq;
+#if 1
+  val = convolve_match (stateptr->avgEq, stateptr->copyEq, stateptr->cstate);
+  thisEq += val;
+#endif
+  memset (stateptr->display, 0, 256 * 128 * sizeof (guint32));
+  for (i = 0; i < 256; i++) {
+    foo = thisEq[i] + (stateptr->avgEq[i] >> 1);
+    stateptr->avgEq[i] = foo;
+    if (foo < 0)
+      foo = -foo;
+    if (foo > max)
+      max = foo;
+  }
+  stateptr->avgMax += max - (stateptr->avgMax >> 8);
+  if (stateptr->avgMax < max)
+    stateptr->avgMax = max;    /* Avoid overflow */
+  factor = 0x7fffffff / stateptr->avgMax;
+  /* Keep the scaling sensible. */
+  if (factor > (1 << 18))
+    factor = 1 << 18;
+  if (factor < (1 << 8))
+    factor = 1 << 8;
+  for (i = 0; i < 256; i++) {
+    foo = stateptr->avgEq[i] * factor;
+    foo >>= 18;
+    if (foo > 63)
+      foo = 63;
+    if (foo < -64)
+      foo = -64;
+    val = (i + ((foo + 64) << 8));
+    bar = val;
+    if ((bar > 0) && (bar < (256 * 128))) {
+      loc = stateptr->display + bar;
+      if (foo < 0) {
+       for (h = 0; h <= (-foo); h++) {
+         *loc = stateptr->colors[h];
+         loc += 256;
        }
-       stateptr->avgMax += max - (stateptr->avgMax >> 8);
-       if (stateptr->avgMax < max)
-           stateptr->avgMax = max; /* Avoid overflow */
-       factor = 0x7fffffff / stateptr->avgMax;
-       /* Keep the scaling sensible. */
-       if (factor > (1 << 18))
-           factor = 1 << 18;
-       if (factor < (1 << 8))
-           factor = 1 << 8;
-       for (i=0; i < 256; i++) {
-           foo = stateptr->avgEq[i] * factor;
-           foo >>= 18;
-           if (foo > 63)
-               foo = 63;
-           if (foo < -64)
-               foo = -64;
-           val = (i + ((foo+64) << 8));
-           bar = val;
-           if ((bar > 0) && (bar < (256 * 128))) {
-               loc = stateptr->display + bar;
-               if (foo < 0) {
-                   for (h = 0; h <= (-foo); h++) {
-                       *loc = stateptr->colors[h];
-                       loc+=256; 
-                   }
-               } else {
-                   for (h = 0; h <= foo; h++) {
-                       *loc = stateptr->colors[h];
-                       loc-=256;
-                   }
-               }
-           }
+      } else {
+       for (h = 0; h <= foo; h++) {
+         *loc = stateptr->colors[h];
+         loc -= 256;
        }
+      }
+    }
+  }
 
-       /* Draw grid. */
-       for (i=16;i < 128; i+=16) {
-           for (h = 0; h < 256; h+=2) {
-               stateptr->display[(i << 8) + h] = stateptr->colors[63];
-               if (i == 64)
-                   stateptr->display[(i << 8) + h + 1] = stateptr->colors[63];
-           }
-       }
-       for (i = 16; i < 256; i+=16) {
-           for (h = 0; h < 128; h+=2) {
-               stateptr->display[i + (h << 8)] = stateptr->colors[63];
-           }
-       }
+  /* Draw grid. */
+  for (i = 16; i < 128; i += 16) {
+    for (h = 0; h < 256; h += 2) {
+      stateptr->display[(i << 8) + h] = stateptr->colors[63];
+      if (i == 64)
+       stateptr->display[(i << 8) + h + 1] = stateptr->colors[63];
+    }
+  }
+  for (i = 16; i < 256; i += 16) {
+    for (h = 0; h < 128; h += 2) {
+      stateptr->display[i + (h << 8)] = stateptr->colors[63];
+    }
+  }
 
-    return stateptr->display;
+  return stateptr->display;
 }
 
-void monoscope_close (struct monoscope_state * stateptr)
+void
+monoscope_close (struct monoscope_state *stateptr)
 {
 }
-
index 8e7d759..37be6ff 100644 (file)
@@ -7,18 +7,19 @@
 #define scope_width 256
 #define scope_height 128
 
-struct monoscope_state {
-    gint16 copyEq[CONVOLVE_BIG];
-    int avgEq[CONVOLVE_SMALL];      /* a running average of the last few. */
-    int avgMax;                     /* running average of max sample. */
-    guint32 display[(scope_width + 1) * (scope_height + 1)];
+struct monoscope_state
+{
+  gint16 copyEq[CONVOLVE_BIG];
+  int avgEq[CONVOLVE_SMALL];   /* a running average of the last few. */
+  int avgMax;                  /* running average of max sample. */
+  guint32 display[(scope_width + 1) * (scope_height + 1)];
 
-    convolve_state *cstate;
-    guint32 colors[64];
+  convolve_state *cstate;
+  guint32 colors[64];
 };
 
-struct monoscope_state * monoscope_init (guint32 resx, guint32 resy);
-guint32 * monoscope_update (struct monoscope_state * stateptr, gint16 data [512]);
-void monoscope_close (struct monoscope_state * stateptr);
+struct monoscope_state *monoscope_init (guint32 resx, guint32 resy);
+guint32 *monoscope_update (struct monoscope_state *stateptr, gint16 data[512]);
+void monoscope_close (struct monoscope_state *stateptr);
 
 #endif
index 4826821..f7914e2 100644 (file)
@@ -41,22 +41,26 @@ GST_DEBUG_CATEGORY_EXTERN (qtdemux_debug);
 typedef struct _QtNode QtNode;
 typedef struct _QtNodeType QtNodeType;
 typedef struct _QtDemuxSample QtDemuxSample;
+
 //typedef struct _QtDemuxStream QtDemuxStream;
 
-struct _QtNode {
+struct _QtNode
+{
   guint32 type;
   gpointer data;
   int len;
 };
 
-struct _QtNodeType {
+struct _QtNodeType
+{
   guint32 fourcc;
   char *name;
   int flags;
-  void (*dump)(GstQTDemux *qtdemux, void *buffer, int depth);
+  void (*dump) (GstQTDemux * qtdemux, void *buffer, int depth);
 };
 
-struct _QtDemuxSample {
+struct _QtDemuxSample
+{
   int sample_index;
   int chunk;
   int size;
@@ -65,7 +69,8 @@ struct _QtDemuxSample {
   guint64 duration;
 };
 
-struct _QtDemuxStream {
+struct _QtDemuxStream
+{
   guint32 subtype;
   GstCaps *caps;
   GstPad *pad;
@@ -78,14 +83,15 @@ struct _QtDemuxStream {
   int width;
   int height;
   float fps;
-  
+
   double rate;
   int n_channels;
   guint bytes_per_frame;
   guint samples_per_packet;
 };
 
-enum QtDemuxState {
+enum QtDemuxState
+{
   QTDEMUX_STATE_NULL,
   QTDEMUX_STATE_HEADER,
   QTDEMUX_STATE_HEADER_SEEKING,
@@ -95,85 +101,87 @@ enum QtDemuxState {
   QTDEMUX_STATE_EOS,
 };
 
-static GNode *qtdemux_tree_get_child_by_type(GNode *node, guint32 fourcc);
-static GNode *qtdemux_tree_get_sibling_by_type(GNode *node, guint32 fourcc);
+static GNode *qtdemux_tree_get_child_by_type (GNode * node, guint32 fourcc);
+static GNode *qtdemux_tree_get_sibling_by_type (GNode * node, guint32 fourcc);
 
-static GstElementDetails 
-gst_qtdemux_details = 
-{
+static GstElementDetails gst_qtdemux_details = {
   "QuickTime Demuxer",
   "Codec/Demuxer",
   "Demultiplex a QuickTime file into audio and video streams",
   "David Schleef <ds@schleef.org>"
 };
 
-enum {
+enum
+{
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0
 };
 
 static GstStaticPadTemplate gst_qtdemux_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_SOMETIMES,
-  GST_STATIC_CAPS ("video/quicktime")
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS ("video/quicktime")
+    );
 
 static GstStaticPadTemplate gst_qtdemux_videosrc_template =
-GST_STATIC_PAD_TEMPLATE (
-  "audio_%02d",
-  GST_PAD_SRC,
-  GST_PAD_SOMETIMES,
-  GST_STATIC_CAPS_ANY
-);
+GST_STATIC_PAD_TEMPLATE ("audio_%02d",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
 
 static GstStaticPadTemplate gst_qtdemux_audiosrc_template =
-GST_STATIC_PAD_TEMPLATE (
-  "video_%02d",
-  GST_PAD_SRC,
-  GST_PAD_SOMETIMES,
-  GST_STATIC_CAPS_ANY
-);
+GST_STATIC_PAD_TEMPLATE ("video_%02d",
+    GST_PAD_SRC,
+    GST_PAD_SOMETIMES,
+    GST_STATIC_CAPS_ANY);
 
 static GstElementClass *parent_class = NULL;
 
-static void gst_qtdemux_class_init (GstQTDemuxClass *klass);
-static void gst_qtdemux_base_init (GstQTDemuxClass *klass);
-static void gst_qtdemux_init (GstQTDemux *quicktime_demux);
-static GstElementStateReturn gst_qtdemux_change_state(GstElement *element);
-static void gst_qtdemux_loop_header (GstElement *element);
-static gboolean gst_qtdemux_handle_sink_event (GstQTDemux *qtdemux);
-
-static void qtdemux_parse_moov(GstQTDemux *qtdemux, void *buffer, int length);
-static void qtdemux_parse(GstQTDemux *qtdemux, GNode *node, void *buffer, int length);
-static QtNodeType *qtdemux_type_get(guint32 fourcc);
-static void qtdemux_node_dump(GstQTDemux *qtdemux, GNode *node);
-static void qtdemux_parse_tree(GstQTDemux *qtdemux);
-static GstCaps *qtdemux_video_caps(GstQTDemux *qtdemux, guint32 fourcc, const guint8 *stsd_data);
-static GstCaps *qtdemux_audio_caps(GstQTDemux *qtdemux, guint32 fourcc, const guint8 *data);
-
-static GType gst_qtdemux_get_type (void) 
+static void gst_qtdemux_class_init (GstQTDemuxClass * klass);
+static void gst_qtdemux_base_init (GstQTDemuxClass * klass);
+static void gst_qtdemux_init (GstQTDemux * quicktime_demux);
+static GstElementStateReturn gst_qtdemux_change_state (GstElement * element);
+static void gst_qtdemux_loop_header (GstElement * element);
+static gboolean gst_qtdemux_handle_sink_event (GstQTDemux * qtdemux);
+
+static void qtdemux_parse_moov (GstQTDemux * qtdemux, void *buffer, int length);
+static void qtdemux_parse (GstQTDemux * qtdemux, GNode * node, void *buffer,
+    int length);
+static QtNodeType *qtdemux_type_get (guint32 fourcc);
+static void qtdemux_node_dump (GstQTDemux * qtdemux, GNode * node);
+static void qtdemux_parse_tree (GstQTDemux * qtdemux);
+static GstCaps *qtdemux_video_caps (GstQTDemux * qtdemux, guint32 fourcc,
+    const guint8 * stsd_data);
+static GstCaps *qtdemux_audio_caps (GstQTDemux * qtdemux, guint32 fourcc,
+    const guint8 * data);
+
+static GType
+gst_qtdemux_get_type (void)
 {
   static GType qtdemux_type = 0;
 
   if (!qtdemux_type) {
     static const GTypeInfo qtdemux_info = {
-      sizeof(GstQTDemuxClass),
-      (GBaseInitFunc)gst_qtdemux_base_init, NULL,
-      (GClassInitFunc)gst_qtdemux_class_init,
-      NULL, NULL, sizeof(GstQTDemux), 0,
-      (GInstanceInitFunc)gst_qtdemux_init,
+      sizeof (GstQTDemuxClass),
+      (GBaseInitFunc) gst_qtdemux_base_init, NULL,
+      (GClassInitFunc) gst_qtdemux_class_init,
+      NULL, NULL, sizeof (GstQTDemux), 0,
+      (GInstanceInitFunc) gst_qtdemux_init,
     };
-    qtdemux_type = g_type_register_static (GST_TYPE_ELEMENT, "GstQTDemux", &qtdemux_info, 0);
+    qtdemux_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstQTDemux", &qtdemux_info,
+       0);
   }
   return qtdemux_type;
 }
 
-static void gst_qtdemux_base_init (GstQTDemuxClass *klass)
+static void
+gst_qtdemux_base_init (GstQTDemuxClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
@@ -187,31 +195,33 @@ static void gst_qtdemux_base_init (GstQTDemuxClass *klass)
 
 }
 
-static void gst_qtdemux_class_init (GstQTDemuxClass *klass) 
+static void
+gst_qtdemux_class_init (GstQTDemuxClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gstelement_class->change_state = gst_qtdemux_change_state;
 }
 
-static void 
-gst_qtdemux_init (GstQTDemux *qtdemux) 
+static void
+gst_qtdemux_init (GstQTDemux * qtdemux)
 {
-  qtdemux->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_qtdemux_sink_template), "sink");
+  qtdemux->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_qtdemux_sink_template), "sink");
   gst_element_set_loop_function (GST_ELEMENT (qtdemux),
       gst_qtdemux_loop_header);
   gst_element_add_pad (GST_ELEMENT (qtdemux), qtdemux->sinkpad);
 }
 
 static const GstFormat *
-gst_qtdemux_get_src_formats (GstPad *pad)
+gst_qtdemux_get_src_formats (GstPad * pad)
 {
   static const GstFormat src_a_formats[] = {
     GST_FORMAT_TIME,
@@ -224,55 +234,55 @@ gst_qtdemux_get_src_formats (GstPad *pad)
     GST_FORMAT_DEFAULT,
     0
   };
-  QtDemuxStream *stream = gst_pad_get_element_private(pad);
+  QtDemuxStream *stream = gst_pad_get_element_private (pad);
 
-  return (stream->subtype == GST_MAKE_FOURCC('v','i','d','e')) ?
-    src_v_formats : src_a_formats;
+  return (stream->subtype == GST_MAKE_FOURCC ('v', 'i', 'd', 'e')) ?
+      src_v_formats : src_a_formats;
 }
 
 static gboolean
-gst_qtdemux_src_convert (GstPad *pad, GstFormat src_format, gint64 src_value,
-    GstFormat *dest_format, gint64 *dest_value)
+gst_qtdemux_src_convert (GstPad * pad, GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value)
 {
   gboolean res = TRUE;
-  QtDemuxStream *stream = gst_pad_get_element_private(pad);
+  QtDemuxStream *stream = gst_pad_get_element_private (pad);
 
-  if (stream->subtype == GST_MAKE_FOURCC('v','i','d','e') &&
+  if (stream->subtype == GST_MAKE_FOURCC ('v', 'i', 'd', 'e') &&
       (src_format == GST_FORMAT_BYTES || *dest_format == GST_FORMAT_BYTES))
     return FALSE;
 
   switch (src_format) {
     case GST_FORMAT_TIME:
       switch (*dest_format) {
-        case GST_FORMAT_BYTES:
-          *dest_value = src_value * 1; /* FIXME */
-          break;
-        case GST_FORMAT_DEFAULT:
-          *dest_value = src_value * 1; /* FIXME */
-          break;
-        default:
-          res = FALSE;
-          break;
+       case GST_FORMAT_BYTES:
+         *dest_value = src_value * 1;  /* FIXME */
+         break;
+       case GST_FORMAT_DEFAULT:
+         *dest_value = src_value * 1;  /* FIXME */
+         break;
+       default:
+         res = FALSE;
+         break;
       }
       break;
     case GST_FORMAT_BYTES:
       switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = src_value * 1; /* FIXME */
-          break;
-        default:
-          res = FALSE;
-          break;
+       case GST_FORMAT_TIME:
+         *dest_value = src_value * 1;  /* FIXME */
+         break;
+       default:
+         res = FALSE;
+         break;
       }
       break;
     case GST_FORMAT_DEFAULT:
       switch (*dest_format) {
-        case GST_FORMAT_TIME:
-          *dest_value = src_value * 1; /* FIXME */
-          break;
-        default:
-          res = FALSE;
-          break;
+       case GST_FORMAT_TIME:
+         *dest_value = src_value * 1;  /* FIXME */
+         break;
+       default:
+         res = FALSE;
+         break;
       }
       break;
     default:
@@ -283,7 +293,7 @@ gst_qtdemux_src_convert (GstPad *pad, GstFormat src_format, gint64 src_value,
 }
 
 static const GstQueryType *
-gst_qtdemux_get_src_query_types (GstPad *pad)
+gst_qtdemux_get_src_query_types (GstPad * pad)
 {
   static const GstQueryType src_types[] = {
     GST_QUERY_TOTAL,
@@ -295,54 +305,55 @@ gst_qtdemux_get_src_query_types (GstPad *pad)
 }
 
 static const GstEventMask *
-gst_qtdemux_get_event_mask (GstPad *pad)
+gst_qtdemux_get_event_mask (GstPad * pad)
 {
   static const GstEventMask masks[] = {
-    { GST_EVENT_SEEK, GST_SEEK_METHOD_SET | GST_SEEK_FLAG_KEY_UNIT },
-    { 0, }
+    {GST_EVENT_SEEK, GST_SEEK_METHOD_SET | GST_SEEK_FLAG_KEY_UNIT},
+    {0,}
   };
 
   return masks;
 }
 
 static gboolean
-gst_qtdemux_handle_src_query (GstPad *pad, GstQueryType type,
-    GstFormat *format, gint64 *value)
+gst_qtdemux_handle_src_query (GstPad * pad, GstQueryType type,
+    GstFormat * format, gint64 * value)
 {
   gboolean res = TRUE;
+
   //QtDemuxStream *stream = gst_pad_get_element_private(pad);
 
   switch (type) {
     case GST_QUERY_TOTAL:
       switch (*format) {
-        case GST_FORMAT_TIME:
-          *value = 0; /* FIXME */
-          break;
-        case GST_FORMAT_BYTES:
-          *value = 0; /* FIXME */
-          break;
-        case GST_FORMAT_DEFAULT:
-          *value = 0; /* FIXME */
-          break;
-        default:
-          res = FALSE;
-          break;
+       case GST_FORMAT_TIME:
+         *value = 0;           /* FIXME */
+         break;
+       case GST_FORMAT_BYTES:
+         *value = 0;           /* FIXME */
+         break;
+       case GST_FORMAT_DEFAULT:
+         *value = 0;           /* FIXME */
+         break;
+       default:
+         res = FALSE;
+         break;
       }
       break;
     case GST_QUERY_POSITION:
       switch (*format) {
-        case GST_FORMAT_TIME:
-          *value = 0; /* FIXME */
-          break;
-        case GST_FORMAT_BYTES:
-          *value = 0; /* FIXME */
-          break;
-        case GST_FORMAT_DEFAULT:
-          *value = 0; /* FIXME */
-          break;
-        default:
-          res = FALSE;
-          break;
+       case GST_FORMAT_TIME:
+         *value = 0;           /* FIXME */
+         break;
+       case GST_FORMAT_BYTES:
+         *value = 0;           /* FIXME */
+         break;
+       case GST_FORMAT_DEFAULT:
+         *value = 0;           /* FIXME */
+         break;
+       default:
+         res = FALSE;
+         break;
       }
       break;
     default:
@@ -354,9 +365,10 @@ gst_qtdemux_handle_src_query (GstPad *pad, GstQueryType type,
 }
 
 static gboolean
-gst_qtdemux_handle_src_event (GstPad *pad, GstEvent *event)
+gst_qtdemux_handle_src_event (GstPad * pad, GstEvent * event)
 {
   gboolean res = TRUE;
+
   //QtDemuxStream *stream = gst_pad_get_element_private(pad);
 
   switch (GST_EVENT_TYPE (event)) {
@@ -364,19 +376,19 @@ gst_qtdemux_handle_src_event (GstPad *pad, GstEvent *event)
       GST_DEBUG ("seek format %d", GST_EVENT_SEEK_FORMAT (event));
 
       switch (GST_EVENT_SEEK_FORMAT (event)) {
-        case GST_FORMAT_BYTES:
-        case GST_FORMAT_DEFAULT:
-        case GST_FORMAT_TIME:
-          {
-            gint64 desired_offset = GST_EVENT_SEEK_OFFSET (event);
-
-            GST_DEBUG ("seeking to %" G_GINT64_FORMAT, desired_offset);
-
-            res = FALSE;
-          }
-        default:
-          res = FALSE;
-          break;
+       case GST_FORMAT_BYTES:
+       case GST_FORMAT_DEFAULT:
+       case GST_FORMAT_TIME:
+       {
+         gint64 desired_offset = GST_EVENT_SEEK_OFFSET (event);
+
+         GST_DEBUG ("seeking to %" G_GINT64_FORMAT, desired_offset);
+
+         res = FALSE;
+       }
+       default:
+         res = FALSE;
+         break;
       }
     default:
       res = FALSE;
@@ -393,7 +405,7 @@ gst_qtdemux_handle_src_event (GstPad *pad, GstEvent *event)
 GST_DEBUG_CATEGORY (qtdemux_debug);
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   GST_DEBUG_CATEGORY_INIT (qtdemux_debug, "qtdemux", 0, "qtdemux plugin");
 
@@ -404,36 +416,30 @@ plugin_init (GstPlugin *plugin)
     return FALSE;
 
   return gst_element_register (plugin, "qtdemux",
-                              GST_RANK_PRIMARY, GST_TYPE_QTDEMUX);
+      GST_RANK_PRIMARY, GST_TYPE_QTDEMUX);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "qtdemux",
-  "Quicktime stream demuxer",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
-
-static gboolean gst_qtdemux_handle_sink_event (GstQTDemux *qtdemux)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "qtdemux",
+    "Quicktime stream demuxer",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
+
+     static gboolean gst_qtdemux_handle_sink_event (GstQTDemux * qtdemux)
 {
   guint32 remaining;
   GstEvent *event;
   GstEventType type;
 
-  gst_bytestream_get_status(qtdemux->bs, &remaining, &event);
+  gst_bytestream_get_status (qtdemux->bs, &remaining, &event);
 
-  type = event ? GST_EVENT_TYPE(event) : GST_EVENT_UNKNOWN;
+  type = event ? GST_EVENT_TYPE (event) : GST_EVENT_UNKNOWN;
   GST_DEBUG ("qtdemux: event %p %d", event, type);
 
-  switch(type){
+  switch (type) {
     case GST_EVENT_EOS:
-      gst_bytestream_flush(qtdemux->bs, remaining);
-      gst_pad_event_default(qtdemux->sinkpad, event);
+      gst_bytestream_flush (qtdemux->bs, remaining);
+      gst_pad_event_default (qtdemux->sinkpad, event);
       return FALSE;
     case GST_EVENT_FLUSH:
       //g_warning("flush event");
@@ -443,23 +449,24 @@ static gboolean gst_qtdemux_handle_sink_event (GstQTDemux *qtdemux)
       //gst_bytestream_flush_fast(qtdemux->bs, remaining);
       break;
     default:
-      g_warning("unhandled event %d",type);
+      g_warning ("unhandled event %d", type);
       break;
   }
 
-  gst_event_unref(event);
+  gst_event_unref (event);
   return TRUE;
 }
 
-static GstElementStateReturn gst_qtdemux_change_state(GstElement *element)
+static GstElementStateReturn
+gst_qtdemux_change_state (GstElement * element)
 {
-  GstQTDemux *qtdemux = GST_QTDEMUX(element);
+  GstQTDemux *qtdemux = GST_QTDEMUX (element);
 
-  switch(GST_STATE_TRANSITION(element)){
+  switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
       break;
     case GST_STATE_READY_TO_PAUSED:
-      qtdemux->bs = gst_bytestream_new(qtdemux->sinkpad);
+      qtdemux->bs = gst_bytestream_new (qtdemux->sinkpad);
       qtdemux->state = QTDEMUX_STATE_HEADER;
       /* FIXME */
       break;
@@ -468,7 +475,7 @@ static GstElementStateReturn gst_qtdemux_change_state(GstElement *element)
     case GST_STATE_PLAYING_TO_PAUSED:
       break;
     case GST_STATE_PAUSED_TO_READY:
-      gst_bytestream_destroy(qtdemux->bs);
+      gst_bytestream_destroy (qtdemux->bs);
       break;
     case GST_STATE_READY_TO_NULL:
       break;
@@ -476,12 +483,13 @@ static GstElementStateReturn gst_qtdemux_change_state(GstElement *element)
       break;
   }
 
-  return GST_ELEMENT_CLASS(parent_class)->change_state(element);
+  return GST_ELEMENT_CLASS (parent_class)->change_state (element);
 }
 
-static void gst_qtdemux_loop_header (GstElement *element)
+static void
+gst_qtdemux_loop_header (GstElement * element)
 {
-  GstQTDemux *qtdemux = GST_QTDEMUX(element);
+  GstQTDemux *qtdemux = GST_QTDEMUX (element);
   guint8 *data;
   guint32 length;
   guint32 fourcc;
@@ -493,220 +501,230 @@ static void gst_qtdemux_loop_header (GstElement *element)
 
   /* FIXME _tell gets the offset wrong */
   //cur_offset = gst_bytestream_tell(qtdemux->bs);
-  
+
   cur_offset = qtdemux->offset;
-  GST_DEBUG ("loop at position %d",cur_offset);
-
-  switch(qtdemux->state){
-  case QTDEMUX_STATE_HEADER:
-  {
-    do{
-      ret = gst_bytestream_peek_bytes(qtdemux->bs, &data, 16);
-      if(ret<16){
-        if(!gst_qtdemux_handle_sink_event(qtdemux)){
-          return;
+  GST_DEBUG ("loop at position %d", cur_offset);
+
+  switch (qtdemux->state) {
+    case QTDEMUX_STATE_HEADER:
+    {
+      do {
+       ret = gst_bytestream_peek_bytes (qtdemux->bs, &data, 16);
+       if (ret < 16) {
+         if (!gst_qtdemux_handle_sink_event (qtdemux)) {
+           return;
+         }
+       } else {
+         break;
        }
-      }else{
-       break;
+      } while (1);
+
+      length = GUINT32_FROM_BE (*(guint32 *) data);
+      GST_DEBUG ("length %08x", length);
+      fourcc = GUINT32_FROM_LE (*(guint32 *) (data + 4));
+      GST_DEBUG ("fourcc " GST_FOURCC_FORMAT, GST_FOURCC_ARGS (fourcc));
+
+      if (length == 0) {
+       length = gst_bytestream_length (qtdemux->bs) - cur_offset;
       }
-    }while(1);
+      if (length == 1) {
+       guint32 length1, length2;
 
-    length = GUINT32_FROM_BE(*(guint32 *)data);
-    GST_DEBUG ("length %08x",length);
-    fourcc = GUINT32_FROM_LE(*(guint32 *)(data+4));
-    GST_DEBUG ("fourcc " GST_FOURCC_FORMAT, GST_FOURCC_ARGS(fourcc));
+       length1 = GUINT32_FROM_BE (*(guint32 *) (data + 8));
+       GST_DEBUG ("length1 %08x", length1);
+       length2 = GUINT32_FROM_BE (*(guint32 *) (data + 12));
+       GST_DEBUG ("length2 %08x", length2);
 
-    if(length==0){
-      length = gst_bytestream_length(qtdemux->bs) - cur_offset;
-    }
-    if(length==1){
-      guint32 length1, length2;
-  
-      length1 = GUINT32_FROM_BE(*(guint32 *)(data+8));
-      GST_DEBUG ("length1 %08x",length1);
-      length2 = GUINT32_FROM_BE(*(guint32 *)(data+12));
-      GST_DEBUG ("length2 %08x",length2);
-  
-      length=length2;
-    }
-  
-    switch(fourcc){
-      case GST_MAKE_FOURCC('m','d','a','t'):
-      case GST_MAKE_FOURCC('f','r','e','e'):
-      case GST_MAKE_FOURCC('w','i','d','e'):
-      case GST_MAKE_FOURCC('P','I','C','T'):
-      case GST_MAKE_FOURCC('p','n','o','t'):
-        break;
-      case GST_MAKE_FOURCC('m','o','o','v'):
-      {
-        GstBuffer *moov;
-  
-       do{
-          ret = gst_bytestream_read(qtdemux->bs, &moov, length);
-          if(ret < length){
-            GST_DEBUG ("read failed (%d < %d)",ret,length);
-            if(!gst_qtdemux_handle_sink_event(qtdemux)){
-             return;
+       length = length2;
+      }
+
+      switch (fourcc) {
+       case GST_MAKE_FOURCC ('m', 'd', 'a', 't'):
+       case GST_MAKE_FOURCC ('f', 'r', 'e', 'e'):
+       case GST_MAKE_FOURCC ('w', 'i', 'd', 'e'):
+       case GST_MAKE_FOURCC ('P', 'I', 'C', 'T'):
+       case GST_MAKE_FOURCC ('p', 'n', 'o', 't'):
+         break;
+       case GST_MAKE_FOURCC ('m', 'o', 'o', 'v'):
+       {
+         GstBuffer *moov;
+
+         do {
+           ret = gst_bytestream_read (qtdemux->bs, &moov, length);
+           if (ret < length) {
+             GST_DEBUG ("read failed (%d < %d)", ret, length);
+             if (!gst_qtdemux_handle_sink_event (qtdemux)) {
+               return;
+             }
+           } else {
+             break;
            }
-          }else{
-           break;
+         } while (1);
+
+         qtdemux_parse_moov (qtdemux, GST_BUFFER_DATA (moov), length);
+         if (1)
+           qtdemux_node_dump (qtdemux, qtdemux->moov_node);
+         qtdemux_parse_tree (qtdemux);
+         qtdemux->state = QTDEMUX_STATE_MOVIE;
+         break;
+       }
+       default:
+       {
+         GST_LOG ("unknown %08x '" GST_FOURCC_FORMAT "' at %d\n",
+             fourcc, GST_FOURCC_ARGS (fourcc), cur_offset);
+         break;
+       }
+      }
+      ret = gst_bytestream_seek (qtdemux->bs, cur_offset + length,
+         GST_SEEK_METHOD_SET);
+      qtdemux->offset = cur_offset + length;
+      GST_DEBUG ("seek returned %d\n", ret);
+      break;
+    }
+    case QTDEMUX_STATE_SEEKING_EOS:
+    {
+      guint8 *data;
+
+      do {
+       ret = gst_bytestream_peek_bytes (qtdemux->bs, &data, 1);
+       if (ret < 1) {
+         if (!gst_qtdemux_handle_sink_event (qtdemux)) {
+           return;
          }
-       }while(1);
+       } else {
+         break;
+       }
+      } while (TRUE);
+      gst_element_set_eos (element);
 
-        qtdemux_parse_moov(qtdemux, GST_BUFFER_DATA(moov), length);
-        if(1)qtdemux_node_dump(qtdemux, qtdemux->moov_node);
-        qtdemux_parse_tree(qtdemux);
-        qtdemux->state = QTDEMUX_STATE_MOVIE;
-        break;
-      }
-      default:
-      {
-        GST_LOG("unknown %08x '" GST_FOURCC_FORMAT "' at %d\n",
-           fourcc, GST_FOURCC_ARGS(fourcc), cur_offset);
-        break;
-      }
+      qtdemux->state = QTDEMUX_STATE_EOS;
+      return;
     }
-    ret = gst_bytestream_seek(qtdemux->bs, cur_offset + length,
-        GST_SEEK_METHOD_SET);
-    qtdemux->offset = cur_offset + length;
-    GST_DEBUG ("seek returned %d\n",ret);
-    break;
-  }
-  case QTDEMUX_STATE_SEEKING_EOS:
-  {
-    guint8 *data;
-
-    do{
-      ret = gst_bytestream_peek_bytes(qtdemux->bs, &data, 1);
-      if(ret<1){
-        if(!gst_qtdemux_handle_sink_event(qtdemux)){
-         return;
-        }
-      }else{
-       break;
+    case QTDEMUX_STATE_EOS:
+      g_warning ("spinning in EOS\n");
+      return;
+    case QTDEMUX_STATE_MOVIE:
+    {
+      QtDemuxStream *stream;
+      guint64 min_time;
+      int index = -1;
+      int i;
+
+      min_time = G_MAXUINT64;
+      for (i = 0; i < qtdemux->n_streams; i++) {
+       stream = qtdemux->streams[i];
+
+       if (stream->sample_index < stream->n_samples &&
+           stream->samples[stream->sample_index].timestamp < min_time) {
+         min_time = stream->samples[stream->sample_index].timestamp;
+         index = i;
+       }
       }
-    }while(TRUE);
-    gst_element_set_eos(element);
 
-    qtdemux->state = QTDEMUX_STATE_EOS;
-    return;
-  }
-  case QTDEMUX_STATE_EOS:
-    g_warning("spinning in EOS\n");
-    return;
-  case QTDEMUX_STATE_MOVIE:
-  {
-    QtDemuxStream *stream;
-    guint64 min_time;
-    int index = -1;
-    int i;
-
-    min_time = G_MAXUINT64;
-    for(i=0;i<qtdemux->n_streams;i++){
-      stream = qtdemux->streams[i];
-
-      if(stream->sample_index < stream->n_samples &&
-         stream->samples[stream->sample_index].timestamp < min_time){
-       min_time = stream->samples[stream->sample_index].timestamp;
-       index = i;
-      }
-    }
+      if (index == -1) {
+       for (i = 0; i < qtdemux->n_streams; i++) {
+         gst_pad_push (qtdemux->streams[i]->pad,
+             GST_DATA (gst_event_new (GST_EVENT_EOS)));
+       }
+       ret = gst_bytestream_seek (qtdemux->bs, 0, GST_SEEK_METHOD_END);
+       GST_DEBUG ("seek returned %d", ret);
 
-    if(index==-1){
-      for(i=0;i<qtdemux->n_streams;i++){
-        gst_pad_push(qtdemux->streams[i]->pad,
-           GST_DATA(gst_event_new (GST_EVENT_EOS)));
+       qtdemux->state = QTDEMUX_STATE_SEEKING_EOS;
+       return;
       }
-      ret = gst_bytestream_seek(qtdemux->bs, 0, GST_SEEK_METHOD_END);
-      GST_DEBUG ("seek returned %d",ret);
-
-      qtdemux->state = QTDEMUX_STATE_SEEKING_EOS;
-      return;
-    }
 
-    stream = qtdemux->streams[index];
+      stream = qtdemux->streams[index];
 
-    offset = stream->samples[stream->sample_index].offset;
-    size = stream->samples[stream->sample_index].size;
+      offset = stream->samples[stream->sample_index].offset;
+      size = stream->samples[stream->sample_index].size;
 
-    GST_INFO ("pushing from stream %d, sample_index=%d offset=%d size=%d timestamp=%lld",
-       index, stream->sample_index, offset, size,
-        stream->samples[stream->sample_index].timestamp);
+      GST_INFO
+         ("pushing from stream %d, sample_index=%d offset=%d size=%d timestamp=%lld",
+         index, stream->sample_index, offset, size,
+         stream->samples[stream->sample_index].timestamp);
 
-    cur_offset = gst_bytestream_tell(qtdemux->bs);
-    if(offset != cur_offset){
-      GST_DEBUG ("seeking to offset %d",offset);
-      GST_LOG ("seeking to offset %d\n",offset);
-      ret = gst_bytestream_seek(qtdemux->bs, offset, GST_SEEK_METHOD_SET);
-      GST_DEBUG ("seek returned %d",ret);
-      return;
-    }
+      cur_offset = gst_bytestream_tell (qtdemux->bs);
+      if (offset != cur_offset) {
+       GST_DEBUG ("seeking to offset %d", offset);
+       GST_LOG ("seeking to offset %d\n", offset);
+       ret = gst_bytestream_seek (qtdemux->bs, offset, GST_SEEK_METHOD_SET);
+       GST_DEBUG ("seek returned %d", ret);
+       return;
+      }
 
-    GST_DEBUG ("reading %d bytes\n",size);
-    buf = NULL;
-    do{
-      ret = gst_bytestream_read(qtdemux->bs, &buf, size);
-      if(ret < size){
-        GST_DEBUG ("read failed (%d < %d)",ret,size);
-        if(!gst_qtdemux_handle_sink_event(qtdemux)){
-         return;
+      GST_DEBUG ("reading %d bytes\n", size);
+      buf = NULL;
+      do {
+       ret = gst_bytestream_read (qtdemux->bs, &buf, size);
+       if (ret < size) {
+         GST_DEBUG ("read failed (%d < %d)", ret, size);
+         if (!gst_qtdemux_handle_sink_event (qtdemux)) {
+           return;
+         }
+       } else {
+         break;
+       }
+      } while (TRUE);
+
+      if (buf) {
+       /* hum... */
+       if (stream->subtype == GST_MAKE_FOURCC ('v', 'i', 'd', 'e')) {
+         float fps =
+             1. * GST_SECOND / stream->samples[stream->sample_index].duration;
+         if (fps != stream->fps) {
+           gst_caps_set_simple (stream->caps, "framerate", G_TYPE_DOUBLE, fps,
+               NULL);
+           stream->fps = fps;
+           gst_pad_set_explicit_caps (stream->pad, stream->caps);
+         }
        }
-      }else{
-       break;
-      }
-    }while(TRUE);
-
-    if(buf){
-      /* hum... */
-      if(stream->subtype == GST_MAKE_FOURCC('v','i','d','e')){
-        float fps = 1. * GST_SECOND / stream->samples[stream->sample_index].duration;
-        if (fps != stream->fps) {
-         gst_caps_set_simple (stream->caps, "framerate", G_TYPE_DOUBLE, fps,
-             NULL);
-          stream->fps = fps;
-          gst_pad_set_explicit_caps(stream->pad, stream->caps);
-        }
-      }
 
-      GST_BUFFER_TIMESTAMP(buf) = stream->samples[stream->sample_index].timestamp;
-      GST_BUFFER_DURATION(buf) = stream->samples[stream->sample_index].duration;
-      gst_pad_push(stream->pad, GST_DATA (buf));
+       GST_BUFFER_TIMESTAMP (buf) =
+           stream->samples[stream->sample_index].timestamp;
+       GST_BUFFER_DURATION (buf) =
+           stream->samples[stream->sample_index].duration;
+       gst_pad_push (stream->pad, GST_DATA (buf));
 
-      GST_DEBUG ("pushing buffer on %" GST_PTR_FORMAT, stream->pad);
+       GST_DEBUG ("pushing buffer on %" GST_PTR_FORMAT, stream->pad);
+      }
+      stream->sample_index++;
+      break;
     }
-    stream->sample_index++;
-    break;
-  }
-  default:
-    /* unreached */
-    g_assert(0);
+    default:
+      /* unreached */
+      g_assert (0);
   }
 
 }
 
-void gst_qtdemux_add_stream(GstQTDemux *qtdemux, QtDemuxStream *stream)
+void
+gst_qtdemux_add_stream (GstQTDemux * qtdemux, QtDemuxStream * stream)
 {
-  if(stream->subtype == GST_MAKE_FOURCC('v','i','d','e')){
+  if (stream->subtype == GST_MAKE_FOURCC ('v', 'i', 'd', 'e')) {
     gchar *name = g_strdup_printf ("video_%02d", qtdemux->n_video_streams);
-    stream->pad = gst_pad_new_from_template (
-       gst_static_pad_template_get(&gst_qtdemux_videosrc_template), name);
+
+    stream->pad =
+       gst_pad_new_from_template (gst_static_pad_template_get
+       (&gst_qtdemux_videosrc_template), name);
     g_free (name);
     stream->fps = 1. * GST_SECOND / stream->samples[0].duration;
-    if(stream->caps){
-      gst_caps_set_simple(stream->caps,
+    if (stream->caps) {
+      gst_caps_set_simple (stream->caps,
          "width", G_TYPE_INT, stream->width,
          "height", G_TYPE_INT, stream->height,
          "framerate", G_TYPE_DOUBLE, stream->fps, NULL);
     }
     qtdemux->n_video_streams++;
-  }else{
+  } else {
     gchar *name = g_strdup_printf ("audio_%02d", qtdemux->n_audio_streams);
-    stream->pad = gst_pad_new_from_template (
-       gst_static_pad_template_get(&gst_qtdemux_audiosrc_template), name);
+
+    stream->pad =
+       gst_pad_new_from_template (gst_static_pad_template_get
+       (&gst_qtdemux_audiosrc_template), name);
     g_free (name);
-    if(stream->caps){
-      gst_caps_set_simple(stream->caps,
-         "rate", G_TYPE_INT, (int)stream->rate,
+    if (stream->caps) {
+      gst_caps_set_simple (stream->caps,
+         "rate", G_TYPE_INT, (int) stream->rate,
          "channels", G_TYPE_INT, stream->n_channels, NULL);
     }
     qtdemux->n_audio_streams++;
@@ -714,22 +732,23 @@ void gst_qtdemux_add_stream(GstQTDemux *qtdemux, QtDemuxStream *stream)
 
   gst_pad_use_explicit_caps (stream->pad);
 
-  GST_PAD_ELEMENT_PRIVATE(stream->pad) = stream;
+  GST_PAD_ELEMENT_PRIVATE (stream->pad) = stream;
   qtdemux->streams[qtdemux->n_streams] = stream;
   qtdemux->n_streams++;
   GST_DEBUG ("n_streams is now %d", qtdemux->n_streams);
 
   gst_pad_set_event_mask_function (stream->pad, gst_qtdemux_get_event_mask);
   gst_pad_set_event_function (stream->pad, gst_qtdemux_handle_src_event);
-  gst_pad_set_query_type_function (stream->pad, gst_qtdemux_get_src_query_types);
+  gst_pad_set_query_type_function (stream->pad,
+      gst_qtdemux_get_src_query_types);
   gst_pad_set_query_function (stream->pad, gst_qtdemux_handle_src_query);
   gst_pad_set_formats_function (stream->pad, gst_qtdemux_get_src_formats);
   gst_pad_set_convert_function (stream->pad, gst_qtdemux_src_convert);
 
-  gst_pad_set_explicit_caps(stream->pad, stream->caps);
+  gst_pad_set_explicit_caps (stream->pad, stream->caps);
 
   GST_DEBUG ("adding pad %p to qtdemux %p", stream->pad, qtdemux);
-  gst_element_add_pad(GST_ELEMENT (qtdemux), stream->pad);
+  gst_element_add_pad (GST_ELEMENT (qtdemux), stream->pad);
 }
 
 
@@ -777,101 +796,104 @@ void gst_qtdemux_add_stream(GstQTDemux *qtdemux, QtDemuxStream *stream)
 #define FOURCC_cmvd    GST_MAKE_FOURCC('c','m','v','d')
 
 
-static void qtdemux_dump_mvhd(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_tkhd(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_elst(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_mdhd(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_hdlr(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_vmhd(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_dref(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_stsd(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_stts(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_stss(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_stsc(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_stsz(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_stco(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_co64(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_dcom(GstQTDemux *qtdemux, void *buffer, int depth);
-static void qtdemux_dump_cmvd(GstQTDemux *qtdemux, void *buffer, int depth);
+static void qtdemux_dump_mvhd (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_tkhd (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_elst (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_mdhd (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_hdlr (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_vmhd (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_dref (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_stsd (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_stts (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_stss (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_stsc (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_stsz (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_stco (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_co64 (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_dcom (GstQTDemux * qtdemux, void *buffer, int depth);
+static void qtdemux_dump_cmvd (GstQTDemux * qtdemux, void *buffer, int depth);
 
 QtNodeType qt_node_types[] = {
-  { FOURCC_moov, "movie",              QT_CONTAINER, },
-  { FOURCC_mvhd, "movie header",       0,
-       qtdemux_dump_mvhd },
-  { FOURCC_clip, "clipping",           QT_CONTAINER, },
-  { FOURCC_trak, "track",              QT_CONTAINER, },
-  { FOURCC_udta, "user data",          0, }, /* special container */
-  { FOURCC_ctab, "color table",                0, },
-  { FOURCC_tkhd, "track header",       0,
-       qtdemux_dump_tkhd },
-  { FOURCC_crgn, "clipping region",    0, },
-  { FOURCC_matt, "track matte",                QT_CONTAINER, },
-  { FOURCC_kmat, "compressed matte",   0, },
-  { FOURCC_edts, "edit",               QT_CONTAINER, },
-  { FOURCC_elst, "edit list",          0,
-       qtdemux_dump_elst },
-  { FOURCC_load, "track load settings",        0, },
-  { FOURCC_tref, "track reference",    QT_CONTAINER, },
-  { FOURCC_imap, "track input map",    QT_CONTAINER, },
-  { FOURCC___in, "track input",                0, }, /* special container */
-  { FOURCC___ty, "input type",         0, },
-  { FOURCC_mdia, "media",              QT_CONTAINER },
-  { FOURCC_mdhd, "media header",       0,
-       qtdemux_dump_mdhd },
-  { FOURCC_hdlr, "handler reference",  0,
-       qtdemux_dump_hdlr },
-  { FOURCC_minf, "media information",  QT_CONTAINER },
-  { FOURCC_vmhd, "video media information", 0,
-       qtdemux_dump_vmhd },
-  { FOURCC_smhd, "sound media information", 0 },
-  { FOURCC_gmhd, "base media information header", 0 },
-  { FOURCC_gmin, "base media info",    0 },
-  { FOURCC_dinf, "data information",   QT_CONTAINER },
-  { FOURCC_dref, "data reference",     0,
-       qtdemux_dump_dref },
-  { FOURCC_stbl, "sample table",       QT_CONTAINER },
-  { FOURCC_stsd, "sample description", 0,
-       qtdemux_dump_stsd },
-  { FOURCC_stts, "time-to-sample",     0,
-       qtdemux_dump_stts },
-  { FOURCC_stss, "sync sample",                0,
-       qtdemux_dump_stss },
-  { FOURCC_stsc, "sample-to-chunk",    0,
-       qtdemux_dump_stsc },
-  { FOURCC_stsz, "sample size",                0,
-       qtdemux_dump_stsz },
-  { FOURCC_stco, "chunk offset",       0,
-       qtdemux_dump_stco },
-  { FOURCC_co64, "64-bit chunk offset",        0,
-       qtdemux_dump_co64 },
-  { FOURCC_vide, "video media",                0 },
-  { FOURCC_cmov, "compressed movie",   QT_CONTAINER },
-  { FOURCC_dcom, "compressed data",    0,
-       qtdemux_dump_dcom },
-  { FOURCC_cmvd, "compressed movie data", 0,
-       qtdemux_dump_cmvd },
-  { 0, "unknown", 0 },
+  {FOURCC_moov, "movie", QT_CONTAINER,},
+  {FOURCC_mvhd, "movie header", 0,
+      qtdemux_dump_mvhd},
+  {FOURCC_clip, "clipping", QT_CONTAINER,},
+  {FOURCC_trak, "track", QT_CONTAINER,},
+  {FOURCC_udta, "user data", 0,},      /* special container */
+  {FOURCC_ctab, "color table", 0,},
+  {FOURCC_tkhd, "track header", 0,
+      qtdemux_dump_tkhd},
+  {FOURCC_crgn, "clipping region", 0,},
+  {FOURCC_matt, "track matte", QT_CONTAINER,},
+  {FOURCC_kmat, "compressed matte", 0,},
+  {FOURCC_edts, "edit", QT_CONTAINER,},
+  {FOURCC_elst, "edit list", 0,
+      qtdemux_dump_elst},
+  {FOURCC_load, "track load settings", 0,},
+  {FOURCC_tref, "track reference", QT_CONTAINER,},
+  {FOURCC_imap, "track input map", QT_CONTAINER,},
+  {FOURCC___in, "track input", 0,},    /* special container */
+  {FOURCC___ty, "input type", 0,},
+  {FOURCC_mdia, "media", QT_CONTAINER},
+  {FOURCC_mdhd, "media header", 0,
+      qtdemux_dump_mdhd},
+  {FOURCC_hdlr, "handler reference", 0,
+      qtdemux_dump_hdlr},
+  {FOURCC_minf, "media information", QT_CONTAINER},
+  {FOURCC_vmhd, "video media information", 0,
+      qtdemux_dump_vmhd},
+  {FOURCC_smhd, "sound media information", 0},
+  {FOURCC_gmhd, "base media information header", 0},
+  {FOURCC_gmin, "base media info", 0},
+  {FOURCC_dinf, "data information", QT_CONTAINER},
+  {FOURCC_dref, "data reference", 0,
+      qtdemux_dump_dref},
+  {FOURCC_stbl, "sample table", QT_CONTAINER},
+  {FOURCC_stsd, "sample description", 0,
+      qtdemux_dump_stsd},
+  {FOURCC_stts, "time-to-sample", 0,
+      qtdemux_dump_stts},
+  {FOURCC_stss, "sync sample", 0,
+      qtdemux_dump_stss},
+  {FOURCC_stsc, "sample-to-chunk", 0,
+      qtdemux_dump_stsc},
+  {FOURCC_stsz, "sample size", 0,
+      qtdemux_dump_stsz},
+  {FOURCC_stco, "chunk offset", 0,
+      qtdemux_dump_stco},
+  {FOURCC_co64, "64-bit chunk offset", 0,
+      qtdemux_dump_co64},
+  {FOURCC_vide, "video media", 0},
+  {FOURCC_cmov, "compressed movie", QT_CONTAINER},
+  {FOURCC_dcom, "compressed data", 0,
+      qtdemux_dump_dcom},
+  {FOURCC_cmvd, "compressed movie data", 0,
+      qtdemux_dump_cmvd},
+  {0, "unknown", 0},
 };
-static int n_qt_node_types = sizeof(qt_node_types)/sizeof(qt_node_types[0]);
+static int n_qt_node_types = sizeof (qt_node_types) / sizeof (qt_node_types[0]);
 
 
-static void *qtdemux_zalloc(void *opaque, unsigned int items, unsigned int size)
+static void *
+qtdemux_zalloc (void *opaque, unsigned int items, unsigned int size)
 {
-  return g_malloc(items*size);
+  return g_malloc (items * size);
 }
 
-static void qtdemux_zfree(void *opaque, void *addr)
+static void
+qtdemux_zfree (void *opaque, void *addr)
 {
-  g_free(addr);
+  g_free (addr);
 }
 
-static void *qtdemux_inflate(void *z_buffer, int z_length, int length)
+static void *
+qtdemux_inflate (void *z_buffer, int z_length, int length)
 {
   void *buffer;
   z_stream *z;
   int ret;
 
-  z = g_new0(z_stream, 1);
+  z = g_new0 (z_stream, 1);
   z->zalloc = qtdemux_zalloc;
   z->zfree = qtdemux_zfree;
   z->opaque = NULL;
@@ -879,147 +901,154 @@ static void *qtdemux_inflate(void *z_buffer, int z_length, int length)
   z->next_in = z_buffer;
   z->avail_in = z_length;
 
-  buffer = g_malloc(length);
-  ret = inflateInit(z);
-  while(z->avail_in > 0){
-    if(z->avail_out == 0){
+  buffer = g_malloc (length);
+  ret = inflateInit (z);
+  while (z->avail_in > 0) {
+    if (z->avail_out == 0) {
       length += 1024;
-      buffer = realloc(buffer, length);
+      buffer = realloc (buffer, length);
       z->next_out = buffer + z->total_out;
       z->avail_out = 1024;
     }
-    ret = inflate(z,Z_SYNC_FLUSH);
-    if(ret != Z_OK)break;
+    ret = inflate (z, Z_SYNC_FLUSH);
+    if (ret != Z_OK)
+      break;
   }
-  if(ret != Z_STREAM_END){
-    g_warning("inflate() returned %d\n",ret);
+  if (ret != Z_STREAM_END) {
+    g_warning ("inflate() returned %d\n", ret);
   }
 
-  g_free(z);
+  g_free (z);
   return buffer;
 }
 
-static void qtdemux_parse_moov(GstQTDemux *qtdemux, void *buffer, int length)
+static void
+qtdemux_parse_moov (GstQTDemux * qtdemux, void *buffer, int length)
 {
   GNode *cmov;
 
-  qtdemux->moov_node = g_node_new(buffer);
+  qtdemux->moov_node = g_node_new (buffer);
 
-  qtdemux_parse(qtdemux, qtdemux->moov_node, buffer, length);
+  qtdemux_parse (qtdemux, qtdemux->moov_node, buffer, length);
 
-  cmov = qtdemux_tree_get_child_by_type(qtdemux->moov_node, FOURCC_cmov);
-  if(cmov){
+  cmov = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_cmov);
+  if (cmov) {
     GNode *dcom;
     GNode *cmvd;
 
-    dcom = qtdemux_tree_get_child_by_type(cmov, FOURCC_dcom);
-    cmvd = qtdemux_tree_get_child_by_type(cmov, FOURCC_cmvd);
+    dcom = qtdemux_tree_get_child_by_type (cmov, FOURCC_dcom);
+    cmvd = qtdemux_tree_get_child_by_type (cmov, FOURCC_cmvd);
 
-    if(QTDEMUX_FOURCC_GET(dcom->data+8) == GST_MAKE_FOURCC('z','l','i','b')){
+    if (QTDEMUX_FOURCC_GET (dcom->data + 8) == GST_MAKE_FOURCC ('z', 'l', 'i',
+           'b')) {
       int uncompressed_length;
       int compressed_length;
       void *buf;
-      
-      uncompressed_length = QTDEMUX_GUINT32_GET(cmvd->data+8);
-      compressed_length = QTDEMUX_GUINT32_GET(cmvd->data+4) - 12;
-      GST_LOG("length = %d\n",uncompressed_length);
 
-      buf = qtdemux_inflate(cmvd->data + 12, compressed_length,
+      uncompressed_length = QTDEMUX_GUINT32_GET (cmvd->data + 8);
+      compressed_length = QTDEMUX_GUINT32_GET (cmvd->data + 4) - 12;
+      GST_LOG ("length = %d\n", uncompressed_length);
+
+      buf = qtdemux_inflate (cmvd->data + 12, compressed_length,
          uncompressed_length);
 
       qtdemux->moov_node_compressed = qtdemux->moov_node;
-      qtdemux->moov_node = g_node_new(buf);
+      qtdemux->moov_node = g_node_new (buf);
 
-      qtdemux_parse(qtdemux, qtdemux->moov_node, buf, uncompressed_length);
-    }else{
-      GST_LOG("unknown header compression type\n");
+      qtdemux_parse (qtdemux, qtdemux->moov_node, buf, uncompressed_length);
+    } else {
+      GST_LOG ("unknown header compression type\n");
     }
   }
 }
 
-static void qtdemux_parse(GstQTDemux *qtdemux, GNode *node, void *buffer, int length)
+static void
+qtdemux_parse (GstQTDemux * qtdemux, GNode * node, void *buffer, int length)
 {
   guint32 fourcc;
   guint32 node_length;
   QtNodeType *type;
   void *end;
 
-  GST_LOG("qtdemux_parse %p %d\n",buffer, length);
+  GST_LOG ("qtdemux_parse %p %d\n", buffer, length);
 
-  node_length = QTDEMUX_GUINT32_GET(buffer);
-  fourcc = QTDEMUX_FOURCC_GET(buffer+4);
+  node_length = QTDEMUX_GUINT32_GET (buffer);
+  fourcc = QTDEMUX_FOURCC_GET (buffer + 4);
 
-  type = qtdemux_type_get(fourcc);
-  
-  GST_LOG("parsing '" GST_FOURCC_FORMAT "', length=%d\n",
-      GST_FOURCC_ARGS(fourcc), node_length);
+  type = qtdemux_type_get (fourcc);
 
-  if(type->flags & QT_CONTAINER){
+  GST_LOG ("parsing '" GST_FOURCC_FORMAT "', length=%d\n",
+      GST_FOURCC_ARGS (fourcc), node_length);
+
+  if (type->flags & QT_CONTAINER) {
     void *buf;
     guint32 len;
 
     buf = buffer + 8;
     end = buffer + length;
-    while(buf < end){
+    while (buf < end) {
       GNode *child;
 
-      if(buf + 8 >= end){
+      if (buf + 8 >= end) {
        /* FIXME: get annoyed */
-       GST_LOG("buffer overrun\n");
+       GST_LOG ("buffer overrun\n");
       }
-      len = QTDEMUX_GUINT32_GET(buf);
+      len = QTDEMUX_GUINT32_GET (buf);
 
-      child = g_node_new(buf);
-      g_node_append(node, child);
-      qtdemux_parse(qtdemux, child, buf, len);
+      child = g_node_new (buf);
+      g_node_append (node, child);
+      qtdemux_parse (qtdemux, child, buf, len);
 
       buf += len;
     }
-  }else{
+  } else {
 #if 0
-    if(fourcc == FOURCC_cmvd){
+    if (fourcc == FOURCC_cmvd) {
       int uncompressed_length;
       void *buf;
-      
-      uncompressed_length = QTDEMUX_GUINT32_GET(buffer+8);
-      GST_LOG("length = %d\n",uncompressed_length);
 
-      buf = qtdemux_inflate(buffer + 12, node_length-12, uncompressed_length);
+      uncompressed_length = QTDEMUX_GUINT32_GET (buffer + 8);
+      GST_LOG ("length = %d\n", uncompressed_length);
+
+      buf =
+         qtdemux_inflate (buffer + 12, node_length - 12, uncompressed_length);
 
       end = buf + uncompressed_length;
-      while(buf < end){
-        GNode *child;
+      while (buf < end) {
+       GNode *child;
        guint32 len;
 
-        if(buf + 8 >= end){
+       if (buf + 8 >= end) {
          /* FIXME: get annoyed */
-         GST_LOG("buffer overrun\n");
-        }
-        len = QTDEMUX_GUINT32_GET(buf);
+         GST_LOG ("buffer overrun\n");
+       }
+       len = QTDEMUX_GUINT32_GET (buf);
 
-        child = g_node_new(buf);
-        g_node_append(node, child);
-        qtdemux_parse(qtdemux, child, buf, len);
+       child = g_node_new (buf);
+       g_node_append (node, child);
+       qtdemux_parse (qtdemux, child, buf, len);
 
-        buf += len;
+       buf += len;
       }
     }
 #endif
   }
 }
 
-static QtNodeType *qtdemux_type_get(guint32 fourcc)
+static QtNodeType *
+qtdemux_type_get (guint32 fourcc)
 {
   int i;
 
-  for(i=0;i<n_qt_node_types;i++){
-    if(qt_node_types[i].fourcc == fourcc)
-      return qt_node_types+i;
+  for (i = 0; i < n_qt_node_types; i++) {
+    if (qt_node_types[i].fourcc == fourcc)
+      return qt_node_types + i;
   }
-  return qt_node_types+n_qt_node_types-1;
+  return qt_node_types + n_qt_node_types - 1;
 }
 
-static gboolean qtdemux_node_dump_foreach(GNode *node, gpointer data)
+static gboolean
+qtdemux_node_dump_foreach (GNode * node, gpointer data)
 {
   void *buffer = node->data;
   guint32 node_length;
@@ -1027,353 +1056,456 @@ static gboolean qtdemux_node_dump_foreach(GNode *node, gpointer data)
   QtNodeType *type;
   int depth;
 
-  node_length = GUINT32_FROM_BE(*(guint32 *)buffer);
-  fourcc = GUINT32_FROM_LE(*(guint32 *)(buffer+4));
+  node_length = GUINT32_FROM_BE (*(guint32 *) buffer);
+  fourcc = GUINT32_FROM_LE (*(guint32 *) (buffer + 4));
 
-  type = qtdemux_type_get(fourcc);
+  type = qtdemux_type_get (fourcc);
 
-  depth = (g_node_depth(node)-1)*2;
-  GST_LOG("%*s'" GST_FOURCC_FORMAT "', [%d], %s\n",
-      depth, "",
-      GST_FOURCC_ARGS(fourcc),
-      node_length,
-      type->name);
+  depth = (g_node_depth (node) - 1) * 2;
+  GST_LOG ("%*s'" GST_FOURCC_FORMAT "', [%d], %s\n",
+      depth, "", GST_FOURCC_ARGS (fourcc), node_length, type->name);
 
-  if(type->dump)type->dump(data, buffer, depth);
+  if (type->dump)
+    type->dump (data, buffer, depth);
 
   return FALSE;
 }
 
-static void qtdemux_node_dump(GstQTDemux *qtdemux, GNode *node)
+static void
+qtdemux_node_dump (GstQTDemux * qtdemux, GNode * node)
 {
-  g_node_traverse(qtdemux->moov_node, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
+  g_node_traverse (qtdemux->moov_node, G_PRE_ORDER, G_TRAVERSE_ALL, -1,
       qtdemux_node_dump_foreach, qtdemux);
 }
 
-static void qtdemux_dump_mvhd(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_mvhd (GstQTDemux * qtdemux, void *buffer, int depth)
 {
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  creation time: %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  GST_LOG("%*s  modify time:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+16));
-  GST_LOG("%*s  time scale:    1/%u sec\n", depth, "", QTDEMUX_GUINT32_GET(buffer+20));
-  GST_LOG("%*s  duration:      %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+24));
-  GST_LOG("%*s  pref. rate:    %g\n", depth, "", QTDEMUX_FP32_GET(buffer+28));
-  GST_LOG("%*s  pref. volume:  %g\n", depth, "", QTDEMUX_FP16_GET(buffer+32));
-  GST_LOG("%*s  preview time:  %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+80));
-  GST_LOG("%*s  preview dur.:  %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+84));
-  GST_LOG("%*s  poster time:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+88));
-  GST_LOG("%*s  select time:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+92));
-  GST_LOG("%*s  select dur.:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+96));
-  GST_LOG("%*s  current time:  %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+100));
-  GST_LOG("%*s  next track ID: %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+104));
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  creation time: %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  GST_LOG ("%*s  modify time:   %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 16));
+  GST_LOG ("%*s  time scale:    1/%u sec\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 20));
+  GST_LOG ("%*s  duration:      %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 24));
+  GST_LOG ("%*s  pref. rate:    %g\n", depth, "",
+      QTDEMUX_FP32_GET (buffer + 28));
+  GST_LOG ("%*s  pref. volume:  %g\n", depth, "",
+      QTDEMUX_FP16_GET (buffer + 32));
+  GST_LOG ("%*s  preview time:  %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 80));
+  GST_LOG ("%*s  preview dur.:  %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 84));
+  GST_LOG ("%*s  poster time:   %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 88));
+  GST_LOG ("%*s  select time:   %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 92));
+  GST_LOG ("%*s  select dur.:   %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 96));
+  GST_LOG ("%*s  current time:  %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 100));
+  GST_LOG ("%*s  next track ID: %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 104));
 }
 
-static void qtdemux_dump_tkhd(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_tkhd (GstQTDemux * qtdemux, void *buffer, int depth)
 {
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  creation time: %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  GST_LOG("%*s  modify time:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+16));
-  GST_LOG("%*s  track ID:      %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+20));
-  GST_LOG("%*s  duration:      %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+28));
-  GST_LOG("%*s  layer:         %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+36));
-  GST_LOG("%*s  alt group:     %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+38));
-  GST_LOG("%*s  volume:        %g\n", depth, "", QTDEMUX_FP16_GET(buffer+44));
-  GST_LOG("%*s  track width:   %g\n", depth, "", QTDEMUX_FP32_GET(buffer+84));
-  GST_LOG("%*s  track height:  %g\n", depth, "", QTDEMUX_FP32_GET(buffer+88));
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  creation time: %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  GST_LOG ("%*s  modify time:   %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 16));
+  GST_LOG ("%*s  track ID:      %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 20));
+  GST_LOG ("%*s  duration:      %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 28));
+  GST_LOG ("%*s  layer:         %u\n", depth, "",
+      QTDEMUX_GUINT16_GET (buffer + 36));
+  GST_LOG ("%*s  alt group:     %u\n", depth, "",
+      QTDEMUX_GUINT16_GET (buffer + 38));
+  GST_LOG ("%*s  volume:        %g\n", depth, "",
+      QTDEMUX_FP16_GET (buffer + 44));
+  GST_LOG ("%*s  track width:   %g\n", depth, "",
+      QTDEMUX_FP32_GET (buffer + 84));
+  GST_LOG ("%*s  track height:  %g\n", depth, "",
+      QTDEMUX_FP32_GET (buffer + 88));
 
 }
 
-static void qtdemux_dump_elst(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_elst (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    track dur:     %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+16+i*12));
-    GST_LOG("%*s    media time:    %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+20+i*12));
-    GST_LOG("%*s    media rate:    %g\n", depth, "", QTDEMUX_FP32_GET(buffer+24+i*12));
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    track dur:     %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + 16 + i * 12));
+    GST_LOG ("%*s    media time:    %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + 20 + i * 12));
+    GST_LOG ("%*s    media rate:    %g\n", depth, "",
+       QTDEMUX_FP32_GET (buffer + 24 + i * 12));
   }
 }
 
-static void qtdemux_dump_mdhd(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_mdhd (GstQTDemux * qtdemux, void *buffer, int depth)
 {
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  creation time: %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  GST_LOG("%*s  modify time:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+16));
-  GST_LOG("%*s  time scale:    1/%u sec\n", depth, "", QTDEMUX_GUINT32_GET(buffer+20));
-  GST_LOG("%*s  duration:      %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+24));
-  GST_LOG("%*s  language:      %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+28));
-  GST_LOG("%*s  quality:       %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+30));
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  creation time: %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  GST_LOG ("%*s  modify time:   %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 16));
+  GST_LOG ("%*s  time scale:    1/%u sec\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 20));
+  GST_LOG ("%*s  duration:      %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 24));
+  GST_LOG ("%*s  language:      %u\n", depth, "",
+      QTDEMUX_GUINT16_GET (buffer + 28));
+  GST_LOG ("%*s  quality:       %u\n", depth, "",
+      QTDEMUX_GUINT16_GET (buffer + 30));
 
 }
 
-static void qtdemux_dump_hdlr(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_hdlr (GstQTDemux * qtdemux, void *buffer, int depth)
 {
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  type:          " GST_FOURCC_FORMAT "\n", depth, "",
-      GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(buffer+12)));
-  GST_LOG("%*s  subtype:       " GST_FOURCC_FORMAT "\n", depth, "",
-      GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(buffer+16)));
-  GST_LOG("%*s  manufacturer:  " GST_FOURCC_FORMAT "\n", depth, "",
-      GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(buffer+20)));
-  GST_LOG("%*s  flags:         %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+24));
-  GST_LOG("%*s  flags mask:    %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+28));
-  GST_LOG("%*s  name:          %*s\n", depth, "",
-      QTDEMUX_GUINT8_GET(buffer+32), (char *)(buffer+33));
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  type:          " GST_FOURCC_FORMAT "\n", depth, "",
+      GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (buffer + 12)));
+  GST_LOG ("%*s  subtype:       " GST_FOURCC_FORMAT "\n", depth, "",
+      GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (buffer + 16)));
+  GST_LOG ("%*s  manufacturer:  " GST_FOURCC_FORMAT "\n", depth, "",
+      GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (buffer + 20)));
+  GST_LOG ("%*s  flags:         %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 24));
+  GST_LOG ("%*s  flags mask:    %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 28));
+  GST_LOG ("%*s  name:          %*s\n", depth, "",
+      QTDEMUX_GUINT8_GET (buffer + 32), (char *) (buffer + 33));
 
 }
 
-static void qtdemux_dump_vmhd(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_vmhd (GstQTDemux * qtdemux, void *buffer, int depth)
 {
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  mode/color:    %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+16));
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  mode/color:    %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 16));
 }
 
-static void qtdemux_dump_dref(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_dref (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int n;
   int i;
   int offset;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %u\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
   offset = 16;
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    size:          %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset));
-    GST_LOG("%*s    type:          " GST_FOURCC_FORMAT "\n", depth, "",
-       GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(buffer+offset+4)));
-    offset += QTDEMUX_GUINT32_GET(buffer+offset);
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    size:          %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset));
+    GST_LOG ("%*s    type:          " GST_FOURCC_FORMAT "\n", depth, "",
+       GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (buffer + offset + 4)));
+    offset += QTDEMUX_GUINT32_GET (buffer + offset);
   }
 }
 
-static void qtdemux_dump_stsd(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_stsd (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
   int offset;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
   offset = 16;
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    size:          %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset));
-    GST_LOG("%*s    type:          " GST_FOURCC_FORMAT "\n", depth, "",
-       GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(buffer+offset+4)));
-    GST_LOG("%*s    data reference:%d\n", depth, "", QTDEMUX_GUINT16_GET(buffer+offset+14));
-
-    GST_LOG("%*s    version/rev.:  %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset+16));
-    GST_LOG("%*s    vendor:        " GST_FOURCC_FORMAT "\n", depth, "",
-       GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(buffer+offset+20)));
-    GST_LOG("%*s    temporal qual: %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset+24));
-    GST_LOG("%*s    spatial qual:  %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset+28));
-    GST_LOG("%*s    width:         %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+offset+32));
-    GST_LOG("%*s    height:        %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+offset+34));
-    GST_LOG("%*s    horiz. resol:  %g\n", depth, "", QTDEMUX_FP32_GET(buffer+offset+36));
-    GST_LOG("%*s    vert. resol.:  %g\n", depth, "", QTDEMUX_FP32_GET(buffer+offset+40));
-    GST_LOG("%*s    data size:     %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset+44));
-    GST_LOG("%*s    frame count:   %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+offset+48));
-    GST_LOG("%*s    compressor:    %*s\n", depth, "",
-       QTDEMUX_GUINT8_GET(buffer+offset+49), (char *)(buffer+offset+51));
-    GST_LOG("%*s    depth:         %u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+offset+82));
-    GST_LOG("%*s    color table ID:%u\n", depth, "", QTDEMUX_GUINT16_GET(buffer+offset+84));
-
-    offset += QTDEMUX_GUINT32_GET(buffer+offset);
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    size:          %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset));
+    GST_LOG ("%*s    type:          " GST_FOURCC_FORMAT "\n", depth, "",
+       GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (buffer + offset + 4)));
+    GST_LOG ("%*s    data reference:%d\n", depth, "",
+       QTDEMUX_GUINT16_GET (buffer + offset + 14));
+
+    GST_LOG ("%*s    version/rev.:  %08x\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset + 16));
+    GST_LOG ("%*s    vendor:        " GST_FOURCC_FORMAT "\n", depth, "",
+       GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (buffer + offset + 20)));
+    GST_LOG ("%*s    temporal qual: %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset + 24));
+    GST_LOG ("%*s    spatial qual:  %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset + 28));
+    GST_LOG ("%*s    width:         %u\n", depth, "",
+       QTDEMUX_GUINT16_GET (buffer + offset + 32));
+    GST_LOG ("%*s    height:        %u\n", depth, "",
+       QTDEMUX_GUINT16_GET (buffer + offset + 34));
+    GST_LOG ("%*s    horiz. resol:  %g\n", depth, "",
+       QTDEMUX_FP32_GET (buffer + offset + 36));
+    GST_LOG ("%*s    vert. resol.:  %g\n", depth, "",
+       QTDEMUX_FP32_GET (buffer + offset + 40));
+    GST_LOG ("%*s    data size:     %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset + 44));
+    GST_LOG ("%*s    frame count:   %u\n", depth, "",
+       QTDEMUX_GUINT16_GET (buffer + offset + 48));
+    GST_LOG ("%*s    compressor:    %*s\n", depth, "",
+       QTDEMUX_GUINT8_GET (buffer + offset + 49),
+       (char *) (buffer + offset + 51));
+    GST_LOG ("%*s    depth:         %u\n", depth, "",
+       QTDEMUX_GUINT16_GET (buffer + offset + 82));
+    GST_LOG ("%*s    color table ID:%u\n", depth, "",
+       QTDEMUX_GUINT16_GET (buffer + offset + 84));
+
+    offset += QTDEMUX_GUINT32_GET (buffer + offset);
   }
 }
 
-static void qtdemux_dump_stts(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_stts (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
   int offset;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
   offset = 16;
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    count:         %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset));
-    GST_LOG("%*s    duration:      %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset + 4));
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    count:         %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset));
+    GST_LOG ("%*s    duration:      %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset + 4));
 
     offset += 8;
   }
 }
 
-static void qtdemux_dump_stss(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_stss (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
   int offset;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
   offset = 16;
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    sample:        %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset));
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    sample:        %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset));
 
     offset += 4;
   }
 }
 
-static void qtdemux_dump_stsc(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_stsc (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
   int offset;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
   offset = 16;
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    first chunk:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset));
-    GST_LOG("%*s    sample per ch: %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset+4));
-    GST_LOG("%*s    sample desc id:%08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset+8));
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    first chunk:   %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset));
+    GST_LOG ("%*s    sample per ch: %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset + 4));
+    GST_LOG ("%*s    sample desc id:%08x\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset + 8));
 
     offset += 12;
   }
 }
 
-static void qtdemux_dump_stsz(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_stsz (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
   int offset;
   int sample_size;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  sample size:   %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  sample_size = QTDEMUX_GUINT32_GET(buffer+12);
-  if(sample_size == 0){
-    GST_LOG("%*s  n entries:     %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+16));
-    n = QTDEMUX_GUINT32_GET(buffer+16);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  sample size:   %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  sample_size = QTDEMUX_GUINT32_GET (buffer + 12);
+  if (sample_size == 0) {
+    GST_LOG ("%*s  n entries:     %d\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + 16));
+    n = QTDEMUX_GUINT32_GET (buffer + 16);
     offset = 20;
-    for(i=0;i<n;i++){
-      GST_LOG("%*s    sample size:   %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset));
+    for (i = 0; i < n; i++) {
+      GST_LOG ("%*s    sample size:   %u\n", depth, "",
+         QTDEMUX_GUINT32_GET (buffer + offset));
 
       offset += 4;
     }
   }
 }
 
-static void qtdemux_dump_stco(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_stco (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
   int offset;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
   offset = 16;
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    chunk offset:  %u\n", depth, "", QTDEMUX_GUINT32_GET(buffer+offset));
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    chunk offset:  %u\n", depth, "",
+       QTDEMUX_GUINT32_GET (buffer + offset));
 
     offset += 4;
   }
 }
 
-static void qtdemux_dump_co64(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_co64 (GstQTDemux * qtdemux, void *buffer, int depth)
 {
   int i;
   int n;
   int offset;
 
-  GST_LOG("%*s  version/flags: %08x\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
-  GST_LOG("%*s  n entries:     %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+12));
-  n = QTDEMUX_GUINT32_GET(buffer+12);
+  GST_LOG ("%*s  version/flags: %08x\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 8));
+  GST_LOG ("%*s  n entries:     %d\n", depth, "",
+      QTDEMUX_GUINT32_GET (buffer + 12));
+  n = QTDEMUX_GUINT32_GET (buffer + 12);
   offset = 16;
-  for(i=0;i<n;i++){
-    GST_LOG("%*s    chunk offset:  %" G_GUINT64_FORMAT "\n", depth, "", QTDEMUX_GUINT64_GET(buffer+offset));
+  for (i = 0; i < n; i++) {
+    GST_LOG ("%*s    chunk offset:  %" G_GUINT64_FORMAT "\n", depth, "",
+       QTDEMUX_GUINT64_GET (buffer + offset));
 
     offset += 8;
   }
 }
 
-static void qtdemux_dump_dcom(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_dcom (GstQTDemux * qtdemux, void *buffer, int depth)
 {
-  GST_LOG("%*s  compression type: " GST_FOURCC_FORMAT "\n", depth, "",
-      GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(buffer+8)));
+  GST_LOG ("%*s  compression type: " GST_FOURCC_FORMAT "\n", depth, "",
+      GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (buffer + 8)));
 }
 
-static void qtdemux_dump_cmvd(GstQTDemux *qtdemux, void *buffer, int depth)
+static void
+qtdemux_dump_cmvd (GstQTDemux * qtdemux, void *buffer, int depth)
 {
-  GST_LOG("%*s  length: %d\n", depth, "", QTDEMUX_GUINT32_GET(buffer+8));
+  GST_LOG ("%*s  length: %d\n", depth, "", QTDEMUX_GUINT32_GET (buffer + 8));
 }
 
 
-static GNode *qtdemux_tree_get_child_by_type(GNode *node, guint32 fourcc)
+static GNode *
+qtdemux_tree_get_child_by_type (GNode * node, guint32 fourcc)
 {
   GNode *child;
   void *buffer;
   guint32 child_fourcc;
 
-  for(child = g_node_first_child(node); child; child = g_node_next_sibling(child)){
+  for (child = g_node_first_child (node); child;
+      child = g_node_next_sibling (child)) {
     buffer = child->data;
 
-    child_fourcc = GUINT32_FROM_LE(*(guint32 *)(buffer+4));
+    child_fourcc = GUINT32_FROM_LE (*(guint32 *) (buffer + 4));
 
-    if(child_fourcc == fourcc){
+    if (child_fourcc == fourcc) {
       return child;
     }
   }
   return NULL;
 }
 
-static GNode *qtdemux_tree_get_sibling_by_type(GNode *node, guint32 fourcc)
+static GNode *
+qtdemux_tree_get_sibling_by_type (GNode * node, guint32 fourcc)
 {
   GNode *child;
   void *buffer;
   guint32 child_fourcc;
 
-  for(child = g_node_next_sibling(node); child; child = g_node_next_sibling(child)){
+  for (child = g_node_next_sibling (node); child;
+      child = g_node_next_sibling (child)) {
     buffer = child->data;
 
-    child_fourcc = GUINT32_FROM_LE(*(guint32 *)(buffer+4));
+    child_fourcc = GUINT32_FROM_LE (*(guint32 *) (buffer + 4));
 
-    if(child_fourcc == fourcc){
+    if (child_fourcc == fourcc) {
       return child;
     }
   }
   return NULL;
 }
 
-static void qtdemux_parse_trak(GstQTDemux *qtdemux, GNode *trak);
+static void qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak);
 
-static void qtdemux_parse_tree(GstQTDemux *qtdemux)
+static void
+qtdemux_parse_tree (GstQTDemux * qtdemux)
 {
   GNode *mvhd;
   GNode *trak;
 
-  mvhd = qtdemux_tree_get_child_by_type(qtdemux->moov_node, FOURCC_mvhd);
-  if(mvhd==NULL){
-    GST_LOG("No mvhd node found.\n");
+  mvhd = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_mvhd);
+  if (mvhd == NULL) {
+    GST_LOG ("No mvhd node found.\n");
     return;
   }
 
-  qtdemux->timescale = QTDEMUX_GUINT32_GET(mvhd->data + 20);
-  qtdemux->duration = QTDEMUX_GUINT32_GET(mvhd->data + 24);
+  qtdemux->timescale = QTDEMUX_GUINT32_GET (mvhd->data + 20);
+  qtdemux->duration = QTDEMUX_GUINT32_GET (mvhd->data + 24);
 
-  GST_INFO("timescale: %d\n", qtdemux->timescale);
-  GST_INFO("duration: %d\n", qtdemux->duration);
+  GST_INFO ("timescale: %d\n", qtdemux->timescale);
+  GST_INFO ("duration: %d\n", qtdemux->duration);
 
-  trak = qtdemux_tree_get_child_by_type(qtdemux->moov_node, FOURCC_trak);
-  qtdemux_parse_trak(qtdemux, trak);
+  trak = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_trak);
+  qtdemux_parse_trak (qtdemux, trak);
 
 /*  trak = qtdemux_tree_get_sibling_by_type(trak, FOURCC_trak);
   if(trak)qtdemux_parse_trak(qtdemux, trak);*/
 
-  while ((trak = qtdemux_tree_get_sibling_by_type(trak, FOURCC_trak)) != NULL)
-    qtdemux_parse_trak(qtdemux, trak);
+  while ((trak = qtdemux_tree_get_sibling_by_type (trak, FOURCC_trak)) != NULL)
+    qtdemux_parse_trak (qtdemux, trak);
 }
 
-static void qtdemux_parse_trak(GstQTDemux *qtdemux, GNode *trak)
+static void
+qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
 {
   int offset;
   GNode *tkhd;
@@ -1392,235 +1524,257 @@ static void qtdemux_parse_trak(GstQTDemux *qtdemux, GNode *trak)
   QtDemuxSample *samples;
   int n_samples_per_chunk;
   int index;
-  int i,j,k;
+  int i, j, k;
   QtDemuxStream *stream;
   int n_sample_times;
   guint64 timestamp;
   int sample_size;
   int sample_index;
 
-  stream = g_new0(QtDemuxStream,1);
+  stream = g_new0 (QtDemuxStream, 1);
 
-  tkhd = qtdemux_tree_get_child_by_type(trak, FOURCC_tkhd);
-  g_assert(tkhd);
+  tkhd = qtdemux_tree_get_child_by_type (trak, FOURCC_tkhd);
+  g_assert (tkhd);
 
   /* track duration? */
 
-  mdia = qtdemux_tree_get_child_by_type(trak, FOURCC_mdia);
-  g_assert(mdia);
+  mdia = qtdemux_tree_get_child_by_type (trak, FOURCC_mdia);
+  g_assert (mdia);
 
-  mdhd = qtdemux_tree_get_child_by_type(mdia, FOURCC_mdhd);
-  g_assert(mdhd);
+  mdhd = qtdemux_tree_get_child_by_type (mdia, FOURCC_mdhd);
+  g_assert (mdhd);
 
-  stream->timescale = QTDEMUX_GUINT32_GET(mdhd->data+20);
-  GST_INFO("track timescale: %d", stream->timescale);
-  
-  hdlr = qtdemux_tree_get_child_by_type(mdia, FOURCC_hdlr);
-  g_assert(hdlr);
-  
-  GST_LOG("track type: " GST_FOURCC_FORMAT "\n",
-      GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(hdlr->data+12)));
-  GST_LOG("track subtype: " GST_FOURCC_FORMAT "\n",
-      GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(hdlr->data+16)));
+  stream->timescale = QTDEMUX_GUINT32_GET (mdhd->data + 20);
+  GST_INFO ("track timescale: %d", stream->timescale);
+
+  hdlr = qtdemux_tree_get_child_by_type (mdia, FOURCC_hdlr);
+  g_assert (hdlr);
 
-  stream->subtype = QTDEMUX_FOURCC_GET(hdlr->data+16);
+  GST_LOG ("track type: " GST_FOURCC_FORMAT "\n",
+      GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (hdlr->data + 12)));
+  GST_LOG ("track subtype: " GST_FOURCC_FORMAT "\n",
+      GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (hdlr->data + 16)));
 
-  minf = qtdemux_tree_get_child_by_type(mdia, FOURCC_minf);
-  g_assert(minf);
+  stream->subtype = QTDEMUX_FOURCC_GET (hdlr->data + 16);
 
-  stbl = qtdemux_tree_get_child_by_type(minf, FOURCC_stbl);
-  g_assert(stbl);
+  minf = qtdemux_tree_get_child_by_type (mdia, FOURCC_minf);
+  g_assert (minf);
 
-  stsd = qtdemux_tree_get_child_by_type(stbl, FOURCC_stsd);
-  g_assert(stsd);
+  stbl = qtdemux_tree_get_child_by_type (minf, FOURCC_stbl);
+  g_assert (stbl);
 
-  if(stream->subtype == FOURCC_vide){
+  stsd = qtdemux_tree_get_child_by_type (stbl, FOURCC_stsd);
+  g_assert (stsd);
+
+  if (stream->subtype == FOURCC_vide) {
     offset = 16;
-    GST_LOG("st type:          " GST_FOURCC_FORMAT "\n",
-         GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(stsd->data+offset+4)));
-
-    stream->width = QTDEMUX_GUINT16_GET(stsd->data+offset+32);
-    stream->height = QTDEMUX_GUINT16_GET(stsd->data+offset+34);
-    stream->fps = 0.; /* this is filled in later */
-
-    GST_LOG("frame count:   %u\n", QTDEMUX_GUINT16_GET(stsd->data+offset+48));
-    
-    stream->caps = qtdemux_video_caps(qtdemux,
-        QTDEMUX_FOURCC_GET(stsd->data+offset+4), stsd->data);
-    GST_INFO("type " GST_FOURCC_FORMAT " caps %" GST_PTR_FORMAT "\n",
-        GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET(stsd->data+offset+4)),
-        stream->caps);
-  }else if(stream->subtype == FOURCC_soun){
+    GST_LOG ("st type:          " GST_FOURCC_FORMAT "\n",
+       GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (stsd->data + offset + 4)));
+
+    stream->width = QTDEMUX_GUINT16_GET (stsd->data + offset + 32);
+    stream->height = QTDEMUX_GUINT16_GET (stsd->data + offset + 34);
+    stream->fps = 0.;          /* this is filled in later */
+
+    GST_LOG ("frame count:   %u\n",
+       QTDEMUX_GUINT16_GET (stsd->data + offset + 48));
+
+    stream->caps = qtdemux_video_caps (qtdemux,
+       QTDEMUX_FOURCC_GET (stsd->data + offset + 4), stsd->data);
+    GST_INFO ("type " GST_FOURCC_FORMAT " caps %" GST_PTR_FORMAT "\n",
+       GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (stsd->data + offset + 4)),
+       stream->caps);
+  } else if (stream->subtype == FOURCC_soun) {
     int version, samplesize;
 
-    GST_LOG("st type:          " GST_FOURCC_FORMAT "\n",
-         GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(stsd->data+16+4)));
+    GST_LOG ("st type:          " GST_FOURCC_FORMAT "\n",
+       GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (stsd->data + 16 + 4)));
 
     offset = 32;
-    GST_LOG("version/rev:      %08x\n", QTDEMUX_GUINT32_GET(stsd->data+offset));
-    version = QTDEMUX_GUINT32_GET(stsd->data+offset);
-    GST_LOG("vendor:           %08x\n", QTDEMUX_GUINT32_GET(stsd->data+offset + 4));
-    GST_LOG("n_channels:       %d\n", QTDEMUX_GUINT16_GET(stsd->data+offset + 8));
-    stream->n_channels = QTDEMUX_GUINT16_GET(stsd->data+offset + 8);
-    GST_LOG("sample_size:      %d\n", QTDEMUX_GUINT16_GET(stsd->data+offset + 10));
-    samplesize = QTDEMUX_GUINT16_GET(stsd->data+offset + 10);
-    GST_LOG("compression_id:   %d\n", QTDEMUX_GUINT16_GET(stsd->data+offset + 12));
-    GST_LOG("packet size:      %d\n", QTDEMUX_GUINT16_GET(stsd->data+offset + 14));
-    GST_LOG("sample rate:      %g\n", QTDEMUX_FP32_GET(stsd->data+offset + 16));
-    stream->rate = QTDEMUX_FP32_GET(stsd->data+offset + 16);
+    GST_LOG ("version/rev:      %08x\n",
+       QTDEMUX_GUINT32_GET (stsd->data + offset));
+    version = QTDEMUX_GUINT32_GET (stsd->data + offset);
+    GST_LOG ("vendor:           %08x\n",
+       QTDEMUX_GUINT32_GET (stsd->data + offset + 4));
+    GST_LOG ("n_channels:       %d\n",
+       QTDEMUX_GUINT16_GET (stsd->data + offset + 8));
+    stream->n_channels = QTDEMUX_GUINT16_GET (stsd->data + offset + 8);
+    GST_LOG ("sample_size:      %d\n",
+       QTDEMUX_GUINT16_GET (stsd->data + offset + 10));
+    samplesize = QTDEMUX_GUINT16_GET (stsd->data + offset + 10);
+    GST_LOG ("compression_id:   %d\n",
+       QTDEMUX_GUINT16_GET (stsd->data + offset + 12));
+    GST_LOG ("packet size:      %d\n",
+       QTDEMUX_GUINT16_GET (stsd->data + offset + 14));
+    GST_LOG ("sample rate:      %g\n",
+       QTDEMUX_FP32_GET (stsd->data + offset + 16));
+    stream->rate = QTDEMUX_FP32_GET (stsd->data + offset + 16);
 
     offset = 52;
-    if(version == 0x00010000){
-      GST_LOG("samples/packet:   %d\n", QTDEMUX_GUINT32_GET(stsd->data+offset));
-      stream->samples_per_packet = QTDEMUX_GUINT32_GET(stsd->data+offset);
-      GST_LOG("bytes/packet:     %d\n", QTDEMUX_GUINT32_GET(stsd->data+offset + 4));
-      GST_LOG("bytes/frame:      %d\n", QTDEMUX_GUINT32_GET(stsd->data+offset + 8));
-      stream->bytes_per_frame = QTDEMUX_GUINT32_GET(stsd->data+offset + 8);
-      GST_LOG("bytes/sample:     %d\n", QTDEMUX_GUINT32_GET(stsd->data+offset + 12));
+    if (version == 0x00010000) {
+      GST_LOG ("samples/packet:   %d\n",
+         QTDEMUX_GUINT32_GET (stsd->data + offset));
+      stream->samples_per_packet = QTDEMUX_GUINT32_GET (stsd->data + offset);
+      GST_LOG ("bytes/packet:     %d\n",
+         QTDEMUX_GUINT32_GET (stsd->data + offset + 4));
+      GST_LOG ("bytes/frame:      %d\n",
+         QTDEMUX_GUINT32_GET (stsd->data + offset + 8));
+      stream->bytes_per_frame = QTDEMUX_GUINT32_GET (stsd->data + offset + 8);
+      GST_LOG ("bytes/sample:     %d\n",
+         QTDEMUX_GUINT32_GET (stsd->data + offset + 12));
       offset = 68;
     } else {
       stream->bytes_per_frame = stream->n_channels * samplesize / 8;
       stream->samples_per_packet = 1;
     }
 
-    stream->caps = qtdemux_audio_caps(qtdemux,
-        QTDEMUX_FOURCC_GET(stsd->data+16+4), (QTDEMUX_GUINT32_GET(stsd->data) > offset) ? stsd->data + offset : NULL);
-    GST_INFO("type " GST_FOURCC_FORMAT " caps %" GST_PTR_FORMAT "\n",
-        GST_FOURCC_ARGS(QTDEMUX_FOURCC_GET(stsd->data+16+4)), stream->caps);
-  }else{
-    GST_LOG("unknown subtype\n");
+    stream->caps = qtdemux_audio_caps (qtdemux,
+       QTDEMUX_FOURCC_GET (stsd->data + 16 + 4),
+       (QTDEMUX_GUINT32_GET (stsd->data) >
+           offset) ? stsd->data + offset : NULL);
+    GST_INFO ("type " GST_FOURCC_FORMAT " caps %" GST_PTR_FORMAT "\n",
+       GST_FOURCC_ARGS (QTDEMUX_FOURCC_GET (stsd->data + 16 + 4)),
+       stream->caps);
+  } else {
+    GST_LOG ("unknown subtype\n");
     return;
   }
 
   /* sample to chunk */
-  stsc = qtdemux_tree_get_child_by_type(stbl, FOURCC_stsc);
-  g_assert(stsc);
+  stsc = qtdemux_tree_get_child_by_type (stbl, FOURCC_stsc);
+  g_assert (stsc);
   /* sample size */
-  stsz = qtdemux_tree_get_child_by_type(stbl, FOURCC_stsz);
-  g_assert(stsz);
+  stsz = qtdemux_tree_get_child_by_type (stbl, FOURCC_stsz);
+  g_assert (stsz);
   /* chunk offsets */
-  stco = qtdemux_tree_get_child_by_type(stbl, FOURCC_stco);
-  co64 = qtdemux_tree_get_child_by_type(stbl, FOURCC_co64);
-  g_assert(stco || co64);
+  stco = qtdemux_tree_get_child_by_type (stbl, FOURCC_stco);
+  co64 = qtdemux_tree_get_child_by_type (stbl, FOURCC_co64);
+  g_assert (stco || co64);
   /* sample time */
-  stts = qtdemux_tree_get_child_by_type(stbl, FOURCC_stts);
-  g_assert(stts);
+  stts = qtdemux_tree_get_child_by_type (stbl, FOURCC_stts);
+  g_assert (stts);
 
-  sample_size = QTDEMUX_GUINT32_GET(stsz->data+12);
-  if(sample_size == 0){
-    n_samples = QTDEMUX_GUINT32_GET(stsz->data+16);
+  sample_size = QTDEMUX_GUINT32_GET (stsz->data + 12);
+  if (sample_size == 0) {
+    n_samples = QTDEMUX_GUINT32_GET (stsz->data + 16);
     stream->n_samples = n_samples;
-    samples = g_malloc(sizeof(QtDemuxSample)*n_samples);
+    samples = g_malloc (sizeof (QtDemuxSample) * n_samples);
     stream->samples = samples;
 
-    for(i=0;i<n_samples;i++){
-      samples[i].size = QTDEMUX_GUINT32_GET(stsz->data + i*4 + 20);
+    for (i = 0; i < n_samples; i++) {
+      samples[i].size = QTDEMUX_GUINT32_GET (stsz->data + i * 4 + 20);
     }
-    n_samples_per_chunk = QTDEMUX_GUINT32_GET(stsc->data+12);
+    n_samples_per_chunk = QTDEMUX_GUINT32_GET (stsc->data + 12);
     index = 0;
     offset = 16;
-    for(i=0;i<n_samples_per_chunk;i++){
+    for (i = 0; i < n_samples_per_chunk; i++) {
       int first_chunk, last_chunk;
       int samples_per_chunk;
-  
-      first_chunk = QTDEMUX_GUINT32_GET(stsc->data + 16 + i*12 + 0) - 1;
-      if(i==n_samples_per_chunk-1){
-        last_chunk = INT_MAX;
-      }else{
-        last_chunk = QTDEMUX_GUINT32_GET(stsc->data +16 + i*12 + 12) - 1;
+
+      first_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 0) - 1;
+      if (i == n_samples_per_chunk - 1) {
+       last_chunk = INT_MAX;
+      } else {
+       last_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 12) - 1;
       }
-      samples_per_chunk = QTDEMUX_GUINT32_GET(stsc->data + 16 + i*12 + 4);
-
-      for(j=first_chunk;j<last_chunk;j++){
-        int chunk_offset;
-        if(stco){
-          chunk_offset = QTDEMUX_GUINT32_GET(stco->data + 16 + j*4);
-        }else{
-          chunk_offset = QTDEMUX_GUINT64_GET(co64->data + 16 + j*8);
-        }
-        for(k=0;k<samples_per_chunk;k++){
+      samples_per_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 4);
+
+      for (j = first_chunk; j < last_chunk; j++) {
+       int chunk_offset;
+
+       if (stco) {
+         chunk_offset = QTDEMUX_GUINT32_GET (stco->data + 16 + j * 4);
+       } else {
+         chunk_offset = QTDEMUX_GUINT64_GET (co64->data + 16 + j * 8);
+       }
+       for (k = 0; k < samples_per_chunk; k++) {
          samples[index].chunk = j;
          samples[index].offset = chunk_offset;
          chunk_offset += samples[index].size;
          index++;
-         if(index>=n_samples)goto done;
-        }
+         if (index >= n_samples)
+           goto done;
+       }
       }
     }
-done:
-    
-    n_sample_times = QTDEMUX_GUINT32_GET(stts->data + 12);
+  done:
+
+    n_sample_times = QTDEMUX_GUINT32_GET (stts->data + 12);
     timestamp = 0;
     index = 0;
-    for(i=0;i<n_sample_times;i++){
+    for (i = 0; i < n_sample_times; i++) {
       int n;
       int duration;
       guint64 time;
-  
-      n = QTDEMUX_GUINT32_GET(stts->data + 16 + 8*i);
-      duration = QTDEMUX_GUINT32_GET(stts->data + 16 + 8*i + 4);
-      time = (GST_SECOND * duration)/stream->timescale;
-      for(j=0;j<n;j++){
-        //GST_INFO("moo %lld", timestamp);
-        samples[index].timestamp = timestamp;
-        samples[index].duration = time;
-        timestamp += time;
-        index++;
+
+      n = QTDEMUX_GUINT32_GET (stts->data + 16 + 8 * i);
+      duration = QTDEMUX_GUINT32_GET (stts->data + 16 + 8 * i + 4);
+      time = (GST_SECOND * duration) / stream->timescale;
+      for (j = 0; j < n; j++) {
+       //GST_INFO("moo %lld", timestamp);
+       samples[index].timestamp = timestamp;
+       samples[index].duration = time;
+       timestamp += time;
+       index++;
       }
     }
-  }else{
+  } else {
     int sample_width;
     guint64 timestamp = 0;
 
-    GST_LOG("treating chunks as samples\n");
+    GST_LOG ("treating chunks as samples\n");
 
     /* treat chunks as samples */
-    if(stco){
-      n_samples = QTDEMUX_GUINT32_GET(stco->data+12);
-    }else{
-      n_samples = QTDEMUX_GUINT32_GET(co64->data+12);
+    if (stco) {
+      n_samples = QTDEMUX_GUINT32_GET (stco->data + 12);
+    } else {
+      n_samples = QTDEMUX_GUINT32_GET (co64->data + 12);
     }
     stream->n_samples = n_samples;
-    samples = g_malloc(sizeof(QtDemuxSample)*n_samples);
+    samples = g_malloc (sizeof (QtDemuxSample) * n_samples);
     stream->samples = samples;
 
-    sample_width = QTDEMUX_GUINT16_GET(stsd->data+offset + 10) / 8;
+    sample_width = QTDEMUX_GUINT16_GET (stsd->data + offset + 10) / 8;
 
-    n_samples_per_chunk = QTDEMUX_GUINT32_GET(stsc->data+12);
+    n_samples_per_chunk = QTDEMUX_GUINT32_GET (stsc->data + 12);
     offset = 16;
     sample_index = 0;
-    for(i=0;i<n_samples_per_chunk;i++){
+    for (i = 0; i < n_samples_per_chunk; i++) {
       int first_chunk, last_chunk;
       int samples_per_chunk;
-  
-      first_chunk = QTDEMUX_GUINT32_GET(stsc->data + 16 + i*12 + 0) - 1;
-      if(i==n_samples-1){
-        last_chunk = INT_MAX;
-      }else{
-        last_chunk = QTDEMUX_GUINT32_GET(stsc->data +16 + i*12 + 12) - 1;
+
+      first_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 0) - 1;
+      if (i == n_samples - 1) {
+       last_chunk = INT_MAX;
+      } else {
+       last_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 12) - 1;
       }
-      samples_per_chunk = QTDEMUX_GUINT32_GET(stsc->data + 16 + i*12 + 4);
-
-      for(j=first_chunk;j<last_chunk;j++){
-        int chunk_offset;
-        if(j>=n_samples)goto done2;
-        if(stco){
-          chunk_offset = QTDEMUX_GUINT32_GET(stco->data + 16 + j*4);
-        }else{
-          chunk_offset = QTDEMUX_GUINT64_GET(co64->data + 16 + j*8);
-        }
+      samples_per_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 4);
+
+      for (j = first_chunk; j < last_chunk; j++) {
+       int chunk_offset;
+
+       if (j >= n_samples)
+         goto done2;
+       if (stco) {
+         chunk_offset = QTDEMUX_GUINT32_GET (stco->data + 16 + j * 4);
+       } else {
+         chunk_offset = QTDEMUX_GUINT64_GET (co64->data + 16 + j * 8);
+       }
        samples[j].chunk = j;
        samples[j].offset = chunk_offset;
-       samples[j].size = samples_per_chunk * stream->bytes_per_frame / stream->samples_per_packet;
-       samples[j].duration = samples_per_chunk * GST_SECOND / (stream->rate/2);
+       samples[j].size =
+           samples_per_chunk * stream->bytes_per_frame /
+           stream->samples_per_packet;
+       samples[j].duration =
+           samples_per_chunk * GST_SECOND / (stream->rate / 2);
        samples[j].timestamp = timestamp;
        timestamp += (samples_per_chunk * GST_SECOND) / stream->rate;
 #if 0
-        GST_INFO("moo samples_per_chunk=%d rate=%d dur=%lld %lld",
-            (int)samples_per_chunk,
-            (int)stream->rate,
-           (long long)((samples_per_chunk * GST_SECOND) / stream->rate),
-            (long long)timestamp);
+       GST_INFO ("moo samples_per_chunk=%d rate=%d dur=%lld %lld",
+           (int) samples_per_chunk,
+           (int) stream->rate,
+           (long long) ((samples_per_chunk * GST_SECOND) / stream->rate),
+           (long long) timestamp);
 #endif
        samples[j].sample_index = sample_index;
        sample_index += samples_per_chunk;
@@ -1653,183 +1807,175 @@ done2:
   }
 done2:
 #if 0
-  for(i=0;i<n_samples;i++){
-    GST_LOG("%d: %d %d %d %d %" G_GUINT64_FORMAT "\n",i,
-       samples[i].sample_index,samples[i].chunk,
+  for (i = 0; i < n_samples; i++) {
+    GST_LOG ("%d: %d %d %d %d %" G_GUINT64_FORMAT "\n", i,
+       samples[i].sample_index, samples[i].chunk,
        samples[i].offset, samples[i].size, samples[i].timestamp);
-    if(i>10)break;
+    if (i > 10)
+      break;
   }
 #endif
 
-  gst_qtdemux_add_stream(qtdemux,stream);
+  gst_qtdemux_add_stream (qtdemux, stream);
 }
 
 
-static GstCaps *qtdemux_video_caps(GstQTDemux *qtdemux, guint32 fourcc, const guint8 *stsd_data)
+static GstCaps *
+qtdemux_video_caps (GstQTDemux * qtdemux, guint32 fourcc,
+    const guint8 * stsd_data)
 {
-  switch(fourcc){
-    case GST_MAKE_FOURCC('j','p','e','g'):
+  switch (fourcc) {
+    case GST_MAKE_FOURCC ('j', 'p', 'e', 'g'):
       /* JPEG */
       return gst_caps_from_string ("image/jpeg");
-    case GST_MAKE_FOURCC('m','j','p','a'):
+    case GST_MAKE_FOURCC ('m', 'j', 'p', 'a'):
       /* Motion-JPEG (format A) */
       return gst_caps_from_string ("image/jpeg");
-    case GST_MAKE_FOURCC('m','j','p','b'):
+    case GST_MAKE_FOURCC ('m', 'j', 'p', 'b'):
       /* Motion-JPEG (format B) */
       return gst_caps_from_string ("image/jpeg");
-    case GST_MAKE_FOURCC('S','V','Q','3'):
+    case GST_MAKE_FOURCC ('S', 'V', 'Q', '3'):
       if (stsd_data != NULL) {
-        gst_getbits_t gb;
+       gst_getbits_t gb;
        gint halfpel_flag;
        gint thirdpel_flag;
        gint unknown_svq3_flag;
        gint low_delay;
        gint size;
 
-       size = QTDEMUX_GUINT32_GET(stsd_data + 16);
+       size = QTDEMUX_GUINT32_GET (stsd_data + 16);
+
+       gst_getbits_init (&gb, NULL, NULL);
+       gst_getbits_newbuf (&gb, (unsigned char *) stsd_data + 98 + 16 + 4,
+           (size - 102 + 16));
+
+       /* Infos ripped from ffmpeg see libavcodec/svq3.c */
 
-        gst_getbits_init (&gb, NULL, NULL);
-        gst_getbits_newbuf (&gb, (unsigned char *)stsd_data + 98 + 16 + 4 , (size - 102 + 16));
-       
-        /* Infos ripped from ffmpeg see libavcodec/svq3.c */
-       
        /* 'frame size code' and optional 'width, height' */
-        if (gst_getbitsn (&gb, 3) == 7) {
-          gst_getbitsn (&gb, 12);
-          gst_getbitsn (&gb, 12);
+       if (gst_getbitsn (&gb, 3) == 7) {
+         gst_getbitsn (&gb, 12);
+         gst_getbitsn (&gb, 12);
        }
 
        halfpel_flag = gst_get1bit (&gb);
-        thirdpel_flag = gst_get1bit (&gb);
+       thirdpel_flag = gst_get1bit (&gb);
 
-        /* unknown fields */
-        gst_get1bit (&gb);
-        gst_get1bit (&gb);
-        gst_get1bit (&gb);
-        gst_get1bit (&gb);
+       /* unknown fields */
+       gst_get1bit (&gb);
+       gst_get1bit (&gb);
+       gst_get1bit (&gb);
+       gst_get1bit (&gb);
 
-        low_delay = gst_get1bit (&gb);
+       low_delay = gst_get1bit (&gb);
 
-        /* unknown field */
-        gst_get1bit (&gb);
+       /* unknown field */
+       gst_get1bit (&gb);
 
        while (gst_get1bit (&gb)) {
-          gst_getbitsn (&gb, 8);
-        }
-       
-        unknown_svq3_flag = gst_get1bit (&gb);
-
-        return gst_caps_new_simple ("video/x-svq",
-               "svqversion",        G_TYPE_INT, 3,
-                "halfpel_flag",      G_TYPE_INT, halfpel_flag,
-                "thirdpel_flag",     G_TYPE_INT, thirdpel_flag,
-                "low_delay",         G_TYPE_INT, low_delay,
-                "unknown_svq3_flag", G_TYPE_INT, unknown_svq3_flag,
-               NULL);
+         gst_getbitsn (&gb, 8);
+       }
+
+       unknown_svq3_flag = gst_get1bit (&gb);
+
+       return gst_caps_new_simple ("video/x-svq",
+           "svqversion", G_TYPE_INT, 3,
+           "halfpel_flag", G_TYPE_INT, halfpel_flag,
+           "thirdpel_flag", G_TYPE_INT, thirdpel_flag,
+           "low_delay", G_TYPE_INT, low_delay,
+           "unknown_svq3_flag", G_TYPE_INT, unknown_svq3_flag, NULL);
       }
-      return gst_caps_from_string ("video/x-svq, "
-         "svqversion = (int) 3");
-    case GST_MAKE_FOURCC('s','v','q','i'):
-    case GST_MAKE_FOURCC('S','V','Q','1'):
-      return gst_caps_from_string ("video/x-svq, "
-         "svqversion = (int) 1");
-    case GST_MAKE_FOURCC('r','a','w',' '):
+      return gst_caps_from_string ("video/x-svq, " "svqversion = (int) 3");
+    case GST_MAKE_FOURCC ('s', 'v', 'q', 'i'):
+    case GST_MAKE_FOURCC ('S', 'V', 'Q', '1'):
+      return gst_caps_from_string ("video/x-svq, " "svqversion = (int) 1");
+    case GST_MAKE_FOURCC ('r', 'a', 'w', ' '):
       /* uncompressed RGB */
       return gst_caps_from_string ("video/x-raw-rgb, "
          "endianness = (int) BIG_ENDIAN");
-          /*"bpp", GST_PROPS_INT(x),
-          "depth", GST_PROPS_INT(x),
-          "red_mask", GST_PROPS_INT(x),
-          "green_mask", GST_PROPS_INT(x),
-          "blue_mask", GST_PROPS_INT(x), FIXME! */
-    case GST_MAKE_FOURCC('Y','u','v','2'):
+      /*"bpp", GST_PROPS_INT(x),
+         "depth", GST_PROPS_INT(x),
+         "red_mask", GST_PROPS_INT(x),
+         "green_mask", GST_PROPS_INT(x),
+         "blue_mask", GST_PROPS_INT(x), FIXME! */
+    case GST_MAKE_FOURCC ('Y', 'u', 'v', '2'):
       /* uncompressed YUV2 */
       return gst_caps_from_string ("video/x-raw-yuv, "
          "format = (fourcc) YUY2");
-    case GST_MAKE_FOURCC('m','p','e','g'):
+    case GST_MAKE_FOURCC ('m', 'p', 'e', 'g'):
       /* MPEG */
       return gst_caps_from_string ("video/mpeg, "
-          "systemstream = (boolean) false, "
-          "mpegversion = (int) 1");
-    case GST_MAKE_FOURCC('g','i','f',' '):
+         "systemstream = (boolean) false, " "mpegversion = (int) 1");
+    case GST_MAKE_FOURCC ('g', 'i', 'f', ' '):
       return gst_caps_from_string ("image/gif");
-    case GST_MAKE_FOURCC('h','2','6','3'):
+    case GST_MAKE_FOURCC ('h', '2', '6', '3'):
       /* H.263 */
       /* ffmpeg uses the height/width props, don't know why */
       return gst_caps_from_string ("video/x-h263");
-    case GST_MAKE_FOURCC('m','p','4','v'):
+    case GST_MAKE_FOURCC ('m', 'p', '4', 'v'):
       /* MPEG-4 */
       return gst_caps_from_string ("video/mpeg, "
-         "mpegversion = (int) 4, "
-          "systemstream = (boolean) false");
-    case GST_MAKE_FOURCC('3','I','V','1'):
+         "mpegversion = (int) 4, " "systemstream = (boolean) false");
+    case GST_MAKE_FOURCC ('3', 'I', 'V', '1'):
       return gst_caps_from_string ("video/x-3ivx");
-    case GST_MAKE_FOURCC('c','v','i','d'):
+    case GST_MAKE_FOURCC ('c', 'v', 'i', 'd'):
       /* Cinepak */
       return gst_caps_from_string ("video/x-cinepak");
-    case GST_MAKE_FOURCC('r','p','z','a'):
-    case GST_MAKE_FOURCC('r','l','e',' '):
+    case GST_MAKE_FOURCC ('r', 'p', 'z', 'a'):
+    case GST_MAKE_FOURCC ('r', 'l', 'e', ' '):
       /* Run-length encoding */
-    case GST_MAKE_FOURCC('s','m','c',' '):
-    case GST_MAKE_FOURCC('k','p','c','d'):
+    case GST_MAKE_FOURCC ('s', 'm', 'c', ' '):
+    case GST_MAKE_FOURCC ('k', 'p', 'c', 'd'):
     default:
       g_critical ("Don't know how to convert fourcc '" GST_FOURCC_FORMAT
-         "' to caps\n", GST_FOURCC_ARGS(fourcc));
+         "' to caps\n", GST_FOURCC_ARGS (fourcc));
       return NULL;
   }
 }
 
-static GstCaps *qtdemux_audio_caps(GstQTDemux *qtdemux, guint32 fourcc, const guint8 *data)
+static GstCaps *
+qtdemux_audio_caps (GstQTDemux * qtdemux, guint32 fourcc, const guint8 * data)
 {
-  switch(fourcc){
-    case GST_MAKE_FOURCC('N','O','N','E'):
-      return NULL; /*gst_caps_from_string ("audio/raw");*/
-    case GST_MAKE_FOURCC('r','a','w',' '):
+  switch (fourcc) {
+    case GST_MAKE_FOURCC ('N', 'O', 'N', 'E'):
+      return NULL;             /*gst_caps_from_string ("audio/raw"); */
+    case GST_MAKE_FOURCC ('r', 'a', 'w', ' '):
       /* FIXME */
       return gst_caps_from_string ("audio/x-raw-int, "
-         "width = (int) 8, "
-         "depth = (int) 8, "
-         "signed = (boolean) true");
-    case GST_MAKE_FOURCC('t','w','o','s'):
+         "width = (int) 8, " "depth = (int) 8, " "signed = (boolean) true");
+    case GST_MAKE_FOURCC ('t', 'w', 'o', 's'):
       /* FIXME */
       return gst_caps_from_string ("audio/x-raw-int, "
          "width = (int) 16, "
          "depth = (int) 16, "
-         "endianness = (int) G_BIG_ENDIAN, "
-         "signed = (boolean) true");
-    case GST_MAKE_FOURCC('s','o','w','t'):
+         "endianness = (int) G_BIG_ENDIAN, " "signed = (boolean) true");
+    case GST_MAKE_FOURCC ('s', 'o', 'w', 't'):
       /* FIXME */
       return gst_caps_from_string ("audio/x-raw-int, "
          "width = (int) 16, "
          "depth = (int) 16, "
-         "endianness = (int) G_LITTLE_ENDIAN, "
-         "signed = (boolean) true");
-    case GST_MAKE_FOURCC('f','l','6','4'):
+         "endianness = (int) G_LITTLE_ENDIAN, " "signed = (boolean) true");
+    case GST_MAKE_FOURCC ('f', 'l', '6', '4'):
       return gst_caps_from_string ("audio/x-raw-float, "
-         "width = (int) 64, "
-         "endianness = (int) G_BIG_ENDIAN");
-    case GST_MAKE_FOURCC('f','l','3','2'):
+         "width = (int) 64, " "endianness = (int) G_BIG_ENDIAN");
+    case GST_MAKE_FOURCC ('f', 'l', '3', '2'):
       return gst_caps_from_string ("audio/x-raw-float, "
-         "width = (int) 32, "
-         "endianness = (int) G_BIG_ENDIAN");
-    case GST_MAKE_FOURCC('i','n','2','4'):
+         "width = (int) 32, " "endianness = (int) G_BIG_ENDIAN");
+    case GST_MAKE_FOURCC ('i', 'n', '2', '4'):
       /* FIXME */
       return gst_caps_from_string ("audio/x-raw-int, "
          "width = (int) 24, "
          "depth = (int) 32, "
-         "endianness = (int) G_BIG_ENDIAN, "
-         "signed = (boolean) true");
-    case GST_MAKE_FOURCC('i','n','3','2'):
+         "endianness = (int) G_BIG_ENDIAN, " "signed = (boolean) true");
+    case GST_MAKE_FOURCC ('i', 'n', '3', '2'):
       /* FIXME */
       return gst_caps_from_string ("audio/x-raw-int, "
          "width = (int) 32, "
          "depth = (int) 32, "
-         "endianness = (int) G_BIG_ENDIAN, "
-         "signed = (boolean) true");
-    case GST_MAKE_FOURCC('u','l','a','w'):
+         "endianness = (int) G_BIG_ENDIAN, " "signed = (boolean) true");
+    case GST_MAKE_FOURCC ('u', 'l', 'a', 'w'):
       /* FIXME */
       return gst_caps_from_string ("audio/x-mulaw");
-    case GST_MAKE_FOURCC('a','l','a','w'):
+    case GST_MAKE_FOURCC ('a', 'l', 'a', 'w'):
       /* FIXME */
       return gst_caps_from_string ("audio/x-alaw");
     case 0x6d730002:
@@ -1843,53 +1989,47 @@ static GstCaps *qtdemux_audio_caps(GstQTDemux *qtdemux, guint32 fourcc, const gu
     case 0x6d730055:
       /* MPEG layer 3, CBR only (pre QT4.1) */
     case 0x5500736d:
-    case GST_MAKE_FOURCC('.','m','p','3'):
+    case GST_MAKE_FOURCC ('.', 'm', 'p', '3'):
       /* MPEG layer 3, CBR & VBR (QT4.1 and later) */
       return gst_caps_from_string ("audio/mpeg, "
-         "layer = (int) 3, "
-          "mpegversion = (int) 1");
-    case GST_MAKE_FOURCC('M','A','C','3'):
+         "layer = (int) 3, " "mpegversion = (int) 1");
+    case GST_MAKE_FOURCC ('M', 'A', 'C', '3'):
       /* MACE 3:1 */
-      return gst_caps_from_string ("audio/x-mace, "
-         "maceversion = (int) 3");
-    case GST_MAKE_FOURCC('M','A','C','6'):
+      return gst_caps_from_string ("audio/x-mace, " "maceversion = (int) 3");
+    case GST_MAKE_FOURCC ('M', 'A', 'C', '6'):
       /* MACE 6:1 */
-      return gst_caps_from_string ("audio/x-mace, "
-         "maceversion = (int) 6");
-    case GST_MAKE_FOURCC('O','g','g','V'):
+      return gst_caps_from_string ("audio/x-mace, " "maceversion = (int) 6");
+    case GST_MAKE_FOURCC ('O', 'g', 'g', 'V'):
       /* Ogg Vorbis */
       return gst_caps_from_string ("application/ogg");
-    case GST_MAKE_FOURCC('d','v','c','a'):
+    case GST_MAKE_FOURCC ('d', 'v', 'c', 'a'):
       /* DV audio */
       return gst_caps_from_string ("audio/x-dv");
-    case GST_MAKE_FOURCC('m','p','4','a'):
+    case GST_MAKE_FOURCC ('m', 'p', '4', 'a'):
       /* MPEG-4 AAC */
-      return gst_caps_from_string ("audio/mpeg, "
-         "mpegversion = (int) 4");
-    case GST_MAKE_FOURCC('Q','D','M','2'):
+      return gst_caps_from_string ("audio/mpeg, " "mpegversion = (int) 4");
+    case GST_MAKE_FOURCC ('Q', 'D', 'M', '2'):
       /* FIXME: QDesign music version 2 (no constant) */
       if (QTDEMUX_GUINT32_GET (data) <= 100) {
-       gst_util_dump_mem ((guint8*)data, 100);
+       gst_util_dump_mem ((guint8 *) data, 100);
        return gst_caps_new_simple ("audio/x-qdm2",
-           "framesize",  G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 52),
-           "bitrate",    G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 40),
-           "blocksize",  G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 44),
-           NULL);
+           "framesize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 52),
+           "bitrate", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 40),
+           "blocksize", G_TYPE_INT, QTDEMUX_GUINT32_GET (data + 44), NULL);
       }
-    case GST_MAKE_FOURCC('q','t','v','r'):
+    case GST_MAKE_FOURCC ('q', 't', 'v', 'r'):
       /* ? */
-    case GST_MAKE_FOURCC('Q','D','M','C'):
+    case GST_MAKE_FOURCC ('Q', 'D', 'M', 'C'):
       /* QDesign music */
-    case GST_MAKE_FOURCC('i','m','a','4'):
+    case GST_MAKE_FOURCC ('i', 'm', 'a', '4'):
       /* IMA 4:1 */
-    case GST_MAKE_FOURCC('Q','c','l','p'):
+    case GST_MAKE_FOURCC ('Q', 'c', 'l', 'p'):
       /* QUALCOMM PureVoice */
-    case GST_MAKE_FOURCC('a','g','s','m'):
+    case GST_MAKE_FOURCC ('a', 'g', 's', 'm'):
       /* ? */
     default:
       g_critical ("Don't know how to convert fourcc '" GST_FOURCC_FORMAT
-         "' to caps\n", GST_FOURCC_ARGS(fourcc));
+         "' to caps\n", GST_FOURCC_ARGS (fourcc));
       return NULL;
   }
 }
-
index 249ef21..ed0f315 100644 (file)
@@ -26,8 +26,9 @@
 #include <gst/getbits/getbits.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_QTDEMUX \
@@ -43,43 +44,45 @@ extern "C" {
 
 #define GST_QTDEMUX_MAX_STREAMS                8
 
-typedef struct _GstQTDemux GstQTDemux;
-typedef struct _GstQTDemuxClass GstQTDemuxClass;
-typedef struct _QtDemuxStream QtDemuxStream;
+  typedef struct _GstQTDemux GstQTDemux;
+  typedef struct _GstQTDemuxClass GstQTDemuxClass;
+  typedef struct _QtDemuxStream QtDemuxStream;
 
-struct _GstQTDemux {
-  GstElement element;
+  struct _GstQTDemux
+  {
+    GstElement element;
 
-  /* pads */
-  GstPad *sinkpad;
+    /* pads */
+    GstPad *sinkpad;
 
-  QtDemuxStream *streams[GST_QTDEMUX_MAX_STREAMS];
-  int n_streams;
-  int n_video_streams;
-  int n_audio_streams;
+    QtDemuxStream *streams[GST_QTDEMUX_MAX_STREAMS];
+    int n_streams;
+    int n_video_streams;
+    int n_audio_streams;
 
-  GstByteStream *bs;
+    GstByteStream *bs;
 
-  GNode *moov_node;
-  GNode *moov_node_compressed;
+    GNode *moov_node;
+    GNode *moov_node_compressed;
 
-  guint32 timescale;
-  guint32 duration;
+    guint32 timescale;
+    guint32 duration;
 
-  int state;
+    int state;
 
-  int offset;
+    int offset;
 
-  /* track stuff */
+    /* track stuff */
 
-};
+  };
 
-struct _GstQTDemuxClass {
-  GstElementClass parent_class;
-};
+  struct _GstQTDemuxClass
+  {
+    GstElementClass parent_class;
+  };
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
-#endif /* __GST_QTDEMUX_H__ */
+#endif                         /* __GST_QTDEMUX_H__ */
index fb67518..ec4cd94 100644 (file)
@@ -26,7 +26,7 @@
 typedef enum
 {
 /* Audio: */
-  PAYLOAD_PCMU = 0,            /* ITU-T G.711. mu-law audio (RFC 3551) */ 
+  PAYLOAD_PCMU = 0,            /* ITU-T G.711. mu-law audio (RFC 3551) */
   PAYLOAD_GSM = 3,
   PAYLOAD_PCMA = 8,            /* ITU-T G.711 A-law audio (RFC 3551) */
   PAYLOAD_L16_STEREO = 10,
index 4f3f7d4..fd1a3aa 100644 (file)
@@ -27,7 +27,7 @@
 #include "gstrtpgsmparse.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_rtpL16enc_plugin_init (plugin) ||
       !gst_rtpL16parse_plugin_init (plugin) ||
@@ -38,14 +38,8 @@ plugin_init (GstPlugin *plugin)
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "rtp",
-  "Real-time protocol plugins",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "rtp",
+    "Real-time protocol plugins",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 51ec258..07bfb6a 100644 (file)
@@ -42,43 +42,41 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpL16parse_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( "audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) true, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-    )
-);
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) true, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpL16parse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass);
 static void gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass);
 static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse);
 
-static void gst_rtpL16parse_chain (GstPad * pad, GstData *_data);
+static void gst_rtpL16parse_chain (GstPad * pad, GstData * _data);
 
 static void gst_rtpL16parse_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpL16parse_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpL16parse_change_state (GstElement * element);
+    GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpL16parse_change_state (GstElement *
+    element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpL16parse_get_type (void)
+static GType
+gst_rtpL16parse_get_type (void)
 {
   static GType rtpL16parse_type = 0;
 
@@ -95,7 +93,9 @@ static GType gst_rtpL16parse_get_type (void)
       (GInstanceInitFunc) gst_rtpL16parse_init,
     };
 
-    rtpL16parse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse", &rtpL16parse_info, 0);
+    rtpL16parse_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse",
+       &rtpL16parse_info, 0);
   }
   return rtpL16parse_type;
 }
@@ -123,12 +123,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE, 
-               g_param_spec_int ("payload_type", "payload_type", "payload type", 
-                       G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY, 
-               g_param_spec_int ("frequency", "frequency", "frequency", 
-                       G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE,
+      g_param_spec_int ("payload_type", "payload_type", "payload type",
+         G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+      g_param_spec_int ("frequency", "frequency", "frequency",
+         G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_rtpL16parse_set_property;
   gobject_class->get_property = gst_rtpL16parse_get_property;
@@ -139,10 +139,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
 static void
 gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
 {
-  rtpL16parse->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16parse_src_template), "src");
-  rtpL16parse->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16parse_sink_template), "sink");
+  rtpL16parse->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16parse_src_template), "src");
+  rtpL16parse->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16parse_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->srcpad);
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->sinkpad);
   gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtpL16parse_chain);
@@ -154,25 +156,27 @@ gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
 }
 
 void
-gst_rtpL16parse_ntohs (GstBuffer *buf)
+gst_rtpL16parse_ntohs (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_ntohs (*i);
+  for (; i < len; i++) {
+    *i = g_ntohs (*i);
   }
 }
 
 void
-gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
+gst_rtpL16_caps_nego (GstRtpL16Parse * rtpL16parse)
 {
   GstCaps *caps;
 
-  caps = gst_caps_copy(gst_static_caps_get (&gst_rtpL16parse_src_template.static_caps));
+  caps =
+      gst_caps_copy (gst_static_caps_get (&gst_rtpL16parse_src_template.
+         static_caps));
 
   gst_caps_set_simple (caps,
       "rate", G_TYPE_INT, rtpL16parse->frequency,
@@ -182,26 +186,27 @@ gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
 }
 
 void
-gst_rtpL16parse_payloadtype_change (GstRtpL16Parse *rtpL16parse, rtp_payload_t pt)
+gst_rtpL16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
+    rtp_payload_t pt)
 {
   rtpL16parse->payload_type = pt;
-  
+
   switch (pt) {
-       case PAYLOAD_L16_MONO:
-               rtpL16parse->channels = 1;
-               break;
-       case PAYLOAD_L16_STEREO:
-               rtpL16parse->channels = 2;
-               break;
-       default:
-               g_warning ("unknown payload_t %d\n", pt);
+    case PAYLOAD_L16_MONO:
+      rtpL16parse->channels = 1;
+      break;
+    case PAYLOAD_L16_STEREO:
+      rtpL16parse->channels = 2;
+      break;
+    default:
+      g_warning ("unknown payload_t %d\n", pt);
   }
 
   gst_rtpL16_caps_nego (rtpL16parse);
 }
 
 static void
-gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
+gst_rtpL16parse_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpL16Parse *rtpL16parse;
@@ -220,8 +225,9 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
 
   if (GST_IS_EVENT (buf)) {
     GstEvent *event = GST_EVENT (buf);
+
     gst_pad_event_default (pad, event);
-  
+
     return;
   }
 
@@ -229,26 +235,30 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
     gst_rtpL16_caps_nego (rtpL16parse);
   }
 
-  packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  packet =
+      rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
   pt = rtp_packet_get_payload_type (packet);
 
   if (pt != rtpL16parse->payload_type) {
-       gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
+    gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
   }
 
   outbuf = gst_buffer_new ();
   GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
-  GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+  GST_BUFFER_TIMESTAMP (outbuf) =
+      g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+      GST_BUFFER_SIZE (outbuf));
 
-  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-        
-  GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
 
   /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-     gst_rtpL16parse_ntohs (outbuf);
+  gst_rtpL16parse_ntohs (outbuf);
 #endif
 
   gst_pad_push (rtpL16parse->srcpad, GST_DATA (outbuf));
@@ -258,7 +268,8 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
 }
 
 static void
-gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
 
@@ -279,7 +290,8 @@ gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * va
 }
 
 static void
-gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
 
@@ -331,5 +343,5 @@ gboolean
 gst_rtpL16parse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpL16parse",
-                              GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
+      GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
 }
index dad467b..b49cf24 100644 (file)
@@ -30,26 +30,26 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Parse GstRtpL16Parse;
-struct _GstRtpL16Parse
-{
-  GstElement element;
+  typedef struct _GstRtpL16Parse GstRtpL16Parse;
+  struct _GstRtpL16Parse
+  {
+    GstElement element;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  guint frequency;
-  guint channels;
+    guint frequency;
+    guint channels;
 
-  rtp_payload_t payload_type;
-};
+    rtp_payload_t payload_type;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
-struct _GstRtpL16ParseClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
+  struct _GstRtpL16ParseClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_L16_PARSE \
@@ -63,7 +63,7 @@ struct _GstRtpL16ParseClass
 #define GST_IS_RTP_L16_PARSE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
 
-gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 45d6a95..0914d2f 100644 (file)
@@ -45,42 +45,40 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpL16enc_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( "audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) true, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-    )
-);
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) true, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpL16enc_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass);
 static void gst_rtpL16enc_base_init (GstRtpL16EncClass * klass);
 static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc);
-static void gst_rtpL16enc_chain (GstPad * pad, GstData *_data);
+static void gst_rtpL16enc_chain (GstPad * pad, GstData * _data);
 static void gst_rtpL16enc_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpL16enc_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps);
+    GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
 static GstElementStateReturn gst_rtpL16enc_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpL16enc_get_type (void)
+static GType
+gst_rtpL16enc_get_type (void)
 {
   static GType rtpL16enc_type = 0;
 
@@ -97,7 +95,9 @@ static GType gst_rtpL16enc_get_type (void)
       (GInstanceInitFunc) gst_rtpL16enc_init,
     };
 
-    rtpL16enc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc", &rtpL16enc_info, 0);
+    rtpL16enc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc",
+       &rtpL16enc_info, 0);
   }
   return rtpL16enc_type;
 }
@@ -134,10 +134,12 @@ gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
 static void
 gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
 {
-  rtpL16enc->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16enc_sink_template), "sink");
-  rtpL16enc->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16enc_src_template), "src");
+  rtpL16enc->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16enc_sink_template), "sink");
+  rtpL16enc->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16enc_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->sinkpad);
   gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->srcpad);
   gst_pad_set_chain_function (rtpL16enc->sinkpad, gst_rtpL16enc_chain);
@@ -146,7 +148,7 @@ gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
   rtpL16enc->frequency = 44100;
   rtpL16enc->channels = 2;
 
-  rtpL16enc->next_time = 0; 
+  rtpL16enc->next_time = 0;
   rtpL16enc->time_interval = 0;
 
   rtpL16enc->seq = 0;
@@ -167,31 +169,33 @@ gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps)
   ret = gst_structure_get_int (structure, "rate", &rtpL16enc->frequency);
   ret &= gst_structure_get_int (structure, "channels", &rtpL16enc->channels);
 
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   /* Pre-calculate what we can */
-  rtpL16enc->time_interval = GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
+  rtpL16enc->time_interval =
+      GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
 
   return GST_PAD_LINK_OK;
 }
 
 
 void
-gst_rtpL16enc_htons (GstBuffer *buf)
+gst_rtpL16enc_htons (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_htons (*i);
+  for (; i < len; i++) {
+    *i = g_htons (*i);
   }
 }
 
 static void
-gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
+gst_rtpL16enc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpL16Enc *rtpL16enc;
@@ -212,12 +216,12 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_DISCONTINUOUS:
-       GST_DEBUG ("discont"); 
-        rtpL16enc->next_time = 0;
-        gst_pad_event_default (pad, event);
+       GST_DEBUG ("discont");
+       rtpL16enc->next_time = 0;
+       gst_pad_event_default (pad, event);
        return;
       default:
-        gst_pad_event_default (pad, event);
+       gst_pad_event_default (pad, event);
        return;
     }
   }
@@ -232,41 +236,47 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
   rtp_packet_set_marker (packet, 0);
   rtp_packet_set_ssrc (packet, g_htonl (rtpL16enc->ssrc));
   rtp_packet_set_seq (packet, g_htons (rtpL16enc->seq));
-  rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
+  rtp_packet_set_timestamp (packet,
+      g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
 
   if (rtpL16enc->channels == 1) {
-     rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
+    rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
   }
 
   else {
-     rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
+    rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
   }
 
   /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-     gst_rtpL16enc_htons (buf);
+  gst_rtpL16enc_htons (buf);
 #endif
 
   outbuf = gst_buffer_new ();
-  GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+  GST_BUFFER_SIZE (outbuf) =
+      rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
   GST_BUFFER_TIMESTAMP (outbuf) = rtpL16enc->next_time;
 
-  memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
-  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+      rtp_packet_get_packet_len (packet));
+  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+      GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
-  GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
   gst_pad_push (rtpL16enc->srcpad, GST_DATA (outbuf));
 
   ++rtpL16enc->seq;
   rtpL16enc->next_time += rtpL16enc->time_interval * GST_BUFFER_SIZE (buf);
-  
+
   rtp_packet_free (packet);
   gst_buffer_unref (buf);
 }
 
 static void
-gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpL16Enc *rtpL16enc;
 
@@ -281,7 +291,8 @@ gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * valu
 }
 
 static void
-gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpL16Enc *rtpL16enc;
 
@@ -330,5 +341,5 @@ gboolean
 gst_rtpL16enc_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpL16enc",
-                              GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
+      GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
 }
index 15ed92f..7e90248 100644 (file)
@@ -31,32 +31,32 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Enc GstRtpL16Enc;
-struct _GstRtpL16Enc
-{
-  GstElement element;
+  typedef struct _GstRtpL16Enc GstRtpL16Enc;
+  struct _GstRtpL16Enc
+  {
+    GstElement element;
+
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    guint frequency;
+    guint channels;
 
-  guint frequency;
-  guint channels;
+    /* the timestamp of the next frame */
+    guint64 next_time;
+    /* the interval between frames */
+    guint64 time_interval;
 
-  /* the timestamp of the next frame */
-  guint64 next_time;
-  /* the interval between frames */
-  guint64 time_interval;
-  
-  guint32 ssrc;
-  guint16 seq;
-};
+    guint32 ssrc;
+    guint16 seq;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
-struct _GstRtpL16EncClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
+  struct _GstRtpL16EncClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_L16_ENC \
@@ -70,7 +70,7 @@ struct _GstRtpL16EncClass
 #define GST_IS_RTP_L16_ENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
 
-gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 51ec258..07bfb6a 100644 (file)
@@ -42,43 +42,41 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpL16parse_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( "audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) true, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-    )
-);
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) true, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpL16parse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 static void gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass);
 static void gst_rtpL16parse_base_init (GstRtpL16ParseClass * klass);
 static void gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse);
 
-static void gst_rtpL16parse_chain (GstPad * pad, GstData *_data);
+static void gst_rtpL16parse_chain (GstPad * pad, GstData * _data);
 
 static void gst_rtpL16parse_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpL16parse_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpL16parse_change_state (GstElement * element);
+    GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpL16parse_change_state (GstElement *
+    element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpL16parse_get_type (void)
+static GType
+gst_rtpL16parse_get_type (void)
 {
   static GType rtpL16parse_type = 0;
 
@@ -95,7 +93,9 @@ static GType gst_rtpL16parse_get_type (void)
       (GInstanceInitFunc) gst_rtpL16parse_init,
     };
 
-    rtpL16parse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse", &rtpL16parse_info, 0);
+    rtpL16parse_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Parse",
+       &rtpL16parse_info, 0);
   }
   return rtpL16parse_type;
 }
@@ -123,12 +123,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE, 
-               g_param_spec_int ("payload_type", "payload_type", "payload type", 
-                       G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY, 
-               g_param_spec_int ("frequency", "frequency", "frequency", 
-                       G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PAYLOAD_TYPE,
+      g_param_spec_int ("payload_type", "payload_type", "payload type",
+         G_MININT, G_MAXINT, PAYLOAD_L16_STEREO, G_PARAM_READABLE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+      g_param_spec_int ("frequency", "frequency", "frequency",
+         G_MININT, G_MAXINT, 44100, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_rtpL16parse_set_property;
   gobject_class->get_property = gst_rtpL16parse_get_property;
@@ -139,10 +139,12 @@ gst_rtpL16parse_class_init (GstRtpL16ParseClass * klass)
 static void
 gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
 {
-  rtpL16parse->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16parse_src_template), "src");
-  rtpL16parse->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16parse_sink_template), "sink");
+  rtpL16parse->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16parse_src_template), "src");
+  rtpL16parse->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16parse_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->srcpad);
   gst_element_add_pad (GST_ELEMENT (rtpL16parse), rtpL16parse->sinkpad);
   gst_pad_set_chain_function (rtpL16parse->sinkpad, gst_rtpL16parse_chain);
@@ -154,25 +156,27 @@ gst_rtpL16parse_init (GstRtpL16Parse * rtpL16parse)
 }
 
 void
-gst_rtpL16parse_ntohs (GstBuffer *buf)
+gst_rtpL16parse_ntohs (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_ntohs (*i);
+  for (; i < len; i++) {
+    *i = g_ntohs (*i);
   }
 }
 
 void
-gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
+gst_rtpL16_caps_nego (GstRtpL16Parse * rtpL16parse)
 {
   GstCaps *caps;
 
-  caps = gst_caps_copy(gst_static_caps_get (&gst_rtpL16parse_src_template.static_caps));
+  caps =
+      gst_caps_copy (gst_static_caps_get (&gst_rtpL16parse_src_template.
+         static_caps));
 
   gst_caps_set_simple (caps,
       "rate", G_TYPE_INT, rtpL16parse->frequency,
@@ -182,26 +186,27 @@ gst_rtpL16_caps_nego (GstRtpL16Parse *rtpL16parse)
 }
 
 void
-gst_rtpL16parse_payloadtype_change (GstRtpL16Parse *rtpL16parse, rtp_payload_t pt)
+gst_rtpL16parse_payloadtype_change (GstRtpL16Parse * rtpL16parse,
+    rtp_payload_t pt)
 {
   rtpL16parse->payload_type = pt;
-  
+
   switch (pt) {
-       case PAYLOAD_L16_MONO:
-               rtpL16parse->channels = 1;
-               break;
-       case PAYLOAD_L16_STEREO:
-               rtpL16parse->channels = 2;
-               break;
-       default:
-               g_warning ("unknown payload_t %d\n", pt);
+    case PAYLOAD_L16_MONO:
+      rtpL16parse->channels = 1;
+      break;
+    case PAYLOAD_L16_STEREO:
+      rtpL16parse->channels = 2;
+      break;
+    default:
+      g_warning ("unknown payload_t %d\n", pt);
   }
 
   gst_rtpL16_caps_nego (rtpL16parse);
 }
 
 static void
-gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
+gst_rtpL16parse_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpL16Parse *rtpL16parse;
@@ -220,8 +225,9 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
 
   if (GST_IS_EVENT (buf)) {
     GstEvent *event = GST_EVENT (buf);
+
     gst_pad_event_default (pad, event);
-  
+
     return;
   }
 
@@ -229,26 +235,30 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
     gst_rtpL16_caps_nego (rtpL16parse);
   }
 
-  packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  packet =
+      rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
   pt = rtp_packet_get_payload_type (packet);
 
   if (pt != rtpL16parse->payload_type) {
-       gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
+    gst_rtpL16parse_payloadtype_change (rtpL16parse, pt);
   }
 
   outbuf = gst_buffer_new ();
   GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
-  GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+  GST_BUFFER_TIMESTAMP (outbuf) =
+      g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+      GST_BUFFER_SIZE (outbuf));
 
-  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-        
-  GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpL16parse_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
 
   /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-     gst_rtpL16parse_ntohs (outbuf);
+  gst_rtpL16parse_ntohs (outbuf);
 #endif
 
   gst_pad_push (rtpL16parse->srcpad, GST_DATA (outbuf));
@@ -258,7 +268,8 @@ gst_rtpL16parse_chain (GstPad * pad, GstData *_data)
 }
 
 static void
-gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
 
@@ -279,7 +290,8 @@ gst_rtpL16parse_set_property (GObject * object, guint prop_id, const GValue * va
 }
 
 static void
-gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16parse_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpL16Parse *rtpL16parse;
 
@@ -331,5 +343,5 @@ gboolean
 gst_rtpL16parse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpL16parse",
-                              GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
+      GST_RANK_NONE, GST_TYPE_RTP_L16_PARSE);
 }
index dad467b..b49cf24 100644 (file)
@@ -30,26 +30,26 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Parse GstRtpL16Parse;
-struct _GstRtpL16Parse
-{
-  GstElement element;
+  typedef struct _GstRtpL16Parse GstRtpL16Parse;
+  struct _GstRtpL16Parse
+  {
+    GstElement element;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  guint frequency;
-  guint channels;
+    guint frequency;
+    guint channels;
 
-  rtp_payload_t payload_type;
-};
+    rtp_payload_t payload_type;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
-struct _GstRtpL16ParseClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpL16ParseClass GstRtpL16ParseClass;
+  struct _GstRtpL16ParseClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_L16_PARSE \
@@ -63,7 +63,7 @@ struct _GstRtpL16ParseClass
 #define GST_IS_RTP_L16_PARSE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_PARSE))
 
-gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpL16parse_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 45d6a95..0914d2f 100644 (file)
@@ -45,42 +45,40 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpL16enc_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( "audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) true, "
-      "width = (int) 16, "
-      "depth = (int) 16, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-    )
-);
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) true, "
+       "width = (int) 16, "
+       "depth = (int) 16, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpL16enc_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 static void gst_rtpL16enc_class_init (GstRtpL16EncClass * klass);
 static void gst_rtpL16enc_base_init (GstRtpL16EncClass * klass);
 static void gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc);
-static void gst_rtpL16enc_chain (GstPad * pad, GstData *_data);
+static void gst_rtpL16enc_chain (GstPad * pad, GstData * _data);
 static void gst_rtpL16enc_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpL16enc_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps);
+    GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpL16enc_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
 static GstElementStateReturn gst_rtpL16enc_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpL16enc_get_type (void)
+static GType
+gst_rtpL16enc_get_type (void)
 {
   static GType rtpL16enc_type = 0;
 
@@ -97,7 +95,9 @@ static GType gst_rtpL16enc_get_type (void)
       (GInstanceInitFunc) gst_rtpL16enc_init,
     };
 
-    rtpL16enc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc", &rtpL16enc_info, 0);
+    rtpL16enc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpL16Enc",
+       &rtpL16enc_info, 0);
   }
   return rtpL16enc_type;
 }
@@ -134,10 +134,12 @@ gst_rtpL16enc_class_init (GstRtpL16EncClass * klass)
 static void
 gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
 {
-  rtpL16enc->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16enc_sink_template), "sink");
-  rtpL16enc->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpL16enc_src_template), "src");
+  rtpL16enc->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16enc_sink_template), "sink");
+  rtpL16enc->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpL16enc_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->sinkpad);
   gst_element_add_pad (GST_ELEMENT (rtpL16enc), rtpL16enc->srcpad);
   gst_pad_set_chain_function (rtpL16enc->sinkpad, gst_rtpL16enc_chain);
@@ -146,7 +148,7 @@ gst_rtpL16enc_init (GstRtpL16Enc * rtpL16enc)
   rtpL16enc->frequency = 44100;
   rtpL16enc->channels = 2;
 
-  rtpL16enc->next_time = 0; 
+  rtpL16enc->next_time = 0;
   rtpL16enc->time_interval = 0;
 
   rtpL16enc->seq = 0;
@@ -167,31 +169,33 @@ gst_rtpL16enc_sinkconnect (GstPad * pad, const GstCaps * caps)
   ret = gst_structure_get_int (structure, "rate", &rtpL16enc->frequency);
   ret &= gst_structure_get_int (structure, "channels", &rtpL16enc->channels);
 
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   /* Pre-calculate what we can */
-  rtpL16enc->time_interval = GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
+  rtpL16enc->time_interval =
+      GST_SECOND / (2 * rtpL16enc->channels * rtpL16enc->frequency);
 
   return GST_PAD_LINK_OK;
 }
 
 
 void
-gst_rtpL16enc_htons (GstBuffer *buf)
+gst_rtpL16enc_htons (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_htons (*i);
+  for (; i < len; i++) {
+    *i = g_htons (*i);
   }
 }
 
 static void
-gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
+gst_rtpL16enc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpL16Enc *rtpL16enc;
@@ -212,12 +216,12 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_DISCONTINUOUS:
-       GST_DEBUG ("discont"); 
-        rtpL16enc->next_time = 0;
-        gst_pad_event_default (pad, event);
+       GST_DEBUG ("discont");
+       rtpL16enc->next_time = 0;
+       gst_pad_event_default (pad, event);
        return;
       default:
-        gst_pad_event_default (pad, event);
+       gst_pad_event_default (pad, event);
        return;
     }
   }
@@ -232,41 +236,47 @@ gst_rtpL16enc_chain (GstPad * pad, GstData *_data)
   rtp_packet_set_marker (packet, 0);
   rtp_packet_set_ssrc (packet, g_htonl (rtpL16enc->ssrc));
   rtp_packet_set_seq (packet, g_htons (rtpL16enc->seq));
-  rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
+  rtp_packet_set_timestamp (packet,
+      g_htonl ((guint32) rtpL16enc->next_time / GST_SECOND));
 
   if (rtpL16enc->channels == 1) {
-     rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
+    rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_MONO);
   }
 
   else {
-     rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
+    rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_L16_STEREO);
   }
 
   /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-     gst_rtpL16enc_htons (buf);
+  gst_rtpL16enc_htons (buf);
 #endif
 
   outbuf = gst_buffer_new ();
-  GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+  GST_BUFFER_SIZE (outbuf) =
+      rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
   GST_BUFFER_TIMESTAMP (outbuf) = rtpL16enc->next_time;
 
-  memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
-  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+      rtp_packet_get_packet_len (packet));
+  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+      GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
-  GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpL16enc_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
   gst_pad_push (rtpL16enc->srcpad, GST_DATA (outbuf));
 
   ++rtpL16enc->seq;
   rtpL16enc->next_time += rtpL16enc->time_interval * GST_BUFFER_SIZE (buf);
-  
+
   rtp_packet_free (packet);
   gst_buffer_unref (buf);
 }
 
 static void
-gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpL16Enc *rtpL16enc;
 
@@ -281,7 +291,8 @@ gst_rtpL16enc_set_property (GObject * object, guint prop_id, const GValue * valu
 }
 
 static void
-gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpL16enc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpL16Enc *rtpL16enc;
 
@@ -330,5 +341,5 @@ gboolean
 gst_rtpL16enc_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpL16enc",
-                              GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
+      GST_RANK_NONE, GST_TYPE_RTP_L16_ENC);
 }
index 15ed92f..7e90248 100644 (file)
@@ -31,32 +31,32 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpL16Enc GstRtpL16Enc;
-struct _GstRtpL16Enc
-{
-  GstElement element;
+  typedef struct _GstRtpL16Enc GstRtpL16Enc;
+  struct _GstRtpL16Enc
+  {
+    GstElement element;
+
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    guint frequency;
+    guint channels;
 
-  guint frequency;
-  guint channels;
+    /* the timestamp of the next frame */
+    guint64 next_time;
+    /* the interval between frames */
+    guint64 time_interval;
 
-  /* the timestamp of the next frame */
-  guint64 next_time;
-  /* the interval between frames */
-  guint64 time_interval;
-  
-  guint32 ssrc;
-  guint16 seq;
-};
+    guint32 ssrc;
+    guint16 seq;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
-struct _GstRtpL16EncClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpL16EncClass GstRtpL16EncClass;
+  struct _GstRtpL16EncClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_L16_ENC \
@@ -70,7 +70,7 @@ struct _GstRtpL16EncClass
 #define GST_IS_RTP_L16_ENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_L16_ENC))
 
-gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpL16enc_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 8f1b301..55b9694 100644 (file)
@@ -42,39 +42,37 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpgsmparse_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
-    GST_PAD_ALWAYS, 
-    GST_STATIC_CAPS ( "audio/x-gsm, "
-      "rate = (int) [ 1000, 48000 ]"
-    )
-);
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpgsmparse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
-    GST_PAD_ALWAYS, 
+    GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 
 static void gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass);
 static void gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass);
 static void gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse);
 
-static void gst_rtpgsmparse_chain (GstPad * pad, GstData *_data);
+static void gst_rtpgsmparse_chain (GstPad * pad, GstData * _data);
 
 static void gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpgsmparse_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement * element);
+    GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement *
+    element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpgsmparse_get_type (void)
+static GType
+gst_rtpgsmparse_get_type (void)
 {
   static GType rtpgsmparse_type = 0;
 
@@ -91,7 +89,9 @@ static GType gst_rtpgsmparse_get_type (void)
       (GInstanceInitFunc) gst_rtpgsmparse_init,
     };
 
-    rtpgsmparse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse", &rtpgsmparse_info, 0);
+    rtpgsmparse_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse",
+       &rtpgsmparse_info, 0);
   }
   return rtpgsmparse_type;
 }
@@ -102,9 +102,9 @@ gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass)
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get(&gst_rtpgsmparse_src_template));
+      gst_static_pad_template_get (&gst_rtpgsmparse_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get(&gst_rtpgsmparse_sink_template));
+      gst_static_pad_template_get (&gst_rtpgsmparse_sink_template));
   gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
 }
 
@@ -119,9 +119,9 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY, 
-               g_param_spec_int ("frequency", "frequency", "frequency", 
-                       G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+      g_param_spec_int ("frequency", "frequency", "frequency",
+         G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_rtpgsmparse_set_property;
   gobject_class->get_property = gst_rtpgsmparse_get_property;
@@ -132,10 +132,12 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
 static void
 gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
 {
-  rtpgsmparse->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_rtpgsmparse_src_template), "src");
-  rtpgsmparse->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_rtpgsmparse_sink_template), "sink");
+  rtpgsmparse->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmparse_src_template), "src");
+  rtpgsmparse->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmparse_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->srcpad);
   gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->sinkpad);
   gst_pad_set_chain_function (rtpgsmparse->sinkpad, gst_rtpgsmparse_chain);
@@ -144,32 +146,32 @@ gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
 }
 
 void
-gst_rtpgsmparse_ntohs (GstBuffer *buf)
+gst_rtpgsmparse_ntohs (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_ntohs (*i);
+  for (; i < len; i++) {
+    *i = g_ntohs (*i);
   }
 }
 
 void
-gst_rtpgsm_caps_nego (GstRtpGSMParse *rtpgsmparse)
+gst_rtpgsm_caps_nego (GstRtpGSMParse * rtpgsmparse)
 {
   GstCaps *caps;
 
   caps = gst_caps_new_simple ("audio/x-gsm",
-       "rate", G_TYPE_INT, rtpgsmparse->frequency);
+      "rate", G_TYPE_INT, rtpgsmparse->frequency);
 
   gst_pad_try_set_caps (rtpgsmparse->srcpad, caps);
 }
 
 static void
-gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmparse_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpGSMParse *rtpgsmparse;
@@ -188,8 +190,9 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
 
   if (GST_IS_EVENT (buf)) {
     GstEvent *event = GST_EVENT (buf);
+
     gst_pad_event_default (pad, event);
-  
+
     return;
   }
 
@@ -197,7 +200,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
     gst_rtpgsm_caps_nego (rtpgsmparse);
   }
 
-  packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  packet =
+      rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
   pt = rtp_packet_get_payload_type (packet);
 
@@ -211,15 +215,18 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
   outbuf = gst_buffer_new ();
   GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
-  GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+  GST_BUFFER_TIMESTAMP (outbuf) =
+      g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+      GST_BUFFER_SIZE (outbuf));
 
-  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-        
-  GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
 
 /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-     gst_rtpgsmparse_ntohs (outbuf);
+  gst_rtpgsmparse_ntohs (outbuf);
 #endif
 
   gst_pad_push (rtpgsmparse->srcpad, GST_DATA (outbuf));
@@ -229,7 +236,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
 }
 
 static void
-gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpGSMParse *rtpgsmparse;
 
@@ -247,7 +255,8 @@ gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * va
 }
 
 static void
-gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpGSMParse *rtpgsmparse;
 
@@ -296,5 +305,5 @@ gboolean
 gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpgsmparse",
-                              GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
+      GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
 }
index 0a006e7..f3b0e65 100644 (file)
@@ -30,23 +30,23 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMParse GstRtpGSMParse;
-struct _GstRtpGSMParse
-{
-  GstElement element;
+  typedef struct _GstRtpGSMParse GstRtpGSMParse;
+  struct _GstRtpGSMParse
+  {
+    GstElement element;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  guint frequency;
-};
+    guint frequency;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
-struct _GstRtpGSMParseClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
+  struct _GstRtpGSMParseClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_GSM_PARSE \
@@ -60,7 +60,7 @@ struct _GstRtpGSMParseClass
 #define GST_IS_RTP_GSM_PARSE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE))
 
-gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 495e436..6301dd8 100644 (file)
@@ -46,38 +46,36 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpgsmenc_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( "audio/x-gsm, "
-      "rate = (int) [ 1000, 48000 ]"
-    )
-);
+    GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpgsmenc_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 
 static void gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass);
 static void gst_rtpgsmenc_base_init (GstRtpGSMEncClass * klass);
 static void gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc);
-static void gst_rtpgsmenc_chain (GstPad * pad, GstData *_data);
+static void gst_rtpgsmenc_chain (GstPad * pad, GstData * _data);
 static void gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpgsmenc_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps);
+    GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
 static GstElementStateReturn gst_rtpgsmenc_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpgsmenc_get_type (void)
+static GType
+gst_rtpgsmenc_get_type (void)
 {
   static GType rtpgsmenc_type = 0;
 
@@ -94,7 +92,9 @@ static GType gst_rtpgsmenc_get_type (void)
       (GInstanceInitFunc) gst_rtpgsmenc_init,
     };
 
-    rtpgsmenc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc", &rtpgsmenc_info, 0);
+    rtpgsmenc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc",
+       &rtpgsmenc_info, 0);
   }
   return rtpgsmenc_type;
 }
@@ -131,10 +131,12 @@ gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass)
 static void
 gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
 {
-  rtpgsmenc->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "sink");
-  rtpgsmenc->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "src");
+  rtpgsmenc->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmenc_sink_template), "sink");
+  rtpgsmenc->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmenc_sink_template), "src");
   gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->sinkpad);
   gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->srcpad);
   gst_pad_set_chain_function (rtpgsmenc->sinkpad, gst_rtpgsmenc_chain);
@@ -142,7 +144,7 @@ gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
 
   rtpgsmenc->frequency = 8000;
 
-  rtpgsmenc->next_time = 0; 
+  rtpgsmenc->next_time = 0;
   rtpgsmenc->time_interval = 0;
 
   rtpgsmenc->seq = 0;
@@ -161,7 +163,8 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
   structure = gst_caps_get_structure (caps, 0);
 
   ret = gst_structure_get_int (structure, "rate", &rtpgsmenc->frequency);
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   /* Pre-calculate what we can */
   rtpgsmenc->time_interval = GST_SECOND / (2 * rtpgsmenc->frequency);
@@ -171,21 +174,21 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
 
 
 void
-gst_rtpgsmenc_htons (GstBuffer *buf)
+gst_rtpgsmenc_htons (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_htons (*i);
+  for (; i < len; i++) {
+    *i = g_htons (*i);
   }
 }
 
 static void
-gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpGSMEnc *rtpgsmenc;
@@ -206,12 +209,12 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_DISCONTINUOUS:
-       GST_DEBUG ("discont"); 
-        rtpgsmenc->next_time = 0;
-        gst_pad_event_default (pad, event);
+       GST_DEBUG ("discont");
+       rtpgsmenc->next_time = 0;
+       gst_pad_event_default (pad, event);
        return;
       default:
-        gst_pad_event_default (pad, event);
+       gst_pad_event_default (pad, event);
        return;
     }
   }
@@ -226,7 +229,8 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
   rtp_packet_set_marker (packet, 0);
   rtp_packet_set_ssrc (packet, g_htonl (rtpgsmenc->ssrc));
   rtp_packet_set_seq (packet, g_htons (rtpgsmenc->seq));
-  rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
+  rtp_packet_set_timestamp (packet,
+      g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
   rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_GSM);
 
   /* FIXME: According to RFC 1890, this is required, right? */
@@ -235,25 +239,30 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
 #endif
 
   outbuf = gst_buffer_new ();
-  GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+  GST_BUFFER_SIZE (outbuf) =
+      rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
   GST_BUFFER_TIMESTAMP (outbuf) = rtpgsmenc->next_time;
 
-  memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
-  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+      rtp_packet_get_packet_len (packet));
+  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+      GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
-  GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
   gst_pad_push (rtpgsmenc->srcpad, GST_DATA (outbuf));
 
   ++rtpgsmenc->seq;
   rtpgsmenc->next_time += rtpgsmenc->time_interval * GST_BUFFER_SIZE (buf);
-  
+
   rtp_packet_free (packet);
   gst_buffer_unref (buf);
 }
 
 static void
-gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpGSMEnc *rtpgsmenc;
 
@@ -268,7 +277,8 @@ gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * valu
 }
 
 static void
-gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpGSMEnc *rtpgsmenc;
 
@@ -317,5 +327,5 @@ gboolean
 gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpgsmenc",
-                              GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
+      GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
 }
index 1220d40..e44e5da 100644 (file)
@@ -31,31 +31,31 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
-struct _GstRtpGSMEnc
-{
-  GstElement element;
+  typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
+  struct _GstRtpGSMEnc
+  {
+    GstElement element;
+
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    guint frequency;
 
-  guint frequency;
+    /* the timestamp of the next frame */
+    guint64 next_time;
+    /* the interval between frames */
+    guint64 time_interval;
 
-  /* the timestamp of the next frame */
-  guint64 next_time;
-  /* the interval between frames */
-  guint64 time_interval;
-  
-  guint32 ssrc;
-  guint16 seq;
-};
+    guint32 ssrc;
+    guint16 seq;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
-struct _GstRtpGSMEncClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
+  struct _GstRtpGSMEncClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_GSM_ENC \
@@ -69,7 +69,7 @@ struct _GstRtpGSMEncClass
 #define GST_IS_RTP_GSM_ENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
 
-gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 8f1b301..55b9694 100644 (file)
@@ -42,39 +42,37 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpgsmparse_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
-    GST_PAD_ALWAYS, 
-    GST_STATIC_CAPS ( "audio/x-gsm, "
-      "rate = (int) [ 1000, 48000 ]"
-    )
-);
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpgsmparse_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
-    GST_PAD_ALWAYS, 
+    GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 
 static void gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass);
 static void gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass);
 static void gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse);
 
-static void gst_rtpgsmparse_chain (GstPad * pad, GstData *_data);
+static void gst_rtpgsmparse_chain (GstPad * pad, GstData * _data);
 
 static void gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpgsmparse_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement * element);
+    GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_rtpgsmparse_change_state (GstElement *
+    element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpgsmparse_get_type (void)
+static GType
+gst_rtpgsmparse_get_type (void)
 {
   static GType rtpgsmparse_type = 0;
 
@@ -91,7 +89,9 @@ static GType gst_rtpgsmparse_get_type (void)
       (GInstanceInitFunc) gst_rtpgsmparse_init,
     };
 
-    rtpgsmparse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse", &rtpgsmparse_info, 0);
+    rtpgsmparse_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMParse",
+       &rtpgsmparse_info, 0);
   }
   return rtpgsmparse_type;
 }
@@ -102,9 +102,9 @@ gst_rtpgsmparse_base_init (GstRtpGSMParseClass * klass)
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get(&gst_rtpgsmparse_src_template));
+      gst_static_pad_template_get (&gst_rtpgsmparse_src_template));
   gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get(&gst_rtpgsmparse_sink_template));
+      gst_static_pad_template_get (&gst_rtpgsmparse_sink_template));
   gst_element_class_set_details (element_class, &gst_rtp_gsmparse_details);
 }
 
@@ -119,9 +119,9 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY, 
-               g_param_spec_int ("frequency", "frequency", "frequency", 
-                       G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREQUENCY,
+      g_param_spec_int ("frequency", "frequency", "frequency",
+         G_MININT, G_MAXINT, 8000, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_rtpgsmparse_set_property;
   gobject_class->get_property = gst_rtpgsmparse_get_property;
@@ -132,10 +132,12 @@ gst_rtpgsmparse_class_init (GstRtpGSMParseClass * klass)
 static void
 gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
 {
-  rtpgsmparse->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_rtpgsmparse_src_template), "src");
-  rtpgsmparse->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_rtpgsmparse_sink_template), "sink");
+  rtpgsmparse->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmparse_src_template), "src");
+  rtpgsmparse->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmparse_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->srcpad);
   gst_element_add_pad (GST_ELEMENT (rtpgsmparse), rtpgsmparse->sinkpad);
   gst_pad_set_chain_function (rtpgsmparse->sinkpad, gst_rtpgsmparse_chain);
@@ -144,32 +146,32 @@ gst_rtpgsmparse_init (GstRtpGSMParse * rtpgsmparse)
 }
 
 void
-gst_rtpgsmparse_ntohs (GstBuffer *buf)
+gst_rtpgsmparse_ntohs (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_ntohs (*i);
+  for (; i < len; i++) {
+    *i = g_ntohs (*i);
   }
 }
 
 void
-gst_rtpgsm_caps_nego (GstRtpGSMParse *rtpgsmparse)
+gst_rtpgsm_caps_nego (GstRtpGSMParse * rtpgsmparse)
 {
   GstCaps *caps;
 
   caps = gst_caps_new_simple ("audio/x-gsm",
-       "rate", G_TYPE_INT, rtpgsmparse->frequency);
+      "rate", G_TYPE_INT, rtpgsmparse->frequency);
 
   gst_pad_try_set_caps (rtpgsmparse->srcpad, caps);
 }
 
 static void
-gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmparse_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpGSMParse *rtpgsmparse;
@@ -188,8 +190,9 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
 
   if (GST_IS_EVENT (buf)) {
     GstEvent *event = GST_EVENT (buf);
+
     gst_pad_event_default (pad, event);
-  
+
     return;
   }
 
@@ -197,7 +200,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
     gst_rtpgsm_caps_nego (rtpgsmparse);
   }
 
-  packet = rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  packet =
+      rtp_packet_new_copy_data (GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
   pt = rtp_packet_get_payload_type (packet);
 
@@ -211,15 +215,18 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
   outbuf = gst_buffer_new ();
   GST_BUFFER_SIZE (outbuf) = rtp_packet_get_payload_len (packet);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
-  GST_BUFFER_TIMESTAMP (outbuf) = g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+  GST_BUFFER_TIMESTAMP (outbuf) =
+      g_ntohl (rtp_packet_get_timestamp (packet)) * GST_SECOND;
+
+  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet),
+      GST_BUFFER_SIZE (outbuf));
 
-  memcpy (GST_BUFFER_DATA (outbuf), rtp_packet_get_payload (packet), GST_BUFFER_SIZE (outbuf));
-        
-  GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpgsmparse_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
 
 /* FIXME: According to RFC 1890, this is required, right? */
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-     gst_rtpgsmparse_ntohs (outbuf);
+  gst_rtpgsmparse_ntohs (outbuf);
 #endif
 
   gst_pad_push (rtpgsmparse->srcpad, GST_DATA (outbuf));
@@ -229,7 +236,8 @@ gst_rtpgsmparse_chain (GstPad * pad, GstData *_data)
 }
 
 static void
-gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpGSMParse *rtpgsmparse;
 
@@ -247,7 +255,8 @@ gst_rtpgsmparse_set_property (GObject * object, guint prop_id, const GValue * va
 }
 
 static void
-gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmparse_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpGSMParse *rtpgsmparse;
 
@@ -296,5 +305,5 @@ gboolean
 gst_rtpgsmparse_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpgsmparse",
-                              GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
+      GST_RANK_NONE, GST_TYPE_RTP_GSM_PARSE);
 }
index 0a006e7..f3b0e65 100644 (file)
@@ -30,23 +30,23 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMParse GstRtpGSMParse;
-struct _GstRtpGSMParse
-{
-  GstElement element;
+  typedef struct _GstRtpGSMParse GstRtpGSMParse;
+  struct _GstRtpGSMParse
+  {
+    GstElement element;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  guint frequency;
-};
+    guint frequency;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
-struct _GstRtpGSMParseClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpGSMParseClass GstRtpGSMParseClass;
+  struct _GstRtpGSMParseClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_GSM_PARSE \
@@ -60,7 +60,7 @@ struct _GstRtpGSMParseClass
 #define GST_IS_RTP_GSM_PARSE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_PARSE))
 
-gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpgsmparse_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 495e436..6301dd8 100644 (file)
@@ -46,38 +46,36 @@ enum
 };
 
 static GstStaticPadTemplate gst_rtpgsmenc_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-    "sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS ( "audio/x-gsm, "
-      "rate = (int) [ 1000, 48000 ]"
-    )
-);
+    GST_STATIC_CAPS ("audio/x-gsm, " "rate = (int) [ 1000, 48000 ]")
+    );
 
 static GstStaticPadTemplate gst_rtpgsmenc_src_template =
-GST_STATIC_PAD_TEMPLATE (
-    "src",
+GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-rtp")
-);
+    );
 
 
 static void gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass);
 static void gst_rtpgsmenc_base_init (GstRtpGSMEncClass * klass);
 static void gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc);
-static void gst_rtpgsmenc_chain (GstPad * pad, GstData *_data);
+static void gst_rtpgsmenc_chain (GstPad * pad, GstData * _data);
 static void gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
-                                  const GValue * value, GParamSpec * pspec);
+    const GValue * value, GParamSpec * pspec);
 static void gst_rtpgsmenc_get_property (GObject * object, guint prop_id,
-                                  GValue * value, GParamSpec * pspec);
-static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps);
+    GValue * value, GParamSpec * pspec);
+static GstPadLinkReturn gst_rtpgsmenc_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
 static GstElementStateReturn gst_rtpgsmenc_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
 
-static GType gst_rtpgsmenc_get_type (void)
+static GType
+gst_rtpgsmenc_get_type (void)
 {
   static GType rtpgsmenc_type = 0;
 
@@ -94,7 +92,9 @@ static GType gst_rtpgsmenc_get_type (void)
       (GInstanceInitFunc) gst_rtpgsmenc_init,
     };
 
-    rtpgsmenc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc", &rtpgsmenc_info, 0);
+    rtpgsmenc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstRtpGSMEnc",
+       &rtpgsmenc_info, 0);
   }
   return rtpgsmenc_type;
 }
@@ -131,10 +131,12 @@ gst_rtpgsmenc_class_init (GstRtpGSMEncClass * klass)
 static void
 gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
 {
-  rtpgsmenc->sinkpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "sink");
-  rtpgsmenc->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get (&gst_rtpgsmenc_sink_template), "src");
+  rtpgsmenc->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmenc_sink_template), "sink");
+  rtpgsmenc->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_rtpgsmenc_sink_template), "src");
   gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->sinkpad);
   gst_element_add_pad (GST_ELEMENT (rtpgsmenc), rtpgsmenc->srcpad);
   gst_pad_set_chain_function (rtpgsmenc->sinkpad, gst_rtpgsmenc_chain);
@@ -142,7 +144,7 @@ gst_rtpgsmenc_init (GstRtpGSMEnc * rtpgsmenc)
 
   rtpgsmenc->frequency = 8000;
 
-  rtpgsmenc->next_time = 0; 
+  rtpgsmenc->next_time = 0;
   rtpgsmenc->time_interval = 0;
 
   rtpgsmenc->seq = 0;
@@ -161,7 +163,8 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
   structure = gst_caps_get_structure (caps, 0);
 
   ret = gst_structure_get_int (structure, "rate", &rtpgsmenc->frequency);
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   /* Pre-calculate what we can */
   rtpgsmenc->time_interval = GST_SECOND / (2 * rtpgsmenc->frequency);
@@ -171,21 +174,21 @@ gst_rtpgsmenc_sinkconnect (GstPad * pad, const GstCaps * caps)
 
 
 void
-gst_rtpgsmenc_htons (GstBuffer *buf)
+gst_rtpgsmenc_htons (GstBuffer * buf)
 {
   gint16 *i, *len;
 
   /* FIXME: is this code correct or even sane at all? */
-  i = (gint16 *) GST_BUFFER_DATA(buf); 
+  i = (gint16 *) GST_BUFFER_DATA (buf);
   len = i + GST_BUFFER_SIZE (buf) / sizeof (gint16 *);
 
-  for (; i<len; i++) {
-      *i = g_htons (*i);
+  for (; i < len; i++) {
+    *i = g_htons (*i);
   }
 }
 
 static void
-gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
+gst_rtpgsmenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstRtpGSMEnc *rtpgsmenc;
@@ -206,12 +209,12 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_DISCONTINUOUS:
-       GST_DEBUG ("discont"); 
-        rtpgsmenc->next_time = 0;
-        gst_pad_event_default (pad, event);
+       GST_DEBUG ("discont");
+       rtpgsmenc->next_time = 0;
+       gst_pad_event_default (pad, event);
        return;
       default:
-        gst_pad_event_default (pad, event);
+       gst_pad_event_default (pad, event);
        return;
     }
   }
@@ -226,7 +229,8 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
   rtp_packet_set_marker (packet, 0);
   rtp_packet_set_ssrc (packet, g_htonl (rtpgsmenc->ssrc));
   rtp_packet_set_seq (packet, g_htons (rtpgsmenc->seq));
-  rtp_packet_set_timestamp (packet, g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
+  rtp_packet_set_timestamp (packet,
+      g_htonl ((guint32) rtpgsmenc->next_time / GST_SECOND));
   rtp_packet_set_payload_type (packet, (guint8) PAYLOAD_GSM);
 
   /* FIXME: According to RFC 1890, this is required, right? */
@@ -235,25 +239,30 @@ gst_rtpgsmenc_chain (GstPad * pad, GstData *_data)
 #endif
 
   outbuf = gst_buffer_new ();
-  GST_BUFFER_SIZE (outbuf) = rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
+  GST_BUFFER_SIZE (outbuf) =
+      rtp_packet_get_packet_len (packet) + GST_BUFFER_SIZE (buf);
   GST_BUFFER_DATA (outbuf) = g_malloc (GST_BUFFER_SIZE (outbuf));
   GST_BUFFER_TIMESTAMP (outbuf) = rtpgsmenc->next_time;
 
-  memcpy (GST_BUFFER_DATA (outbuf), packet->data, rtp_packet_get_packet_len (packet));
-  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len(packet), GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
+  memcpy (GST_BUFFER_DATA (outbuf), packet->data,
+      rtp_packet_get_packet_len (packet));
+  memcpy (GST_BUFFER_DATA (outbuf) + rtp_packet_get_packet_len (packet),
+      GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf));
 
-  GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d", GST_BUFFER_SIZE(outbuf));
+  GST_DEBUG ("gst_rtpgsmenc_chain: pushing buffer of size %d",
+      GST_BUFFER_SIZE (outbuf));
   gst_pad_push (rtpgsmenc->srcpad, GST_DATA (outbuf));
 
   ++rtpgsmenc->seq;
   rtpgsmenc->next_time += rtpgsmenc->time_interval * GST_BUFFER_SIZE (buf);
-  
+
   rtp_packet_free (packet);
   gst_buffer_unref (buf);
 }
 
 static void
-gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstRtpGSMEnc *rtpgsmenc;
 
@@ -268,7 +277,8 @@ gst_rtpgsmenc_set_property (GObject * object, guint prop_id, const GValue * valu
 }
 
 static void
-gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec)
+gst_rtpgsmenc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstRtpGSMEnc *rtpgsmenc;
 
@@ -317,5 +327,5 @@ gboolean
 gst_rtpgsmenc_plugin_init (GstPlugin * plugin)
 {
   return gst_element_register (plugin, "rtpgsmenc",
-                              GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
+      GST_RANK_NONE, GST_TYPE_RTP_GSM_ENC);
 }
index 1220d40..e44e5da 100644 (file)
@@ -31,31 +31,31 @@ extern "C"
 #endif                         /* __cplusplus */
 
 /* Definition of structure storing data for this element. */
-typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
-struct _GstRtpGSMEnc
-{
-  GstElement element;
+  typedef struct _GstRtpGSMEnc GstRtpGSMEnc;
+  struct _GstRtpGSMEnc
+  {
+    GstElement element;
+
+    GstPad *sinkpad;
+    GstPad *srcpad;
 
-  GstPad *sinkpad;
-  GstPad *srcpad;
+    guint frequency;
 
-  guint frequency;
+    /* the timestamp of the next frame */
+    guint64 next_time;
+    /* the interval between frames */
+    guint64 time_interval;
 
-  /* the timestamp of the next frame */
-  guint64 next_time;
-  /* the interval between frames */
-  guint64 time_interval;
-  
-  guint32 ssrc;
-  guint16 seq;
-};
+    guint32 ssrc;
+    guint16 seq;
+  };
 
 /* Standard definition defining a class for this element. */
-typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
-struct _GstRtpGSMEncClass
-{
-  GstElementClass parent_class;
-};
+  typedef struct _GstRtpGSMEncClass GstRtpGSMEncClass;
+  struct _GstRtpGSMEncClass
+  {
+    GstElementClass parent_class;
+  };
 
 /* Standard macros for defining types for this element.  */
 #define GST_TYPE_RTP_GSM_ENC \
@@ -69,7 +69,7 @@ struct _GstRtpGSMEncClass
 #define GST_IS_RTP_GSM_ENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_GSM_ENC))
 
-gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
+  gboolean gst_rtpgsmenc_plugin_init (GstPlugin * plugin);
 
 #ifdef __cplusplus
 }
index 11077ef..f33772b 100644 (file)
 #include "rtp-packet.h"
 
 Rtp_Packet
-rtp_packet_new_take_data(gpointer data, guint data_len)
+rtp_packet_new_take_data (gpointer data, guint data_len)
 {
   Rtp_Packet packet;
 
   //g_return_val_if_fail(data_len < RTP_MTU, NULL);
 
-  packet = g_malloc(sizeof *packet);
+  packet = g_malloc (sizeof *packet);
 
-  packet -> data = data;
-  packet -> data_len = data_len;
+  packet->data = data;
+  packet->data_len = data_len;
 
   return packet;
 }
 
 Rtp_Packet
-rtp_packet_new_copy_data(gpointer data, guint data_len)
+rtp_packet_new_copy_data (gpointer data, guint data_len)
 {
   Rtp_Packet packet;
 
   //g_return_val_if_fail(data_len < RTP_MTU, NULL);
 
-  packet = g_malloc(sizeof *packet);
+  packet = g_malloc (sizeof *packet);
 
-  packet -> data = g_memdup(data, data_len);
-  packet -> data_len = data_len;
+  packet->data = g_memdup (data, data_len);
+  packet->data_len = data_len;
 
   return packet;
 }
 
 Rtp_Packet
-rtp_packet_new_allocate(guint payload_len, guint pad_len, guint csrc_count)
+rtp_packet_new_allocate (guint payload_len, guint pad_len, guint csrc_count)
 {
   guint len;
   Rtp_Packet packet;
 
-  g_return_val_if_fail(csrc_count <= 15, NULL);
+  g_return_val_if_fail (csrc_count <= 15, NULL);
 
-  len = RTP_HEADER_LEN
-    + csrc_count * sizeof(guint32)
-    + payload_len + pad_len;
+  len = RTP_HEADER_LEN + csrc_count * sizeof (guint32)
+      + payload_len + pad_len;
 
   //g_return_val_if_fail(len < RTP_MTU, NULL);
 
-  packet = g_malloc(sizeof *packet);
+  packet = g_malloc (sizeof *packet);
 
-  packet -> data_len = len; 
-  packet -> data = g_malloc(len);
+  packet->data_len = len;
+  packet->data = g_malloc (len);
 
-  return(packet);
+  return (packet);
 }
 
 
 void
-rtp_packet_free(Rtp_Packet packet)
+rtp_packet_free (Rtp_Packet packet)
 {
-  g_return_if_fail(packet != NULL);
+  g_return_if_fail (packet != NULL);
 
-  g_free(packet -> data);
-  g_free(packet);
+  g_free (packet->data);
+  g_free (packet);
 }
 
 /*Rtp_Packet
@@ -124,187 +123,185 @@ rtp_packet_send(Rtp_Packet packet, int fd, struct sockaddr *toaddr, socklen_t to
 }*/
 
 guint8
-rtp_packet_get_version(Rtp_Packet packet)
+rtp_packet_get_version (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return ((Rtp_Header) packet -> data) -> version;
+  return ((Rtp_Header) packet->data)->version;
 }
 
 void
-rtp_packet_set_version(Rtp_Packet packet, guint8 version)
+rtp_packet_set_version (Rtp_Packet packet, guint8 version)
 {
-  g_return_if_fail(packet != NULL);
-  g_return_if_fail(version < 0x04);
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (version < 0x04);
 
-  ((Rtp_Header) packet -> data) -> version = version;
+  ((Rtp_Header) packet->data)->version = version;
 }
 
 guint8
-rtp_packet_get_padding(Rtp_Packet packet)
+rtp_packet_get_padding (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return ((Rtp_Header) packet -> data) -> padding;
+  return ((Rtp_Header) packet->data)->padding;
 }
 
 void
-rtp_packet_set_padding(Rtp_Packet packet, guint8 padding)
+rtp_packet_set_padding (Rtp_Packet packet, guint8 padding)
 {
-  g_return_if_fail(packet != NULL);
-  g_return_if_fail(padding < 0x02);
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (padding < 0x02);
 
-  ((Rtp_Header) packet -> data) -> padding = padding;
+  ((Rtp_Header) packet->data)->padding = padding;
 }
 
 guint8
-rtp_packet_get_csrc_count(Rtp_Packet packet)
+rtp_packet_get_csrc_count (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return ((Rtp_Header) packet -> data) -> csrc_count;
+  return ((Rtp_Header) packet->data)->csrc_count;
 }
 
 guint8
-rtp_packet_get_extension(Rtp_Packet packet)
+rtp_packet_get_extension (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return ((Rtp_Header) packet -> data) -> extension;
+  return ((Rtp_Header) packet->data)->extension;
 }
 
 void
-rtp_packet_set_extension(Rtp_Packet packet, guint8 extension)
+rtp_packet_set_extension (Rtp_Packet packet, guint8 extension)
 {
-  g_return_if_fail(packet != NULL);
-  g_return_if_fail(extension < 0x02);
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (extension < 0x02);
 
-  ((Rtp_Header) packet -> data) -> extension = extension;
+  ((Rtp_Header) packet->data)->extension = extension;
 }
 
 void
-rtp_packet_set_csrc_count(Rtp_Packet packet, guint8 csrc_count)
+rtp_packet_set_csrc_count (Rtp_Packet packet, guint8 csrc_count)
 {
-  g_return_if_fail(packet != NULL);
-  g_return_if_fail(csrc_count < 0x04);
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (csrc_count < 0x04);
 
-  ((Rtp_Header) packet -> data) -> csrc_count = csrc_count;
+  ((Rtp_Header) packet->data)->csrc_count = csrc_count;
 }
 
 guint8
-rtp_packet_get_marker(Rtp_Packet packet)
+rtp_packet_get_marker (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return ((Rtp_Header) packet -> data) -> marker;
+  return ((Rtp_Header) packet->data)->marker;
 }
 
 void
-rtp_packet_set_marker(Rtp_Packet packet, guint8 marker)
+rtp_packet_set_marker (Rtp_Packet packet, guint8 marker)
 {
-  g_return_if_fail(packet != NULL);
-  g_return_if_fail(marker < 0x02);
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (marker < 0x02);
 
-  ((Rtp_Header) packet -> data) -> marker = marker;
+  ((Rtp_Header) packet->data)->marker = marker;
 }
 
 guint8
-rtp_packet_get_payload_type(Rtp_Packet packet)
+rtp_packet_get_payload_type (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return ((Rtp_Header) packet -> data) -> payload_type;
+  return ((Rtp_Header) packet->data)->payload_type;
 }
 
 void
-rtp_packet_set_payload_type(Rtp_Packet packet, guint8 payload_type)
+rtp_packet_set_payload_type (Rtp_Packet packet, guint8 payload_type)
 {
-  g_return_if_fail(packet != NULL);
-  g_return_if_fail(payload_type < 0x80);
+  g_return_if_fail (packet != NULL);
+  g_return_if_fail (payload_type < 0x80);
 
-  ((Rtp_Header) packet -> data) -> payload_type = payload_type;
+  ((Rtp_Header) packet->data)->payload_type = payload_type;
 }
 
 guint16
-rtp_packet_get_seq(Rtp_Packet packet)
+rtp_packet_get_seq (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return g_ntohs(((Rtp_Header) packet -> data) -> seq);
+  return g_ntohs (((Rtp_Header) packet->data)->seq);
 }
 
 void
-rtp_packet_set_seq(Rtp_Packet packet, guint16 seq)
+rtp_packet_set_seq (Rtp_Packet packet, guint16 seq)
 {
-  g_return_if_fail(packet != NULL);
+  g_return_if_fail (packet != NULL);
 
-  ((Rtp_Header) packet -> data) -> seq = g_htons(seq);
+  ((Rtp_Header) packet->data)->seq = g_htons (seq);
 }
 
 guint32
-rtp_packet_get_timestamp(Rtp_Packet packet)
+rtp_packet_get_timestamp (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return g_ntohl(((Rtp_Header) packet -> data) -> timestamp);
+  return g_ntohl (((Rtp_Header) packet->data)->timestamp);
 }
 
 void
-rtp_packet_set_timestamp(Rtp_Packet packet, guint32 timestamp)
+rtp_packet_set_timestamp (Rtp_Packet packet, guint32 timestamp)
 {
-  g_return_if_fail(packet != NULL);
+  g_return_if_fail (packet != NULL);
 
-  ((Rtp_Header) packet -> data) -> timestamp = g_htonl(timestamp);
+  ((Rtp_Header) packet->data)->timestamp = g_htonl (timestamp);
 }
 
 guint32
-rtp_packet_get_ssrc(Rtp_Packet packet)
+rtp_packet_get_ssrc (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return g_ntohl(((Rtp_Header) packet -> data) -> ssrc);
+  return g_ntohl (((Rtp_Header) packet->data)->ssrc);
 }
 
 void
-rtp_packet_set_ssrc(Rtp_Packet packet, guint32 ssrc)
+rtp_packet_set_ssrc (Rtp_Packet packet, guint32 ssrc)
 {
-  g_return_if_fail(packet != NULL);
+  g_return_if_fail (packet != NULL);
 
-  ((Rtp_Header) packet -> data) -> ssrc = g_htonl(ssrc);
+  ((Rtp_Header) packet->data)->ssrc = g_htonl (ssrc);
 }
 
 guint
-rtp_packet_get_payload_len(Rtp_Packet packet)
+rtp_packet_get_payload_len (Rtp_Packet packet)
 {
   guint len;
 
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  len = packet -> data_len
-    - RTP_HEADER_LEN
-    - rtp_packet_get_csrc_count(packet) * sizeof(guint32);
+  len = packet->data_len
+      - RTP_HEADER_LEN - rtp_packet_get_csrc_count (packet) * sizeof (guint32);
 
-  if (rtp_packet_get_padding(packet)) {
-    len -= ((guint8 *) packet -> data)[packet -> data_len - 1];
+  if (rtp_packet_get_padding (packet)) {
+    len -= ((guint8 *) packet->data)[packet->data_len - 1];
   }
 
   return len;
 }
 
 gpointer
-rtp_packet_get_payload(Rtp_Packet packet)
+rtp_packet_get_payload (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, NULL);
+  g_return_val_if_fail (packet != NULL, NULL);
 
-  return ((char *) packet -> data)
-    + RTP_HEADER_LEN
-    + rtp_packet_get_csrc_count(packet) * sizeof(guint32);
+  return ((char *) packet->data)
+      + RTP_HEADER_LEN + rtp_packet_get_csrc_count (packet) * sizeof (guint32);
 }
 
 guint
-rtp_packet_get_packet_len(Rtp_Packet packet)
+rtp_packet_get_packet_len (Rtp_Packet packet)
 {
-  g_return_val_if_fail(packet != NULL, 0);
+  g_return_val_if_fail (packet != NULL, 0);
 
-  return packet -> data_len;
+  return packet->data_len;
 }
index f731c5f..b130c86 100644 (file)
 #endif
 
 #ifdef __cplusplus
-extern "C" {
+extern "C"
+{
 #endif
 
 #define RTP_VERSION 2
 #define RTP_HEADER_LEN 12
 #define RTP_MTU 2048
 
-typedef struct Rtp_Header *Rtp_Header;
+  typedef struct Rtp_Header *Rtp_Header;
 
-struct Rtp_Packet_Struct {
-  gpointer data;
-  guint data_len;
-};
+  struct Rtp_Packet_Struct
+  {
+    gpointer data;
+    guint data_len;
+  };
 
-struct Rtp_Header {
+  struct Rtp_Header
+  {
 #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  unsigned int csrc_count:4;    /* CSRC count */
-  unsigned int extension:1;     /* header extension flag */
-  unsigned int padding:1;       /* padding flag */
-  unsigned int version:2;       /* protocol version */
-  unsigned int payload_type:7;  /* payload type */
-  unsigned int marker:1;        /* marker bit */
+    unsigned int csrc_count:4; /* CSRC count */
+    unsigned int extension:1;  /* header extension flag */
+    unsigned int padding:1;    /* padding flag */
+    unsigned int version:2;    /* protocol version */
+    unsigned int payload_type:7;       /* payload type */
+    unsigned int marker:1;     /* marker bit */
 #elif G_BYTE_ORDER == G_BIG_ENDIAN
-  unsigned int version:2;       /* protocol version */
-  unsigned int padding:1;       /* padding flag */
-  unsigned int extension:1;     /* header extension flag */
-  unsigned int csrc_count:4;    /* CSRC count */
-  unsigned int marker:1;        /* marker bit */
-  unsigned int payload_type:7;  /* payload type */
+    unsigned int version:2;    /* protocol version */
+    unsigned int padding:1;    /* padding flag */
+    unsigned int extension:1;  /* header extension flag */
+    unsigned int csrc_count:4; /* CSRC count */
+    unsigned int marker:1;     /* marker bit */
+    unsigned int payload_type:7;       /* payload type */
 #else
 #error "G_BYTE_ORDER should be big or little endian."
 #endif
-  guint16 seq;                  /* sequence number */
-  guint32 timestamp;            /* timestamp */
-  guint32 ssrc;                 /* synchronization source */
-  guint32 csrc[1];              /* optional CSRC list */
-};
+    guint16 seq;               /* sequence number */
+    guint32 timestamp;         /* timestamp */
+    guint32 ssrc;              /* synchronization source */
+    guint32 csrc[1];           /* optional CSRC list */
+  };
 
-typedef struct Rtp_Packet_Struct *Rtp_Packet;
+  typedef struct Rtp_Packet_Struct *Rtp_Packet;
 
-Rtp_Packet rtp_packet_new_take_data(gpointer data, guint data_len);
-Rtp_Packet rtp_packet_new_copy_data(gpointer data, guint data_len);
-Rtp_Packet rtp_packet_new_allocate(guint payload_len,
-                                   guint pad_len, guint csrc_count);
-void rtp_packet_free(Rtp_Packet packet);
+  Rtp_Packet rtp_packet_new_take_data (gpointer data, guint data_len);
+  Rtp_Packet rtp_packet_new_copy_data (gpointer data, guint data_len);
+  Rtp_Packet rtp_packet_new_allocate (guint payload_len,
+      guint pad_len, guint csrc_count);
+  void rtp_packet_free (Rtp_Packet packet);
 //Rtp_Packet rtp_packet_read(int fd, struct sockaddr *fromaddr, socklen_t *fromlen);
 //void rtp_packet_send(Rtp_Packet packet, int fd, struct sockaddr *toaddr, socklen_t tolen);
-guint8 rtp_packet_get_version(Rtp_Packet packet);
-void rtp_packet_set_version(Rtp_Packet packet, guint8 version);
-guint8 rtp_packet_get_padding(Rtp_Packet packet);
-void rtp_packet_set_padding(Rtp_Packet packet, guint8 padding);
-guint8 rtp_packet_get_csrc_count(Rtp_Packet packet);
-guint8 rtp_packet_get_extension(Rtp_Packet packet);
-void rtp_packet_set_extension(Rtp_Packet packet, guint8 extension);
-void rtp_packet_set_csrc_count(Rtp_Packet packet, guint8 csrc_count);
-guint8 rtp_packet_get_marker(Rtp_Packet packet);
-void rtp_packet_set_marker(Rtp_Packet packet, guint8 marker);
-guint8 rtp_packet_get_payload_type(Rtp_Packet packet);
-void rtp_packet_set_payload_type(Rtp_Packet packet, guint8 payload_type);
-guint16 rtp_packet_get_seq(Rtp_Packet packet);
-void rtp_packet_set_seq(Rtp_Packet packet, guint16 seq);
-guint32 rtp_packet_get_timestamp(Rtp_Packet packet);
-void rtp_packet_set_timestamp(Rtp_Packet packet, guint32 timestamp);
-guint32 rtp_packet_get_ssrc(Rtp_Packet packet);
-void rtp_packet_set_ssrc(Rtp_Packet packet, guint32 ssrc);
-guint rtp_packet_get_payload_len(Rtp_Packet packet);
-gpointer rtp_packet_get_payload(Rtp_Packet packet);
-guint rtp_packet_get_packet_len(Rtp_Packet packet);
+  guint8 rtp_packet_get_version (Rtp_Packet packet);
+  void rtp_packet_set_version (Rtp_Packet packet, guint8 version);
+  guint8 rtp_packet_get_padding (Rtp_Packet packet);
+  void rtp_packet_set_padding (Rtp_Packet packet, guint8 padding);
+  guint8 rtp_packet_get_csrc_count (Rtp_Packet packet);
+  guint8 rtp_packet_get_extension (Rtp_Packet packet);
+  void rtp_packet_set_extension (Rtp_Packet packet, guint8 extension);
+  void rtp_packet_set_csrc_count (Rtp_Packet packet, guint8 csrc_count);
+  guint8 rtp_packet_get_marker (Rtp_Packet packet);
+  void rtp_packet_set_marker (Rtp_Packet packet, guint8 marker);
+  guint8 rtp_packet_get_payload_type (Rtp_Packet packet);
+  void rtp_packet_set_payload_type (Rtp_Packet packet, guint8 payload_type);
+  guint16 rtp_packet_get_seq (Rtp_Packet packet);
+  void rtp_packet_set_seq (Rtp_Packet packet, guint16 seq);
+  guint32 rtp_packet_get_timestamp (Rtp_Packet packet);
+  void rtp_packet_set_timestamp (Rtp_Packet packet, guint32 timestamp);
+  guint32 rtp_packet_get_ssrc (Rtp_Packet packet);
+  void rtp_packet_set_ssrc (Rtp_Packet packet, guint32 ssrc);
+  guint rtp_packet_get_payload_len (Rtp_Packet packet);
+  gpointer rtp_packet_get_payload (Rtp_Packet packet);
+  guint rtp_packet_get_packet_len (Rtp_Packet packet);
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* rtp-packet.h */
+#endif                         /* rtp-packet.h */
index 457900d..c39bc72 100644 (file)
@@ -3,11 +3,13 @@
 
 extern gboolean _gst_plugin_spew;
 
-gboolean idle_func(gpointer data);
+gboolean idle_func (gpointer data);
 
 GtkWidget *drawingarea;
 
-int main(int argc,char *argv[]) {
+int
+main (int argc, char *argv[])
+{
   GstElement *bin;
   GstElementFactory *srcfactory;
   GstElement *src;
@@ -16,46 +18,47 @@ int main(int argc,char *argv[]) {
   GtkWidget *wave_widget;
   GtkWidget *appwindow;
 
-  gst_init(&argc,&argv);
-  gst_plugin_load("libsmoothwave.so");
-  gtk_init(&argc,&argv);
+  gst_init (&argc, &argv);
+  gst_plugin_load ("libsmoothwave.so");
+  gtk_init (&argc, &argv);
 
-  bin = gst_pipeline_new("bin");
+  bin = gst_pipeline_new ("bin");
 
-  srcfactory = gst_element_factory_find("sinesrc");
-  g_return_val_if_fail(srcfactory != NULL, -1);
-  wavefactory = gst_element_factory_find("smoothwave");
-  g_return_val_if_fail(wavefactory != NULL, -1);
+  srcfactory = gst_element_factory_find ("sinesrc");
+  g_return_val_if_fail (srcfactory != NULL, -1);
+  wavefactory = gst_element_factory_find ("smoothwave");
+  g_return_val_if_fail (wavefactory != NULL, -1);
 
-  src = gst_element_factory_create(srcfactory,"src");
+  src = gst_element_factory_create (srcfactory, "src");
   //g_object_set(G_OBJECT(src),"bytes_per_read",(gulong)2048,NULL);
-  wave = gst_element_factory_create(wavefactory,"wave");
-  g_object_set(G_OBJECT(wave),"width",256,"height",100,NULL);
+  wave = gst_element_factory_create (wavefactory, "wave");
+  g_object_set (G_OBJECT (wave), "width", 256, "height", 100, NULL);
 
 
-  gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
-  gst_bin_add(GST_BIN(bin),GST_ELEMENT(wave));
+  gst_bin_add (GST_BIN (bin), GST_ELEMENT (src));
+  gst_bin_add (GST_BIN (bin), GST_ELEMENT (wave));
 
-  gst_pad_link(gst_element_get_pad(src,"src"),
-                  gst_element_get_pad(wave,"sink"));
+  gst_pad_link (gst_element_get_pad (src, "src"),
+      gst_element_get_pad (wave, "sink"));
 
-  appwindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-  g_object_get(G_OBJECT(wave),"widget",&wave_widget,NULL);
-  gtk_container_add(GTK_CONTAINER(appwindow), wave_widget);
-  gtk_widget_show_all(appwindow);
+  appwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  g_object_get (G_OBJECT (wave), "widget", &wave_widget, NULL);
+  gtk_container_add (GTK_CONTAINER (appwindow), wave_widget);
+  gtk_widget_show_all (appwindow);
 
-  gst_element_set_state(GST_ELEMENT(bin),GST_STATE_READY);
-  gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
+  gst_element_set_state (GST_ELEMENT (bin), GST_STATE_READY);
+  gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
 
-  g_idle_add(idle_func,bin);
+  g_idle_add (idle_func, bin);
 
-  gtk_main();
+  gtk_main ();
 
   return 0;
 }
 
-gboolean idle_func(gpointer data)
+gboolean
+idle_func (gpointer data)
 {
-  gst_bin_iterate(GST_BIN(data));
+  gst_bin_iterate (GST_BIN (data));
   return TRUE;
 }
index 57c267e..2abbdec 100644 (file)
 
 #include "gstsmoothwave.h"
 
-static GstElementDetails gst_smoothwave_details = GST_ELEMENT_DETAILS (
-  "Smooth waveform",
-  "Visualization",
-  "Fading grayscale waveform display",
-  "Erik Walthinsen <omega@cse.ogi.edu>"
-);
+static GstElementDetails gst_smoothwave_details =
+GST_ELEMENT_DETAILS ("Smooth waveform",
+    "Visualization",
+    "Fading grayscale waveform display",
+    "Erik Walthinsen <omega@cse.ogi.edu>");
 
 
 /* SmoothWave signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_WIDTH,
   ARG_HEIGHT,
   ARG_WIDGET,
 };
 
-static void     gst_smoothwave_base_init        (gpointer g_class);
-static void    gst_smoothwave_class_init       (GstSmoothWaveClass *klass);
-static void    gst_smoothwave_init             (GstSmoothWave *smoothwave);
+static void gst_smoothwave_base_init (gpointer g_class);
+static void gst_smoothwave_class_init (GstSmoothWaveClass * klass);
+static void gst_smoothwave_init (GstSmoothWave * smoothwave);
 
-static void    gst_smoothwave_set_property             (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_smoothwave_get_property             (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_smoothwave_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_smoothwave_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void    gst_smoothwave_chain            (GstPad *pad, GstData *_data);
+static void gst_smoothwave_chain (GstPad * pad, GstData * _data);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_smoothwave_signals[LAST_SIGNAL] = { 0 }; */
 
 
@@ -66,17 +70,19 @@ gst_smoothwave_get_type (void)
 
   if (!smoothwave_type) {
     static const GTypeInfo smoothwave_info = {
-      sizeof(GstSmoothWaveClass),
+      sizeof (GstSmoothWaveClass),
       gst_smoothwave_base_init,
       NULL,
-      (GClassInitFunc)gst_smoothwave_class_init,
+      (GClassInitFunc) gst_smoothwave_class_init,
       NULL,
       NULL,
-      sizeof(GstSmoothWave),
+      sizeof (GstSmoothWave),
       0,
-      (GInstanceInitFunc)gst_smoothwave_init,
+      (GInstanceInitFunc) gst_smoothwave_init,
     };
-    smoothwave_type = g_type_register_static(GST_TYPE_ELEMENT, "GstSmoothWave", &smoothwave_info, 0);
+    smoothwave_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstSmoothWave",
+       &smoothwave_info, 0);
   }
   return smoothwave_type;
 }
@@ -90,83 +96,77 @@ gst_smoothwave_base_init (gpointer g_class)
 }
 
 static void
-gst_smoothwave_class_init (GstSmoothWaveClass *klass)
+gst_smoothwave_class_init (GstSmoothWaveClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_WIDTH,
-    g_param_spec_int("width","width","width",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HEIGHT,
-    g_param_spec_int("height","height","height",
-                     G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_WIDGET,
-    g_param_spec_object("widget","widget","widget",
-                        GTK_TYPE_WIDGET,G_PARAM_READABLE)); /* CHECKME! */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_WIDTH, g_param_spec_int ("width", "width", "width", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HEIGHT, g_param_spec_int ("height", "height", "height", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));     /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_WIDGET, g_param_spec_object ("widget", "widget", "widget", GTK_TYPE_WIDGET, G_PARAM_READABLE)); /* CHECKME! */
 
   gobject_class->set_property = gst_smoothwave_set_property;
   gobject_class->get_property = gst_smoothwave_get_property;
 }
 
 static void
-gst_smoothwave_init (GstSmoothWave *smoothwave)
+gst_smoothwave_init (GstSmoothWave * smoothwave)
 {
   int i;
   guint32 palette[256];
 
-  smoothwave->sinkpad = gst_pad_new("sink",GST_PAD_SINK);
-  gst_element_add_pad(GST_ELEMENT(smoothwave),smoothwave->sinkpad);
-  gst_pad_set_chain_function(smoothwave->sinkpad,gst_smoothwave_chain);
-  smoothwave->srcpad = gst_pad_new("src",GST_PAD_SRC);
-  gst_element_add_pad(GST_ELEMENT(smoothwave),smoothwave->srcpad);
+  smoothwave->sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
+  gst_element_add_pad (GST_ELEMENT (smoothwave), smoothwave->sinkpad);
+  gst_pad_set_chain_function (smoothwave->sinkpad, gst_smoothwave_chain);
+  smoothwave->srcpad = gst_pad_new ("src", GST_PAD_SRC);
+  gst_element_add_pad (GST_ELEMENT (smoothwave), smoothwave->srcpad);
 
 /*  smoothwave->meta = NULL; */
   smoothwave->width = 512;
   smoothwave->height = 256;
 
-  gdk_rgb_init();
+  gdk_rgb_init ();
 /*  gtk_widget_set_default_colormap (gdk_rgb_get_cmap()); */
 /*  gtk_widget_set_default_visual (gdk_rgb_get_visual()); */
 
 /*  GST_DEBUG ("creating palette"); */
-  for (i=0;i<256;i++)
+  for (i = 0; i < 256; i++)
     palette[i] = (i << 16) || (i << 8);
 /*  GST_DEBUG ("creating cmap"); */
-  smoothwave->cmap = gdk_rgb_cmap_new(palette,256);
+  smoothwave->cmap = gdk_rgb_cmap_new (palette, 256);
 /*  GST_DEBUG ("created cmap"); */
 /*  gtk_widget_set_default_colormap (smoothwave->cmap); */
 
-  smoothwave->image = gtk_drawing_area_new();
-  gtk_drawing_area_size(GTK_DRAWING_AREA(smoothwave->image),
-                        smoothwave->width,smoothwave->height);
-  gtk_widget_show(smoothwave->image);
+  smoothwave->image = gtk_drawing_area_new ();
+  gtk_drawing_area_size (GTK_DRAWING_AREA (smoothwave->image),
+      smoothwave->width, smoothwave->height);
+  gtk_widget_show (smoothwave->image);
 
-  smoothwave->imagebuffer = g_malloc(smoothwave->width*smoothwave->height);
-  memset(smoothwave->imagebuffer,0,smoothwave->width*smoothwave->height);
+  smoothwave->imagebuffer = g_malloc (smoothwave->width * smoothwave->height);
+  memset (smoothwave->imagebuffer, 0, smoothwave->width * smoothwave->height);
 }
 
 static void
-gst_smoothwave_chain (GstPad *pad, GstData *_data)
+gst_smoothwave_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstSmoothWave *smoothwave;
   gint16 *samples;
-  gint samplecount,i;
+  gint samplecount, i;
   register guint32 *ptr;
   gint qheight;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
 /*  g_return_if_fail(GST_IS_BUFFER(buf)); */
 
-  smoothwave = GST_SMOOTHWAVE(GST_OBJECT_PARENT (pad));
+  smoothwave = GST_SMOOTHWAVE (GST_OBJECT_PARENT (pad));
 
   /* first deal with audio metadata */
 #if 0
@@ -175,36 +175,35 @@ gst_smoothwave_chain (GstPad *pad, GstData *_data)
       /* FIXME: need to unref the old metadata so it goes away */
     }
     /* we just make a copy of the pointer */
-    smoothwave->meta = (MetaAudioRaw *)(buf->meta);
+    smoothwave->meta = (MetaAudioRaw *) (buf->meta);
     /* FIXME: now we have to ref the metadata so it doesn't go away */
   }
 #endif
 
 /*  g_return_if_fail(smoothwave->meta != NULL); */
 
-  samples = (gint16 *)GST_BUFFER_DATA(buf);
+  samples = (gint16 *) GST_BUFFER_DATA (buf);
 /*  samplecount = buf->datasize / (smoothwave->meta->channels * sizeof(gint16)); */
-  samplecount = GST_BUFFER_SIZE(buf) / (2 * sizeof(gint16));
+  samplecount = GST_BUFFER_SIZE (buf) / (2 * sizeof (gint16));
 
-  qheight = smoothwave->height/4;
+  qheight = smoothwave->height / 4;
 
 /*  GST_DEBUG ("traversing %d",smoothwave->width); */
-  for (i=0;i<MAX(smoothwave->width,samplecount);i++) {
-    gint16 y1 = (gint32)(samples[i*2] * qheight) / 32768 +
-                qheight;
-    gint16 y2 = (gint32)(samples[(i*2)+1] * qheight) / 32768 +
-                (qheight*3);
-    smoothwave->imagebuffer[y1*smoothwave->width + i] = 0xff;
-    smoothwave->imagebuffer[y2*smoothwave->width + i] = 0xff;
+  for (i = 0; i < MAX (smoothwave->width, samplecount); i++) {
+    gint16 y1 = (gint32) (samples[i * 2] * qheight) / 32768 + qheight;
+    gint16 y2 = (gint32) (samples[(i * 2) + 1] * qheight) / 32768 +
+       (qheight * 3);
+    smoothwave->imagebuffer[y1 * smoothwave->width + i] = 0xff;
+    smoothwave->imagebuffer[y2 * smoothwave->width + i] = 0xff;
 /*    smoothwave->imagebuffer[i+(smoothwave->width*5)] = i; */
   }
 
-  ptr = (guint32 *)smoothwave->imagebuffer;
-  for (i=0;i<(smoothwave->width*smoothwave->height)/4;i++) {
-    if (*ptr){
+  ptr = (guint32 *) smoothwave->imagebuffer;
+  for (i = 0; i < (smoothwave->width * smoothwave->height) / 4; i++) {
+    if (*ptr) {
       *ptr -= ((*ptr & 0xf0f0f0f0ul) >> 4) + ((*ptr & 0xe0e0e0e0ul) >> 5);
       ptr++;
-    }else{
+    } else {
       ptr++;
     }
   }
@@ -223,40 +222,40 @@ gst_smoothwave_chain (GstPad *pad, GstData *_data)
        GDK_RGB_DITHER_NONE,
        smoothwave->imagebuffer,smoothwave->width,
        smoothwave->cmap);*/
-  gdk_draw_gray_image(smoothwave->image->window,
-       smoothwave->image->style->fg_gc[GTK_STATE_NORMAL],
-       0,0,smoothwave->width,smoothwave->height,
-       GDK_RGB_DITHER_NORMAL,
-       smoothwave->imagebuffer,smoothwave->width);
+  gdk_draw_gray_image (smoothwave->image->window,
+      smoothwave->image->style->fg_gc[GTK_STATE_NORMAL],
+      0, 0, smoothwave->width, smoothwave->height,
+      GDK_RGB_DITHER_NORMAL, smoothwave->imagebuffer, smoothwave->width);
 
 /*  gst_trace_add_entry(NULL,0,buf,"smoothwave: calculated smoothwave"); */
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
 static void
-gst_smoothwave_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_smoothwave_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstSmoothWave *smoothwave;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_SMOOTHWAVE(object));
-  smoothwave = GST_SMOOTHWAVE(object);
+  g_return_if_fail (GST_IS_SMOOTHWAVE (object));
+  smoothwave = GST_SMOOTHWAVE (object);
 
   switch (prop_id) {
     case ARG_WIDTH:
       smoothwave->width = g_value_get_int (value);
-      gtk_drawing_area_size(GTK_DRAWING_AREA(smoothwave->image),
-                            smoothwave->width,smoothwave->height);
-      gtk_widget_set_usize(GTK_WIDGET(smoothwave->image),
-                           smoothwave->width,smoothwave->height);
+      gtk_drawing_area_size (GTK_DRAWING_AREA (smoothwave->image),
+         smoothwave->width, smoothwave->height);
+      gtk_widget_set_usize (GTK_WIDGET (smoothwave->image),
+         smoothwave->width, smoothwave->height);
       break;
     case ARG_HEIGHT:
       smoothwave->height = g_value_get_int (value);
-      gtk_drawing_area_size(GTK_DRAWING_AREA(smoothwave->image),
-                            smoothwave->width,smoothwave->height);
-      gtk_widget_set_usize(GTK_WIDGET(smoothwave->image),
-                           smoothwave->width,smoothwave->height);
+      gtk_drawing_area_size (GTK_DRAWING_AREA (smoothwave->image),
+         smoothwave->width, smoothwave->height);
+      gtk_widget_set_usize (GTK_WIDGET (smoothwave->image),
+         smoothwave->width, smoothwave->height);
       break;
     default:
       break;
@@ -264,27 +263,28 @@ gst_smoothwave_set_property (GObject *object, guint prop_id, const GValue *value
 }
 
 static void
-gst_smoothwave_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_smoothwave_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstSmoothWave *smoothwave;
 
   /* it's not null if we got it, but it might not be ours */
-  smoothwave = GST_SMOOTHWAVE(object);
+  smoothwave = GST_SMOOTHWAVE (object);
 
   switch (prop_id) {
-    case ARG_WIDTH: {
+    case ARG_WIDTH:{
       g_value_set_int (value, smoothwave->width);
       break;
     }
-    case ARG_HEIGHT: {
+    case ARG_HEIGHT:{
       g_value_set_int (value, smoothwave->height);
       break;
     }
-    case ARG_WIDGET: {
+    case ARG_WIDGET:{
       g_value_set_object (value, smoothwave->image);
       break;
     }
-    default: {
+    default:{
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
     }
@@ -294,21 +294,17 @@ gst_smoothwave_get_property (GObject *object, guint prop_id, GValue *value, GPar
 
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  if (!gst_element_register (plugin, "smoothwave", GST_RANK_NONE, GST_TYPE_SMOOTHWAVE))
+  if (!gst_element_register (plugin, "smoothwave", GST_RANK_NONE,
+         GST_TYPE_SMOOTHWAVE))
     return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "smoothwave",
-  "Fading greyscale waveform display",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "smoothwave",
+    "Fading greyscale waveform display",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 8716513..df4d876 100644 (file)
@@ -26,8 +26,9 @@
 #include <gtk/gtk.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_SMOOTHWAVE \
@@ -41,31 +42,33 @@ extern "C" {
 #define GST_IS_SMOOTHWAVE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SMOOTHWAVE))
 
-typedef struct _GstSmoothWave GstSmoothWave;
-typedef struct _GstSmoothWaveClass GstSmoothWaveClass;
+  typedef struct _GstSmoothWave GstSmoothWave;
+  typedef struct _GstSmoothWaveClass GstSmoothWaveClass;
 
-struct _GstSmoothWave {
-  GstElement element;
+  struct _GstSmoothWave
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  gint width,height;
+    gint width, height;
 
-  GdkRgbCmap *cmap;
-  GtkWidget *image;
-  guchar *imagebuffer;
-};
+    GdkRgbCmap *cmap;
+    GtkWidget *image;
+    guchar *imagebuffer;
+  };
 
-struct _GstSmoothWaveClass {
-  GstElementClass parent_class;
-};
+  struct _GstSmoothWaveClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_smoothwave_get_type(void);
+  GType gst_smoothwave_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_SMOOTHWAVE_H__ */
+#endif                         /* __GST_SMOOTHWAVE_H__ */
index a490f63..2508adf 100644 (file)
 
 enum
 {
-  BOX_VERTICAL                 = 1,
-  BOX_HORIZONTAL       = 2,
-  BOX_CLOCK            = 3,
-  TRIGANLE_LINEAR      = 4,
+  BOX_VERTICAL = 1,
+  BOX_HORIZONTAL = 2,
+  BOX_CLOCK = 3,
+  TRIGANLE_LINEAR = 4,
 };
 
-static gint boxes_1b[][7] = 
-{
+static gint boxes_1b[][7] = {
 #define WIPE_B1_1      0
-  { BOX_VERTICAL,   0, 0, 0,  1, 1, 1 },
+  {BOX_VERTICAL, 0, 0, 0, 1, 1, 1},
 #define WIPE_B1_2      1
-  { BOX_HORIZONTAL, 0, 0, 0,  1, 1, 1 }
+  {BOX_HORIZONTAL, 0, 0, 0, 1, 1, 1}
 };
 
-static gint boxes_2b[][7*2] = 
-{
+static gint boxes_2b[][7 * 2] = {
 #define WIPE_B2_21     0
-  { BOX_VERTICAL,   0, 0, 1,  1, 2, 0,
-    BOX_VERTICAL,   1, 0, 0,  2, 2, 1 },
+  {BOX_VERTICAL, 0, 0, 1, 1, 2, 0,
+      BOX_VERTICAL, 1, 0, 0, 2, 2, 1},
 #define WIPE_B2_22     1
-  { BOX_HORIZONTAL, 0, 0, 1,  2, 1, 0,
-    BOX_HORIZONTAL, 0, 1, 0,  2, 2, 1 },
+  {BOX_HORIZONTAL, 0, 0, 1, 2, 1, 0,
+      BOX_HORIZONTAL, 0, 1, 0, 2, 2, 1},
 };
 
-static gint box_clock_1b[][1*10] = 
-{
+static gint box_clock_1b[][1 * 10] = {
 #define WIPE_B1_241    0
-  { BOX_CLOCK, 0, 0, 0,  1, 0, 0,  0, 1, 1 },   
+  {BOX_CLOCK, 0, 0, 0, 1, 0, 0, 0, 1, 1},
 #define WIPE_B1_242    1
-  { BOX_CLOCK, 0, 1, 0,  1, 1, 0,  0, 0, 1 },   
+  {BOX_CLOCK, 0, 1, 0, 1, 1, 0, 0, 0, 1},
 #define WIPE_B1_243    2
-  { BOX_CLOCK, 1, 1, 0,  0, 1, 0,  1, 0, 1 },   
+  {BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1},
 #define WIPE_B1_244    3
-  { BOX_CLOCK, 1, 0, 0,  0, 0, 0,  1, 1, 1 },   
+  {BOX_CLOCK, 1, 0, 0, 0, 0, 0, 1, 1, 1},
 };
 
 #define WIPE_B2_221    0
-static gint box_clock_2b[][2*10] = 
-{
+static gint box_clock_2b[][2 * 10] = {
 #define WIPE_B2_221    0
-  { BOX_CLOCK, 1, 0, 0,  2, 0, 0,  1, 2, 1,   
-    BOX_CLOCK, 1, 0, 0,  1, 2, 1,  0, 0, 2 },
+  {BOX_CLOCK, 1, 0, 0, 2, 0, 0, 1, 2, 1,
+      BOX_CLOCK, 1, 0, 0, 1, 2, 1, 0, 0, 2},
 #define WIPE_B2_222    1
-  { BOX_CLOCK, 2, 1, 0,  2, 2, 0,  0, 1, 1,   
-    BOX_CLOCK, 2, 1, 0,  0, 1, 1,  2, 0, 2 },
+  {BOX_CLOCK, 2, 1, 0, 2, 2, 0, 0, 1, 1,
+      BOX_CLOCK, 2, 1, 0, 0, 1, 1, 2, 0, 2},
 #define WIPE_B2_223    2
-  { BOX_CLOCK, 1, 2, 0,  0, 2, 0,  1, 0, 1,   
-    BOX_CLOCK, 1, 2, 0,  1, 0, 1,  2, 2, 2 },
+  {BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 0, 1,
+      BOX_CLOCK, 1, 2, 0, 1, 0, 1, 2, 2, 2},
 #define WIPE_B2_224    3
-  { BOX_CLOCK, 0, 1, 0,  0, 0, 0,  2, 1, 1,   
-    BOX_CLOCK, 0, 1, 0,  2, 1, 1,  0, 2, 2 },
+  {BOX_CLOCK, 0, 1, 0, 0, 0, 0, 2, 1, 1,
+      BOX_CLOCK, 0, 1, 0, 2, 1, 1, 0, 2, 2},
 #define WIPE_B2_225    4
-  { BOX_CLOCK, 1, 0, 0,  2, 0, 0,  1, 2, 1,   
-    BOX_CLOCK, 1, 2, 0,  0, 2, 0,  1, 0, 1 },
+  {BOX_CLOCK, 1, 0, 0, 2, 0, 0, 1, 2, 1,
+      BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 0, 1},
 #define WIPE_B2_226    5
-  { BOX_CLOCK, 0, 1, 0,  0, 0, 0,  2, 1, 1,   
-    BOX_CLOCK, 2, 1, 0,  2, 2, 0,  0, 1, 1 },
+  {BOX_CLOCK, 0, 1, 0, 0, 0, 0, 2, 1, 1,
+      BOX_CLOCK, 2, 1, 0, 2, 2, 0, 0, 1, 1},
 #define WIPE_B2_231    6
-  { BOX_CLOCK, 1, 0, 0,  1, 2, 0,  2, 0, 1,   
-    BOX_CLOCK, 1, 0, 0,  1, 2, 0,  0, 0, 1 },
+  {BOX_CLOCK, 1, 0, 0, 1, 2, 0, 2, 0, 1,
+      BOX_CLOCK, 1, 0, 0, 1, 2, 0, 0, 0, 1},
 #define WIPE_B2_232    7
-  { BOX_CLOCK, 2, 1, 0,  0, 1, 0,  2, 0, 1,   
-    BOX_CLOCK, 2, 1, 0,  0, 1, 0,  2, 2, 1 },
+  {BOX_CLOCK, 2, 1, 0, 0, 1, 0, 2, 0, 1,
+      BOX_CLOCK, 2, 1, 0, 0, 1, 0, 2, 2, 1},
 #define WIPE_B2_233    8
-  { BOX_CLOCK, 1, 2, 0,  1, 0, 0,  2, 2, 1,   
-    BOX_CLOCK, 1, 2, 0,  1, 0, 0,  0, 2, 1 },
+  {BOX_CLOCK, 1, 2, 0, 1, 0, 0, 2, 2, 1,
+      BOX_CLOCK, 1, 2, 0, 1, 0, 0, 0, 2, 1},
 #define WIPE_B2_234    9
-  { BOX_CLOCK, 0, 1, 0,  2, 1, 0,  0, 0, 1,   
-    BOX_CLOCK, 0, 1, 0,  2, 1, 0,  0, 2, 1 },
+  {BOX_CLOCK, 0, 1, 0, 2, 1, 0, 0, 0, 1,
+      BOX_CLOCK, 0, 1, 0, 2, 1, 0, 0, 2, 1},
 #define WIPE_B2_251    10
-  { BOX_CLOCK, 0, 0, 0,  1, 0, 0,  0, 2, 1,   
-    BOX_CLOCK, 2, 0, 0,  1, 0, 0,  2, 2, 1 },
+  {BOX_CLOCK, 0, 0, 0, 1, 0, 0, 0, 2, 1,
+      BOX_CLOCK, 2, 0, 0, 1, 0, 0, 2, 2, 1},
 #define WIPE_B2_252    11
-  { BOX_CLOCK, 0, 0, 0,  0, 1, 0,  2, 0, 1,   
-    BOX_CLOCK, 0, 2, 0,  0, 1, 0,  2, 2, 1 },
+  {BOX_CLOCK, 0, 0, 0, 0, 1, 0, 2, 0, 1,
+      BOX_CLOCK, 0, 2, 0, 0, 1, 0, 2, 2, 1},
 #define WIPE_B2_253    12
-  { BOX_CLOCK, 0, 2, 0,  1, 2, 0,  0, 0, 1,   
-    BOX_CLOCK, 2, 2, 0,  1, 2, 0,  2, 0, 1 },
+  {BOX_CLOCK, 0, 2, 0, 1, 2, 0, 0, 0, 1,
+      BOX_CLOCK, 2, 2, 0, 1, 2, 0, 2, 0, 1},
 #define WIPE_B2_254    13
-  { BOX_CLOCK, 2, 0, 0,  2, 1, 0,  0, 0, 1,   
-    BOX_CLOCK, 2, 2, 0,  2, 1, 0,  0, 2, 1 },
+  {BOX_CLOCK, 2, 0, 0, 2, 1, 0, 0, 0, 1,
+      BOX_CLOCK, 2, 2, 0, 2, 1, 0, 0, 2, 1},
 };
 
-static gint box_clock_4b[][4*10] = 
-{
+static gint box_clock_4b[][4 * 10] = {
 #define WIPE_B4_201    0
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 0,  2, 1, 1,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 1,  1, 2, 2,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 2,  0, 1, 3,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 3,  1, 0, 4 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 1, 1, 2, 2,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 2, 0, 1, 3,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 3, 1, 0, 4},
 #define WIPE_B4_202    1
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 3,  2, 1, 4,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 0,  1, 2, 1,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 1,  0, 1, 2,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 2,  1, 0, 3 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 3, 2, 1, 4,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 1, 0, 1, 2,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 2, 1, 0, 3},
 #define WIPE_B4_203    2
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 2,  2, 1, 3,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 3,  1, 2, 4,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 0,  0, 1, 1,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 1,  1, 0, 2 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 2, 2, 1, 3,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 3, 1, 2, 4,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 1, 1, 0, 2},
 #define WIPE_B4_204    3
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 1,  2, 1, 2,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 2,  1, 2, 3,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 3,  0, 1, 4,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 0,  1, 0, 1 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 1, 2, 1, 2,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 2, 1, 2, 3,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 3, 0, 1, 4,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1},
 #define WIPE_B4_205    4
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 0,  2, 1, 1,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 1,  1, 2, 2,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 0,  0, 1, 1,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 1,  1, 0, 2 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 1, 1, 2, 2,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 1, 1, 0, 2},
 #define WIPE_B4_206    5
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 1,  2, 1, 2,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 0,  1, 2, 1,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 1,  0, 1, 2,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 0,  1, 0, 1 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 1, 2, 1, 2,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 1, 0, 1, 2,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1},
 #define WIPE_B4_207    6
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 0,  2, 1, 1,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 0,  1, 2, 1,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 0,  0, 1, 1,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 0,  1, 0, 1 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1},
 #define WIPE_B4_211    7
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 0,  2, 1, 1,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 1,  1, 2, 2,
-    BOX_CLOCK, 1, 1, 0,  1, 0, 0,  0, 1, 1,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 1,  1, 2, 2 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 1, 1, 2, 2,
+       BOX_CLOCK, 1, 1, 0, 1, 0, 0, 0, 1, 1,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 1, 1, 2, 2},
 #define WIPE_B4_212    8
-  { BOX_CLOCK, 1, 1, 0,  2, 1, 0,  1, 0, 1,   
-    BOX_CLOCK, 1, 1, 0,  1, 0, 1,  0, 1, 2,
-    BOX_CLOCK, 1, 1, 0,  2, 1, 0,  1, 2, 1,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 1,  0, 1, 2 },
+  {BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 0, 1,
+       BOX_CLOCK, 1, 1, 0, 1, 0, 1, 0, 1, 2,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+      BOX_CLOCK, 1, 1, 0, 1, 2, 1, 0, 1, 2},
 #define WIPE_B4_213    9
-  { BOX_CLOCK, 1, 1, 0,  1, 0, 0,  2, 1, 1,   
-    BOX_CLOCK, 1, 1, 0,  1, 0, 0,  0, 1, 1,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 0,  2, 1, 1,
-    BOX_CLOCK, 1, 1, 0,  1, 2, 0,  0, 1, 1 },
+  {BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+       BOX_CLOCK, 1, 1, 0, 1, 0, 0, 0, 1, 1,
+       BOX_CLOCK, 1, 1, 0, 1, 2, 0, 2, 1, 1,
+      BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1},
 #define WIPE_B4_214    10
-  { BOX_CLOCK, 1, 1, 0,  2, 1, 0,  1, 0, 1,   
-    BOX_CLOCK, 1, 1, 0,  2, 1, 0,  1, 2, 1,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 0,  1, 0, 1,
-    BOX_CLOCK, 1, 1, 0,  0, 1, 0,  1, 2, 1 },
+  {BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 0, 1,
+       BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+       BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1,
+      BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 2, 1},
 #define WIPE_B4_227    11
-  { BOX_CLOCK, 1, 0, 0,  2, 0, 0,  1, 1, 1,   
-    BOX_CLOCK, 1, 0, 0,  1, 1, 1,  0, 0, 2,
-    BOX_CLOCK, 1, 2, 0,  2, 2, 0,  1, 1, 1,
-    BOX_CLOCK, 1, 2, 0,  1, 1, 1,  0, 2, 2 },
+  {BOX_CLOCK, 1, 0, 0, 2, 0, 0, 1, 1, 1,
+       BOX_CLOCK, 1, 0, 0, 1, 1, 1, 0, 0, 2,
+       BOX_CLOCK, 1, 2, 0, 2, 2, 0, 1, 1, 1,
+      BOX_CLOCK, 1, 2, 0, 1, 1, 1, 0, 2, 2},
 #define WIPE_B4_228    12
-  { BOX_CLOCK, 0, 1, 0,  0, 0, 0,  1, 1, 1,   
-    BOX_CLOCK, 0, 1, 0,  1, 1, 1,  0, 2, 2,
-    BOX_CLOCK, 2, 1, 0,  2, 0, 0,  1, 1, 1,
-    BOX_CLOCK, 2, 1, 0,  1, 1, 1,  2, 2, 2 },
+  {BOX_CLOCK, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+       BOX_CLOCK, 0, 1, 0, 1, 1, 1, 0, 2, 2,
+       BOX_CLOCK, 2, 1, 0, 2, 0, 0, 1, 1, 1,
+      BOX_CLOCK, 2, 1, 0, 1, 1, 1, 2, 2, 2},
 #define WIPE_B4_235    13
-  { BOX_CLOCK, 1, 0, 0,  1, 1, 0,  0, 0, 1,   
-    BOX_CLOCK, 1, 0, 0,  1, 1, 0,  2, 0, 1,
-    BOX_CLOCK, 1, 2, 0,  1, 1, 0,  2, 2, 1,
-    BOX_CLOCK, 1, 2, 0,  1, 1, 0,  0, 2, 1 },
+  {BOX_CLOCK, 1, 0, 0, 1, 1, 0, 0, 0, 1,
+       BOX_CLOCK, 1, 0, 0, 1, 1, 0, 2, 0, 1,
+       BOX_CLOCK, 1, 2, 0, 1, 1, 0, 2, 2, 1,
+      BOX_CLOCK, 1, 2, 0, 1, 1, 0, 0, 2, 1},
 #define WIPE_B4_236    14
-  { BOX_CLOCK, 0, 1, 0,  1, 1, 0,  0, 0, 1,   
-    BOX_CLOCK, 0, 1, 0,  1, 1, 0,  0, 2, 1,
-    BOX_CLOCK, 2, 1, 0,  1, 1, 0,  2, 0, 1,
-    BOX_CLOCK, 2, 1, 0,  1, 1, 0,  2, 2, 1 },
+  {BOX_CLOCK, 0, 1, 0, 1, 1, 0, 0, 0, 1,
+       BOX_CLOCK, 0, 1, 0, 1, 1, 0, 0, 2, 1,
+       BOX_CLOCK, 2, 1, 0, 1, 1, 0, 2, 0, 1,
+      BOX_CLOCK, 2, 1, 0, 1, 1, 0, 2, 2, 1},
 };
 
-static gint box_clock_8b[][8*10] = 
-{
+static gint box_clock_8b[][8 * 10] = {
 #define WIPE_B8_261    0
-  { BOX_CLOCK, 2, 1, 0,  2, 2, 0,  4, 1, 1,   
-    BOX_CLOCK, 2, 1, 0,  4, 1, 1,  2, 0, 2,
-    BOX_CLOCK, 2, 1, 0,  2, 0, 2,  0, 1, 3,
-    BOX_CLOCK, 2, 1, 0,  0, 1, 3,  2, 2, 4,
-    BOX_CLOCK, 2, 3, 0,  2, 2, 0,  4, 3, 1,
-    BOX_CLOCK, 2, 3, 0,  4, 3, 1,  2, 4, 2,
-    BOX_CLOCK, 2, 3, 0,  2, 4, 2,  0, 3, 3,
-    BOX_CLOCK, 2, 3, 0,  0, 3, 3,  2, 2, 4 },
+  {BOX_CLOCK, 2, 1, 0, 2, 2, 0, 4, 1, 1,
+       BOX_CLOCK, 2, 1, 0, 4, 1, 1, 2, 0, 2,
+       BOX_CLOCK, 2, 1, 0, 2, 0, 2, 0, 1, 3,
+       BOX_CLOCK, 2, 1, 0, 0, 1, 3, 2, 2, 4,
+       BOX_CLOCK, 2, 3, 0, 2, 2, 0, 4, 3, 1,
+       BOX_CLOCK, 2, 3, 0, 4, 3, 1, 2, 4, 2,
+       BOX_CLOCK, 2, 3, 0, 2, 4, 2, 0, 3, 3,
+      BOX_CLOCK, 2, 3, 0, 0, 3, 3, 2, 2, 4},
 #define WIPE_B8_262    1
-  { BOX_CLOCK, 1, 2, 0,  2, 2, 0,  1, 0, 1,   
-    BOX_CLOCK, 1, 2, 0,  1, 0, 1,  0, 2, 2,
-    BOX_CLOCK, 1, 2, 0,  0, 2, 2,  1, 4, 3,
-    BOX_CLOCK, 1, 2, 0,  1, 4, 3,  2, 2, 4,
-    BOX_CLOCK, 3, 2, 0,  2, 2, 0,  3, 0, 1,
-    BOX_CLOCK, 3, 2, 0,  3, 0, 1,  4, 2, 2,
-    BOX_CLOCK, 3, 2, 0,  4, 2, 2,  3, 4, 3,
-    BOX_CLOCK, 3, 2, 0,  3, 4, 3,  2, 2, 4 },
+  {BOX_CLOCK, 1, 2, 0, 2, 2, 0, 1, 0, 1,
+       BOX_CLOCK, 1, 2, 0, 1, 0, 1, 0, 2, 2,
+       BOX_CLOCK, 1, 2, 0, 0, 2, 2, 1, 4, 3,
+       BOX_CLOCK, 1, 2, 0, 1, 4, 3, 2, 2, 4,
+       BOX_CLOCK, 3, 2, 0, 2, 2, 0, 3, 0, 1,
+       BOX_CLOCK, 3, 2, 0, 3, 0, 1, 4, 2, 2,
+       BOX_CLOCK, 3, 2, 0, 4, 2, 2, 3, 4, 3,
+      BOX_CLOCK, 3, 2, 0, 3, 4, 3, 2, 2, 4},
 #define WIPE_B8_263    2
-  { BOX_CLOCK, 2, 1, 0,  2, 0, 0,  4, 1, 1,   
-    BOX_CLOCK, 2, 1, 0,  4, 1, 1,  2, 2, 2,
-    BOX_CLOCK, 2, 1, 0,  2, 0, 0,  0, 1, 1,
-    BOX_CLOCK, 2, 1, 0,  0, 1, 1,  2, 2, 2,
-    BOX_CLOCK, 2, 3, 0,  2, 4, 0,  4, 3, 1,
-    BOX_CLOCK, 2, 3, 0,  4, 3, 1,  2, 2, 2,
-    BOX_CLOCK, 2, 3, 0,  2, 4, 0,  0, 3, 1,
-    BOX_CLOCK, 2, 3, 0,  0, 3, 1,  2, 2, 2 },
+  {BOX_CLOCK, 2, 1, 0, 2, 0, 0, 4, 1, 1,
+       BOX_CLOCK, 2, 1, 0, 4, 1, 1, 2, 2, 2,
+       BOX_CLOCK, 2, 1, 0, 2, 0, 0, 0, 1, 1,
+       BOX_CLOCK, 2, 1, 0, 0, 1, 1, 2, 2, 2,
+       BOX_CLOCK, 2, 3, 0, 2, 4, 0, 4, 3, 1,
+       BOX_CLOCK, 2, 3, 0, 4, 3, 1, 2, 2, 2,
+       BOX_CLOCK, 2, 3, 0, 2, 4, 0, 0, 3, 1,
+      BOX_CLOCK, 2, 3, 0, 0, 3, 1, 2, 2, 2},
 #define WIPE_B8_264    3
-  { BOX_CLOCK, 1, 2, 0,  0, 2, 0,  1, 0, 1,   
-    BOX_CLOCK, 1, 2, 0,  1, 0, 1,  2, 2, 2,
-    BOX_CLOCK, 1, 2, 0,  0, 2, 0,  1, 4, 1,
-    BOX_CLOCK, 1, 2, 0,  1, 4, 1,  2, 2, 2,
-    BOX_CLOCK, 3, 2, 0,  4, 2, 0,  3, 0, 1,
-    BOX_CLOCK, 3, 2, 0,  3, 0, 1,  2, 2, 2,
-    BOX_CLOCK, 3, 2, 0,  4, 2, 0,  3, 4, 1,
-    BOX_CLOCK, 3, 2, 0,  3, 4, 1,  2, 2, 2 },
+  {BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 0, 1,
+       BOX_CLOCK, 1, 2, 0, 1, 0, 1, 2, 2, 2,
+       BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 4, 1,
+       BOX_CLOCK, 1, 2, 0, 1, 4, 1, 2, 2, 2,
+       BOX_CLOCK, 3, 2, 0, 4, 2, 0, 3, 0, 1,
+       BOX_CLOCK, 3, 2, 0, 3, 0, 1, 2, 2, 2,
+       BOX_CLOCK, 3, 2, 0, 4, 2, 0, 3, 4, 1,
+      BOX_CLOCK, 3, 2, 0, 3, 4, 1, 2, 2, 2},
 };
 
-static gint triangles_2t[][2*9] = 
-{
+static gint triangles_2t[][2 * 9] = {
   /* 3 -> 6 */
 #define WIPE_T2_3      0
-  { 0, 0, 0,  0, 1, 1,  1, 1, 1,   
-    1, 0, 1,  0, 0, 0,  1, 1, 1 },
+  {0, 0, 0, 0, 1, 1, 1, 1, 1,
+      1, 0, 1, 0, 0, 0, 1, 1, 1},
 #define WIPE_T2_4      WIPE_T2_3+1
-  { 0, 0, 1,  1, 0, 0,  0, 1, 1, 
-    1, 0, 0,  0, 1, 1,  1, 1, 1 },
+  {0, 0, 1, 1, 0, 0, 0, 1, 1,
+      1, 0, 0, 0, 1, 1, 1, 1, 1},
 #define WIPE_T2_5      WIPE_T2_4+1
-  { 0, 0, 1,  0, 1, 1,  1, 1, 0,
-    1, 0, 1,  0, 0, 1,  1, 1, 0 },
+  {0, 0, 1, 0, 1, 1, 1, 1, 0,
+      1, 0, 1, 0, 0, 1, 1, 1, 0},
 #define WIPE_T2_6      WIPE_T2_5+1
-  { 0, 0, 1,  1, 0, 1,  0, 1, 0,
-    1, 0, 1,  0, 1, 0,  1, 1, 1 },
+  {0, 0, 1, 1, 0, 1, 0, 1, 0,
+      1, 0, 1, 0, 1, 0, 1, 1, 1},
 #define WIPE_T2_41     WIPE_T2_6+1
-  { 0, 0, 0,  1, 0, 1,  0, 1, 1,
-    1, 0, 1,  0, 1, 1,  1, 1, 2 },
+  {0, 0, 0, 1, 0, 1, 0, 1, 1,
+      1, 0, 1, 0, 1, 1, 1, 1, 2},
 #define WIPE_T2_42     WIPE_T2_41+1
-  { 0, 0, 1,  1, 0, 0,  1, 1, 1,
-    0, 0, 1,  0, 1, 2,  1, 1, 1 },
+  {0, 0, 1, 1, 0, 0, 1, 1, 1,
+      0, 0, 1, 0, 1, 2, 1, 1, 1},
 #define WIPE_T2_45     WIPE_T2_42+1
-  { 0, 0, 1,  1, 0, 0,  0, 1, 0,
-    1, 0, 0,  0, 1, 0,  1, 1, 1 },
+  {0, 0, 1, 1, 0, 0, 0, 1, 0,
+      1, 0, 0, 0, 1, 0, 1, 1, 1},
 #define WIPE_T2_46     WIPE_T2_45+1
-  { 0, 0, 0,  1, 0, 1,  1, 1, 0,
-    0, 0, 0,  0, 1, 1,  1, 1, 0 },
+  {0, 0, 0, 1, 0, 1, 1, 1, 0,
+      0, 0, 0, 0, 1, 1, 1, 1, 0},
 #define WIPE_T2_245    WIPE_T2_46+1
-  { 0, 0, 0,  2, 0, 0,  2, 2, 1,   
-    2, 2, 0,  0, 2, 0,  0, 0, 1 },
+  {0, 0, 0, 2, 0, 0, 2, 2, 1,
+      2, 2, 0, 0, 2, 0, 0, 0, 1},
 #define WIPE_T2_246    WIPE_T2_245+1
-  { 0, 2, 0,  0, 0, 0,  2, 0, 1,   
-    2, 0, 0,  2, 2, 0,  0, 2, 1 },
+  {0, 2, 0, 0, 0, 0, 2, 0, 1,
+      2, 0, 0, 2, 2, 0, 0, 2, 1},
 };
 
-static gint triangles_3t[][3*9] = 
-{
+static gint triangles_3t[][3 * 9] = {
   /* 23 -> 26 */
 #define WIPE_T3_23     0
-  { 0, 0, 1,  1, 0, 0,  0, 2, 1,   
-    1, 0, 0,  0, 2, 1,  2, 2, 1,
-    1, 0, 0,  2, 0, 1,  2, 2, 1 },
+  {0, 0, 1, 1, 0, 0, 0, 2, 1,
+       1, 0, 0, 0, 2, 1, 2, 2, 1,
+      1, 0, 0, 2, 0, 1, 2, 2, 1},
 #define WIPE_T3_24     1
-  { 0, 0, 1,  2, 0, 1,  2, 1, 0,
-    0, 0, 1,  2, 1, 0,  0, 2, 1,
-    2, 1, 0,  0, 2, 1,  2, 2, 1 },
+  {0, 0, 1, 2, 0, 1, 2, 1, 0,
+       0, 0, 1, 2, 1, 0, 0, 2, 1,
+      2, 1, 0, 0, 2, 1, 2, 2, 1},
 #define WIPE_T3_25     2
-  { 0, 0, 1,  0, 2, 1,  1, 2, 0,
-    0, 0, 1,  2, 0, 1,  1, 2, 0,
-    2, 0, 1,  1, 2, 0,  2, 2, 1 },
+  {0, 0, 1, 0, 2, 1, 1, 2, 0,
+       0, 0, 1, 2, 0, 1, 1, 2, 0,
+      2, 0, 1, 1, 2, 0, 2, 2, 1},
 #define WIPE_T3_26     3
-  { 0, 0, 1,  2, 0, 1,  0, 1, 0,
-    2, 0, 1,  0, 1, 0,  2, 2, 1,
-    0, 1, 0,  0, 2, 1,  2, 2, 1 },
+  {0, 0, 1, 2, 0, 1, 0, 1, 0,
+       2, 0, 1, 0, 1, 0, 2, 2, 1,
+      0, 1, 0, 0, 2, 1, 2, 2, 1},
 };
 
-static gint triangles_4t[][4*9] = 
-{
+static gint triangles_4t[][4 * 9] = {
 #define WIPE_T4_61     0
-  { 0, 0, 1,  1, 0, 0,  1, 2, 1,   
-    0, 0, 1,  0, 2, 2,  1, 2, 1,
-    1, 0, 0,  2, 0, 1,  1, 2, 1,
-    2, 0, 1,  1, 2, 1,  2, 2, 2 },
+  {0, 0, 1, 1, 0, 0, 1, 2, 1,
+       0, 0, 1, 0, 2, 2, 1, 2, 1,
+       1, 0, 0, 2, 0, 1, 1, 2, 1,
+      2, 0, 1, 1, 2, 1, 2, 2, 2},
 #define WIPE_T4_62     1
-  { 0, 0, 2,  2, 0, 1,  0, 1, 1,   
-    2, 0, 1,  0, 1, 1,  2, 1, 0,
-    0, 1, 1,  2, 1, 0,  2, 2, 1,
-    0, 1, 1,  0, 2, 2,  2, 2, 1 },
+  {0, 0, 2, 2, 0, 1, 0, 1, 1,
+       2, 0, 1, 0, 1, 1, 2, 1, 0,
+       0, 1, 1, 2, 1, 0, 2, 2, 1,
+      0, 1, 1, 0, 2, 2, 2, 2, 1},
 #define WIPE_T4_63     2
-  { 0, 0, 2,  1, 0, 1,  0, 2, 1,   
-    1, 0, 1,  0, 2, 1,  1, 2, 0,
-    1, 0, 1,  1, 2, 0,  2, 2, 1,
-    1, 0, 1,  2, 0, 2,  2, 2, 1 },
+  {0, 0, 2, 1, 0, 1, 0, 2, 1,
+       1, 0, 1, 0, 2, 1, 1, 2, 0,
+       1, 0, 1, 1, 2, 0, 2, 2, 1,
+      1, 0, 1, 2, 0, 2, 2, 2, 1},
 #define WIPE_T4_64     3
-  { 0, 0, 1,  2, 0, 2,  2, 1, 1,   
-    0, 0, 1,  0, 1, 0,  2, 1, 1,
-    0, 1, 0,  2, 1, 1,  0, 2, 1,
-    2, 1, 1,  0, 2, 1,  2, 2, 2 },
+  {0, 0, 1, 2, 0, 2, 2, 1, 1,
+       0, 0, 1, 0, 1, 0, 2, 1, 1,
+       0, 1, 0, 2, 1, 1, 0, 2, 1,
+      2, 1, 1, 0, 2, 1, 2, 2, 2},
 #define WIPE_T4_65     4
-  { 0, 0, 0,  1, 0, 1,  1, 2, 0,   
-    0, 0, 0,  0, 2, 1,  1, 2, 0,
-    1, 0, 1,  2, 0, 0,  1, 2, 0,
-    2, 0, 0,  1, 2, 0,  2, 2, 1 },
+  {0, 0, 0, 1, 0, 1, 1, 2, 0,
+       0, 0, 0, 0, 2, 1, 1, 2, 0,
+       1, 0, 1, 2, 0, 0, 1, 2, 0,
+      2, 0, 0, 1, 2, 0, 2, 2, 1},
 #define WIPE_T4_66     5
-  { 0, 0, 1,  2, 0, 0,  0, 1, 0,   
-    2, 0, 0,  0, 1, 0,  2, 1, 1,
-    0, 1, 0,  2, 1, 1,  2, 2, 0,
-    0, 1, 0,  0, 2, 1,  2, 2, 0 },
+  {0, 0, 1, 2, 0, 0, 0, 1, 0,
+       2, 0, 0, 0, 1, 0, 2, 1, 1,
+       0, 1, 0, 2, 1, 1, 2, 2, 0,
+      0, 1, 0, 0, 2, 1, 2, 2, 0},
 #define WIPE_T4_67     6
-  { 0, 0, 1,  1, 0, 0,  0, 2, 0,   
-    1, 0, 0,  0, 2, 0,  1, 2, 1,
-    1, 0, 0,  1, 2, 1,  2, 2, 0,
-    1, 0, 0,  2, 0, 1,  2, 2, 0 },
+  {0, 0, 1, 1, 0, 0, 0, 2, 0,
+       1, 0, 0, 0, 2, 0, 1, 2, 1,
+       1, 0, 0, 1, 2, 1, 2, 2, 0,
+      1, 0, 0, 2, 0, 1, 2, 2, 0},
 #define WIPE_T4_68     7
-  { 0, 0, 0,  2, 0, 1,  2, 1, 0,   
-    0, 0, 0,  0, 1, 1,  2, 1, 0,
-    0, 1, 1,  2, 1, 0,  0, 2, 0,
-    2, 1, 0,  0, 2, 0,  2, 2, 1 },
+  {0, 0, 0, 2, 0, 1, 2, 1, 0,
+       0, 0, 0, 0, 1, 1, 2, 1, 0,
+       0, 1, 1, 2, 1, 0, 0, 2, 0,
+      2, 1, 0, 0, 2, 0, 2, 2, 1},
 #define WIPE_T4_101    8
-  { 0, 0, 1,  2, 0, 1,  1, 1, 0,   
-    0, 0, 1,  1, 1, 0,  0, 2, 1,
-    1, 1, 0,  0, 2, 1,  2, 2, 1,
-    2, 0, 1,  1, 1, 0,  2, 2, 1 },
+  {0, 0, 1, 2, 0, 1, 1, 1, 0,
+       0, 0, 1, 1, 1, 0, 0, 2, 1,
+       1, 1, 0, 0, 2, 1, 2, 2, 1,
+      2, 0, 1, 1, 1, 0, 2, 2, 1},
 };
 
-static gint triangles_8t[][8*9] = 
-{
+static gint triangles_8t[][8 * 9] = {
   /* 7 */
 #define WIPE_T8_7      0
-  { 0, 0, 0,  1, 0, 1,  1, 1, 1,   
-    1, 0, 1,  2, 0, 0,  1, 1, 1,
-    2, 0, 0,  1, 1, 1,  2, 1, 1,
-    1, 1, 1,  2, 1, 1,  2, 2, 0,
-    1, 1, 1,  1, 2, 1,  2, 2, 0,
-    1, 1, 1,  0, 2, 0,  1, 2, 1,
-    0, 1, 1,  1, 1, 1,  0, 2, 0,
-    0, 0, 0,  0, 1, 1,  1, 1, 1 },
+  {0, 0, 0, 1, 0, 1, 1, 1, 1,
+       1, 0, 1, 2, 0, 0, 1, 1, 1,
+       2, 0, 0, 1, 1, 1, 2, 1, 1,
+       1, 1, 1, 2, 1, 1, 2, 2, 0,
+       1, 1, 1, 1, 2, 1, 2, 2, 0,
+       1, 1, 1, 0, 2, 0, 1, 2, 1,
+       0, 1, 1, 1, 1, 1, 0, 2, 0,
+      0, 0, 0, 0, 1, 1, 1, 1, 1},
 #define WIPE_T8_43     1
-  { 0, 0, 1,  1, 0, 0,  1, 1, 1,   
-    1, 0, 0,  2, 0, 1,  1, 1, 1,
-    2, 0, 1,  1, 1, 1,  2, 1, 2,
-    1, 1, 1,  2, 1, 2,  2, 2, 1,
-    1, 1, 1,  1, 2, 0,  2, 2, 1,
-    1, 1, 1,  0, 2, 1,  1, 2, 0,
-    0, 1, 2,  1, 1, 1,  0, 2, 1,
-    0, 0, 1,  0, 1, 2,  1, 1, 1 },
+  {0, 0, 1, 1, 0, 0, 1, 1, 1,
+       1, 0, 0, 2, 0, 1, 1, 1, 1,
+       2, 0, 1, 1, 1, 1, 2, 1, 2,
+       1, 1, 1, 2, 1, 2, 2, 2, 1,
+       1, 1, 1, 1, 2, 0, 2, 2, 1,
+       1, 1, 1, 0, 2, 1, 1, 2, 0,
+       0, 1, 2, 1, 1, 1, 0, 2, 1,
+      0, 0, 1, 0, 1, 2, 1, 1, 1},
 #define WIPE_T8_44     2
-  { 0, 0, 1,  1, 0, 2,  1, 1, 1,   
-    1, 0, 2,  2, 0, 1,  1, 1, 1,
-    2, 0, 1,  1, 1, 1,  2, 1, 0,
-    1, 1, 1,  2, 1, 0,  2, 2, 1,
-    1, 1, 1,  1, 2, 2,  2, 2, 1,
-    1, 1, 1,  0, 2, 1,  1, 2, 2,
-    0, 1, 0,  1, 1, 1,  0, 2, 1,
-    0, 0, 1,  0, 1, 0,  1, 1, 1 },
+  {0, 0, 1, 1, 0, 2, 1, 1, 1,
+       1, 0, 2, 2, 0, 1, 1, 1, 1,
+       2, 0, 1, 1, 1, 1, 2, 1, 0,
+       1, 1, 1, 2, 1, 0, 2, 2, 1,
+       1, 1, 1, 1, 2, 2, 2, 2, 1,
+       1, 1, 1, 0, 2, 1, 1, 2, 2,
+       0, 1, 0, 1, 1, 1, 0, 2, 1,
+      0, 0, 1, 0, 1, 0, 1, 1, 1},
 #define WIPE_T8_47     3
-  { 0, 0, 0,  1, 0, 1,  1, 1, 0,   
-    1, 0, 1,  2, 0, 0,  1, 1, 0,
-    2, 0, 0,  1, 1, 0,  2, 1, 1,
-    1, 1, 0,  2, 1, 1,  2, 2, 0,
-    1, 1, 0,  1, 2, 1,  2, 2, 0,
-    1, 1, 0,  0, 2, 0,  1, 2, 1,
-    0, 1, 1,  1, 1, 0,  0, 2, 0,
-    0, 0, 0,  0, 1, 1,  1, 1, 0 },
+  {0, 0, 0, 1, 0, 1, 1, 1, 0,
+       1, 0, 1, 2, 0, 0, 1, 1, 0,
+       2, 0, 0, 1, 1, 0, 2, 1, 1,
+       1, 1, 0, 2, 1, 1, 2, 2, 0,
+       1, 1, 0, 1, 2, 1, 2, 2, 0,
+       1, 1, 0, 0, 2, 0, 1, 2, 1,
+       0, 1, 1, 1, 1, 0, 0, 2, 0,
+      0, 0, 0, 0, 1, 1, 1, 1, 0},
 #define WIPE_T8_48     4
-  { 0, 0, 1,  1, 0, 0,  0, 1, 0,   
-    1, 0, 0,  0, 1, 0,  1, 1, 1,
-    1, 0, 0,  2, 0, 1,  2, 1, 0,
-    1, 0, 0,  1, 1, 1,  2, 1, 0,
-    0, 1, 0,  1, 1, 1,  1, 2, 0,
-    0, 1, 0,  0, 2, 1,  1, 2, 0,
-    1, 1, 1,  2, 1, 0,  1, 2, 0,
-    2, 1, 0,  1, 2, 0,  2, 2, 1 },
+  {0, 0, 1, 1, 0, 0, 0, 1, 0,
+       1, 0, 0, 0, 1, 0, 1, 1, 1,
+       1, 0, 0, 2, 0, 1, 2, 1, 0,
+       1, 0, 0, 1, 1, 1, 2, 1, 0,
+       0, 1, 0, 1, 1, 1, 1, 2, 0,
+       0, 1, 0, 0, 2, 1, 1, 2, 0,
+       1, 1, 1, 2, 1, 0, 1, 2, 0,
+      2, 1, 0, 1, 2, 0, 2, 2, 1},
 };
 
-static gint triangles_16t[][16*9] = 
-{
+static gint triangles_16t[][16 * 9] = {
   /* 8 */
 #define WIPE_T16_8     0
-  { 0, 0, 1,  2, 0, 1,  1, 1, 0,   
-    2, 0, 1,  1, 1, 0,  2, 2, 1,
-    1, 1, 0,  0, 2, 1,  2, 2, 1,
-    0, 0, 1,  1, 1, 0,  0, 2, 1,
-    2, 0, 1,  4, 0, 1,  3, 1, 0,   
-    4, 0, 1,  3, 1, 0,  4, 2, 1,
-    3, 1, 0,  2, 2, 1,  4, 2, 1,
-    2, 0, 1,  3, 1, 0,  2, 2, 1,
-    0, 2, 1,  2, 2, 1,  1, 3, 0,   
-    2, 2, 1,  1, 3, 0,  2, 4, 1,
-    1, 3, 0,  0, 4, 1,  2, 4, 1,
-    0, 2, 1,  1, 3, 0,  0, 4, 1,
-    2, 2, 1,  4, 2, 1,  3, 3, 0,   
-    4, 2, 1,  3, 3, 0,  4, 4, 1,
-    3, 3, 0,  2, 4, 1,  4, 4, 1,
-    2, 2, 1,  3, 3, 0,  2, 4, 1 }
+  {0, 0, 1, 2, 0, 1, 1, 1, 0,
+       2, 0, 1, 1, 1, 0, 2, 2, 1,
+       1, 1, 0, 0, 2, 1, 2, 2, 1,
+       0, 0, 1, 1, 1, 0, 0, 2, 1,
+       2, 0, 1, 4, 0, 1, 3, 1, 0,
+       4, 0, 1, 3, 1, 0, 4, 2, 1,
+       3, 1, 0, 2, 2, 1, 4, 2, 1,
+       2, 0, 1, 3, 1, 0, 2, 2, 1,
+       0, 2, 1, 2, 2, 1, 1, 3, 0,
+       2, 2, 1, 1, 3, 0, 2, 4, 1,
+       1, 3, 0, 0, 4, 1, 2, 4, 1,
+       0, 2, 1, 1, 3, 0, 0, 4, 1,
+       2, 2, 1, 4, 2, 1, 3, 3, 0,
+       4, 2, 1, 3, 3, 0, 4, 4, 1,
+       3, 3, 0, 2, 4, 1, 4, 4, 1,
+      2, 2, 1, 3, 3, 0, 2, 4, 1}
 };
 
 typedef struct _GstWipeConfig GstWipeConfig;
 
-struct _GstWipeConfig {
-  gint         *objects;
-  gint   nobjects;
-  gint   xscale;
-  gint   yscale;
-  gint   cscale;
+struct _GstWipeConfig
+{
+  gint *objects;
+  gint nobjects;
+  gint xscale;
+  gint yscale;
+  gint cscale;
 };
 
-static GstWipeConfig wipe_config[] = 
-{
+static GstWipeConfig wipe_config[] = {
 #define WIPE_CONFIG_1  0
-  { boxes_1b[WIPE_B1_1],       1,  0, 0, 0 }, /* 1 */
+  {boxes_1b[WIPE_B1_1], 1, 0, 0, 0},   /* 1 */
 #define WIPE_CONFIG_2  WIPE_CONFIG_1+1
-  { boxes_1b[WIPE_B1_2],       1,  0, 0, 0 }, /* 2 */
+  {boxes_1b[WIPE_B1_2], 1, 0, 0, 0},   /* 2 */
 #define WIPE_CONFIG_3  WIPE_CONFIG_2+1
-  { triangles_2t[WIPE_T2_3],   2,  0, 0, 0 }, /* 3 */
+  {triangles_2t[WIPE_T2_3], 2, 0, 0, 0},       /* 3 */
 #define WIPE_CONFIG_4  WIPE_CONFIG_3+1
-  { triangles_2t[WIPE_T2_4],   2,  0, 0, 0 }, /* 4 */
+  {triangles_2t[WIPE_T2_4], 2, 0, 0, 0},       /* 4 */
 #define WIPE_CONFIG_5  WIPE_CONFIG_4+1
-  { triangles_2t[WIPE_T2_5],   2,  0, 0, 0 }, /* 5 */
+  {triangles_2t[WIPE_T2_5], 2, 0, 0, 0},       /* 5 */
 #define WIPE_CONFIG_6  WIPE_CONFIG_5+1
-  { triangles_2t[WIPE_T2_6],   2,  0, 0, 0 }, /* 6 */
+  {triangles_2t[WIPE_T2_6], 2, 0, 0, 0},       /* 6 */
 #define WIPE_CONFIG_7  WIPE_CONFIG_6+1
-  { triangles_8t[WIPE_T8_7],   8,  1, 1, 0 }, /* 7 */
+  {triangles_8t[WIPE_T8_7], 8, 1, 1, 0},       /* 7 */
 #define WIPE_CONFIG_8  WIPE_CONFIG_7+1
-  { triangles_16t[WIPE_T16_8], 16, 2, 2, 0 }, /* 8 */
+  {triangles_16t[WIPE_T16_8], 16, 2, 2, 0},    /* 8 */
 
 #define WIPE_CONFIG_21 WIPE_CONFIG_8+1
-  { boxes_2b[WIPE_B2_21],      2, 1, 1, 0 }, /* 21 */
+  {boxes_2b[WIPE_B2_21], 2, 1, 1, 0},  /* 21 */
 #define WIPE_CONFIG_22 WIPE_CONFIG_21+1
-  { boxes_2b[WIPE_B2_22],      2, 1, 1, 0 }, /* 22 */
+  {boxes_2b[WIPE_B2_22], 2, 1, 1, 0},  /* 22 */
 
 #define WIPE_CONFIG_23 WIPE_CONFIG_22+1
-  { triangles_3t[WIPE_T3_23],   3,  1, 1, 0 }, /* 23 */
+  {triangles_3t[WIPE_T3_23], 3, 1, 1, 0},      /* 23 */
 #define WIPE_CONFIG_24 WIPE_CONFIG_23+1
-  { triangles_3t[WIPE_T3_24],   3,  1, 1, 0 }, /* 24 */
+  {triangles_3t[WIPE_T3_24], 3, 1, 1, 0},      /* 24 */
 #define WIPE_CONFIG_25 WIPE_CONFIG_24+1
-  { triangles_3t[WIPE_T3_23],   3,  1, 1, 0 }, /* 25 */
+  {triangles_3t[WIPE_T3_23], 3, 1, 1, 0},      /* 25 */
 #define WIPE_CONFIG_26 WIPE_CONFIG_25+1
-  { triangles_3t[WIPE_T3_26],   3,  1, 1, 0 }, /* 26 */
+  {triangles_3t[WIPE_T3_26], 3, 1, 1, 0},      /* 26 */
 #define WIPE_CONFIG_41 WIPE_CONFIG_26+1
-  { triangles_2t[WIPE_T2_41],   2,  0, 0, 1 }, /* 41 */
+  {triangles_2t[WIPE_T2_41], 2, 0, 0, 1},      /* 41 */
 #define WIPE_CONFIG_42 WIPE_CONFIG_41+1
-  { triangles_2t[WIPE_T2_42],   2,  0, 0, 1 }, /* 42 */
+  {triangles_2t[WIPE_T2_42], 2, 0, 0, 1},      /* 42 */
 #define WIPE_CONFIG_43 WIPE_CONFIG_42+1
-  { triangles_8t[WIPE_T8_43],   8,  1, 1, 1 }, /* 43 */
+  {triangles_8t[WIPE_T8_43], 8, 1, 1, 1},      /* 43 */
 #define WIPE_CONFIG_44 WIPE_CONFIG_43+1
-  { triangles_8t[WIPE_T8_44],   8,  1, 1, 1 }, /* 44 */
+  {triangles_8t[WIPE_T8_44], 8, 1, 1, 1},      /* 44 */
 #define WIPE_CONFIG_45 WIPE_CONFIG_44+1
-  { triangles_2t[WIPE_T2_45],   2,  0, 0, 0 }, /* 45 */
+  {triangles_2t[WIPE_T2_45], 2, 0, 0, 0},      /* 45 */
 #define WIPE_CONFIG_46 WIPE_CONFIG_45+1
-  { triangles_2t[WIPE_T2_46],   2,  0, 0, 0 }, /* 46 */
+  {triangles_2t[WIPE_T2_46], 2, 0, 0, 0},      /* 46 */
 #define WIPE_CONFIG_47 WIPE_CONFIG_46+1
-  { triangles_8t[WIPE_T8_47],   8,  1, 1, 0 }, /* 47 */
+  {triangles_8t[WIPE_T8_47], 8, 1, 1, 0},      /* 47 */
 #define WIPE_CONFIG_48 WIPE_CONFIG_47+1
-  { triangles_8t[WIPE_T8_48],   8,  1, 1, 0 }, /* 48 */
+  {triangles_8t[WIPE_T8_48], 8, 1, 1, 0},      /* 48 */
 #define WIPE_CONFIG_61 WIPE_CONFIG_48+1
-  { triangles_4t[WIPE_T4_61],   4,  1, 1, 1 }, /* 61 */
+  {triangles_4t[WIPE_T4_61], 4, 1, 1, 1},      /* 61 */
 #define WIPE_CONFIG_62 WIPE_CONFIG_61+1
-  { triangles_4t[WIPE_T4_62],   4,  1, 1, 1 }, /* 62 */
+  {triangles_4t[WIPE_T4_62], 4, 1, 1, 1},      /* 62 */
 #define WIPE_CONFIG_63 WIPE_CONFIG_62+1
-  { triangles_4t[WIPE_T4_63],   4,  1, 1, 1 }, /* 63 */
+  {triangles_4t[WIPE_T4_63], 4, 1, 1, 1},      /* 63 */
 #define WIPE_CONFIG_64 WIPE_CONFIG_63+1
-  { triangles_4t[WIPE_T4_64],   4,  1, 1, 1 }, /* 64 */
+  {triangles_4t[WIPE_T4_64], 4, 1, 1, 1},      /* 64 */
 #define WIPE_CONFIG_65 WIPE_CONFIG_64+1
-  { triangles_4t[WIPE_T4_65],   4,  1, 1, 0 }, /* 65 */
+  {triangles_4t[WIPE_T4_65], 4, 1, 1, 0},      /* 65 */
 #define WIPE_CONFIG_66 WIPE_CONFIG_65+1
-  { triangles_4t[WIPE_T4_66],   4,  1, 1, 0 }, /* 66 */
+  {triangles_4t[WIPE_T4_66], 4, 1, 1, 0},      /* 66 */
 #define WIPE_CONFIG_67 WIPE_CONFIG_66+1
-  { triangles_4t[WIPE_T4_67],   4,  1, 1, 0 }, /* 67 */
+  {triangles_4t[WIPE_T4_67], 4, 1, 1, 0},      /* 67 */
 #define WIPE_CONFIG_68 WIPE_CONFIG_67+1
-  { triangles_4t[WIPE_T4_68],   4,  1, 1, 0 }, /* 68 */
+  {triangles_4t[WIPE_T4_68], 4, 1, 1, 0},      /* 68 */
 #define WIPE_CONFIG_101        WIPE_CONFIG_68+1
-  { triangles_4t[WIPE_T4_101],  4,  1, 1, 0 }, /* 101 */
+  {triangles_4t[WIPE_T4_101], 4, 1, 1, 0},     /* 101 */
 #define WIPE_CONFIG_201        WIPE_CONFIG_101+1
-  { box_clock_4b[WIPE_B4_201],  4,  1, 1, 2 }, /* 201 */
+  {box_clock_4b[WIPE_B4_201], 4, 1, 1, 2},     /* 201 */
 #define WIPE_CONFIG_202        WIPE_CONFIG_201+1
-  { box_clock_4b[WIPE_B4_202],  4,  1, 1, 2 }, /* 202 */
+  {box_clock_4b[WIPE_B4_202], 4, 1, 1, 2},     /* 202 */
 #define WIPE_CONFIG_203        WIPE_CONFIG_202+1
-  { box_clock_4b[WIPE_B4_203],  4,  1, 1, 2 }, /* 203 */
+  {box_clock_4b[WIPE_B4_203], 4, 1, 1, 2},     /* 203 */
 #define WIPE_CONFIG_204        WIPE_CONFIG_203+1
-  { box_clock_4b[WIPE_B4_204],  4,  1, 1, 2 }, /* 204 */
+  {box_clock_4b[WIPE_B4_204], 4, 1, 1, 2},     /* 204 */
 #define WIPE_CONFIG_205        WIPE_CONFIG_204+1
-  { box_clock_4b[WIPE_B4_205],  4,  1, 1, 1 }, /* 205 */
+  {box_clock_4b[WIPE_B4_205], 4, 1, 1, 1},     /* 205 */
 #define WIPE_CONFIG_206        WIPE_CONFIG_205+1
-  { box_clock_4b[WIPE_B4_206],  4,  1, 1, 1 }, /* 206 */
+  {box_clock_4b[WIPE_B4_206], 4, 1, 1, 1},     /* 206 */
 #define WIPE_CONFIG_207        WIPE_CONFIG_206+1
-  { box_clock_4b[WIPE_B4_207],  4,  1, 1, 0 }, /* 207 */
+  {box_clock_4b[WIPE_B4_207], 4, 1, 1, 0},     /* 207 */
 #define WIPE_CONFIG_211        WIPE_CONFIG_207+1
-  { box_clock_4b[WIPE_B4_211],  4,  1, 1, 1 }, /* 211 */
+  {box_clock_4b[WIPE_B4_211], 4, 1, 1, 1},     /* 211 */
 #define WIPE_CONFIG_212        WIPE_CONFIG_211+1
-  { box_clock_4b[WIPE_B4_212],  4,  1, 1, 1 }, /* 212 */
+  {box_clock_4b[WIPE_B4_212], 4, 1, 1, 1},     /* 212 */
 #define WIPE_CONFIG_213        WIPE_CONFIG_212+1
-  { box_clock_4b[WIPE_B4_213],  4,  1, 1, 0 }, /* 213 */
+  {box_clock_4b[WIPE_B4_213], 4, 1, 1, 0},     /* 213 */
 #define WIPE_CONFIG_214        WIPE_CONFIG_213+1
-  { box_clock_4b[WIPE_B4_214],  4,  1, 1, 0 }, /* 214 */
+  {box_clock_4b[WIPE_B4_214], 4, 1, 1, 0},     /* 214 */
 #define WIPE_CONFIG_221        WIPE_CONFIG_214+1
-  { box_clock_2b[WIPE_B2_221],  2,  1, 1, 1 }, /* 221 */
+  {box_clock_2b[WIPE_B2_221], 2, 1, 1, 1},     /* 221 */
 #define WIPE_CONFIG_222        WIPE_CONFIG_221+1
-  { box_clock_2b[WIPE_B2_222],  2,  1, 1, 1 }, /* 222 */
+  {box_clock_2b[WIPE_B2_222], 2, 1, 1, 1},     /* 222 */
 #define WIPE_CONFIG_223        WIPE_CONFIG_222+1
-  { box_clock_2b[WIPE_B2_223],  2,  1, 1, 1 }, /* 223 */
+  {box_clock_2b[WIPE_B2_223], 2, 1, 1, 1},     /* 223 */
 #define WIPE_CONFIG_224        WIPE_CONFIG_223+1
-  { box_clock_2b[WIPE_B2_224],  2,  1, 1, 1 }, /* 224 */
+  {box_clock_2b[WIPE_B2_224], 2, 1, 1, 1},     /* 224 */
 #define WIPE_CONFIG_225        WIPE_CONFIG_224+1
-  { box_clock_2b[WIPE_B2_225],  2,  1, 1, 0 }, /* 225 */
+  {box_clock_2b[WIPE_B2_225], 2, 1, 1, 0},     /* 225 */
 #define WIPE_CONFIG_226        WIPE_CONFIG_225+1
-  { box_clock_2b[WIPE_B2_226],  2,  1, 1, 0 }, /* 226 */
+  {box_clock_2b[WIPE_B2_226], 2, 1, 1, 0},     /* 226 */
 #define WIPE_CONFIG_227        WIPE_CONFIG_226+1
-  { box_clock_4b[WIPE_B4_227],  4,  1, 1, 1 }, /* 227 */
+  {box_clock_4b[WIPE_B4_227], 4, 1, 1, 1},     /* 227 */
 #define WIPE_CONFIG_228        WIPE_CONFIG_227+1
-  { box_clock_4b[WIPE_B4_228],  4,  1, 1, 1 }, /* 228 */
+  {box_clock_4b[WIPE_B4_228], 4, 1, 1, 1},     /* 228 */
 #define WIPE_CONFIG_231        WIPE_CONFIG_228+1
-  { box_clock_2b[WIPE_B2_231],  2,  1, 1, 0 }, /* 231 */
+  {box_clock_2b[WIPE_B2_231], 2, 1, 1, 0},     /* 231 */
 #define WIPE_CONFIG_232        WIPE_CONFIG_231+1
-  { box_clock_2b[WIPE_B2_232],  2,  1, 1, 0 }, /* 232 */
+  {box_clock_2b[WIPE_B2_232], 2, 1, 1, 0},     /* 232 */
 #define WIPE_CONFIG_233        WIPE_CONFIG_232+1
-  { box_clock_2b[WIPE_B2_233],  2,  1, 1, 0 }, /* 233 */
+  {box_clock_2b[WIPE_B2_233], 2, 1, 1, 0},     /* 233 */
 #define WIPE_CONFIG_234        WIPE_CONFIG_233+1
-  { box_clock_2b[WIPE_B2_234],  2,  1, 1, 0 }, /* 234 */
+  {box_clock_2b[WIPE_B2_234], 2, 1, 1, 0},     /* 234 */
 #define WIPE_CONFIG_235        WIPE_CONFIG_234+1
-  { box_clock_4b[WIPE_B4_235],  4,  1, 1, 0 }, /* 235 */
+  {box_clock_4b[WIPE_B4_235], 4, 1, 1, 0},     /* 235 */
 #define WIPE_CONFIG_236        WIPE_CONFIG_235+1
-  { box_clock_4b[WIPE_B4_236],  4,  1, 1, 0 }, /* 236 */
+  {box_clock_4b[WIPE_B4_236], 4, 1, 1, 0},     /* 236 */
 #define WIPE_CONFIG_241        WIPE_CONFIG_236+1
-  { box_clock_1b[WIPE_B1_241],  1,  0, 0, 0 }, /* 241 */
+  {box_clock_1b[WIPE_B1_241], 1, 0, 0, 0},     /* 241 */
 #define WIPE_CONFIG_242        WIPE_CONFIG_241+1
-  { box_clock_1b[WIPE_B1_242],  1,  0, 0, 0 }, /* 242 */
+  {box_clock_1b[WIPE_B1_242], 1, 0, 0, 0},     /* 242 */
 #define WIPE_CONFIG_243        WIPE_CONFIG_242+1
-  { box_clock_1b[WIPE_B1_243],  1,  0, 0, 0 }, /* 243 */
+  {box_clock_1b[WIPE_B1_243], 1, 0, 0, 0},     /* 243 */
 #define WIPE_CONFIG_244        WIPE_CONFIG_243+1
-  { box_clock_1b[WIPE_B1_244],  1,  0, 0, 0 }, /* 244 */
+  {box_clock_1b[WIPE_B1_244], 1, 0, 0, 0},     /* 244 */
 #define WIPE_CONFIG_245        WIPE_CONFIG_244+1
-  { triangles_2t[WIPE_T2_245],  2,  1, 1, 0 }, /* 245 */
+  {triangles_2t[WIPE_T2_245], 2, 1, 1, 0},     /* 245 */
 #define WIPE_CONFIG_246        WIPE_CONFIG_245+1
-  { triangles_2t[WIPE_T2_246],  2,  1, 1, 0 }, /* 246 */
+  {triangles_2t[WIPE_T2_246], 2, 1, 1, 0},     /* 246 */
 #define WIPE_CONFIG_251        WIPE_CONFIG_246+1
-  { box_clock_2b[WIPE_B2_251],  2,  1, 1, 0 }, /* 251 */
+  {box_clock_2b[WIPE_B2_251], 2, 1, 1, 0},     /* 251 */
 #define WIPE_CONFIG_252        WIPE_CONFIG_251+1
-  { box_clock_2b[WIPE_B2_252],  2,  1, 1, 0 }, /* 252 */
+  {box_clock_2b[WIPE_B2_252], 2, 1, 1, 0},     /* 252 */
 #define WIPE_CONFIG_253        WIPE_CONFIG_252+1
-  { box_clock_2b[WIPE_B2_253],  2,  1, 1, 0 }, /* 253 */
+  {box_clock_2b[WIPE_B2_253], 2, 1, 1, 0},     /* 253 */
 #define WIPE_CONFIG_254        WIPE_CONFIG_253+1
-  { box_clock_2b[WIPE_B2_254],  2,  1, 1, 0 }, /* 254 */
+  {box_clock_2b[WIPE_B2_254], 2, 1, 1, 0},     /* 254 */
 
 #define WIPE_CONFIG_261        WIPE_CONFIG_254+1
-  { box_clock_8b[WIPE_B8_261],  8,  2, 2, 2 }, /* 261 */
+  {box_clock_8b[WIPE_B8_261], 8, 2, 2, 2},     /* 261 */
 #define WIPE_CONFIG_262        WIPE_CONFIG_261+1
-  { box_clock_8b[WIPE_B8_262],  8,  2, 2, 2 }, /* 262 */
+  {box_clock_8b[WIPE_B8_262], 8, 2, 2, 2},     /* 262 */
 #define WIPE_CONFIG_263        WIPE_CONFIG_262+1
-  { box_clock_8b[WIPE_B8_263],  8,  2, 2, 1 }, /* 263 */
+  {box_clock_8b[WIPE_B8_263], 8, 2, 2, 1},     /* 263 */
 #define WIPE_CONFIG_264        WIPE_CONFIG_263+1
-  { box_clock_8b[WIPE_B8_264],  8,  2, 2, 1 }, /* 264 */
+  {box_clock_8b[WIPE_B8_264], 8, 2, 2, 1},     /* 264 */
 };
 
 static void
-gst_wipe_boxes_draw (GstMask *mask)
+gst_wipe_boxes_draw (GstMask * mask)
 {
   GstWipeConfig *config = mask->user_data;
   gint *impacts = config->objects;
@@ -576,30 +565,30 @@ gst_wipe_boxes_draw (GstMask *mask)
   for (i = 0; i < config->nobjects; i++) {
     switch (impacts[0]) {
       case BOX_VERTICAL:
-        gst_smpte_paint_vbox (mask->data, mask->width, 
-                         impacts[1] * width, impacts[2] * height, impacts[3] * depth,
-                         impacts[4] * width, impacts[5] * height, impacts[6] * depth);
+       gst_smpte_paint_vbox (mask->data, mask->width,
+           impacts[1] * width, impacts[2] * height, impacts[3] * depth,
+           impacts[4] * width, impacts[5] * height, impacts[6] * depth);
        impacts += 7;
-        break;
+       break;
       case BOX_HORIZONTAL:
-        gst_smpte_paint_hbox (mask->data, mask->width, 
-                         impacts[1] * width, impacts[2] * height, impacts[3] * depth,
-                         impacts[4] * width, impacts[5] * height, impacts[6] * depth);
+       gst_smpte_paint_hbox (mask->data, mask->width,
+           impacts[1] * width, impacts[2] * height, impacts[3] * depth,
+           impacts[4] * width, impacts[5] * height, impacts[6] * depth);
        impacts += 7;
       case BOX_CLOCK:
-        gst_smpte_paint_box_clock (mask->data, mask->width,
-                         impacts[1] * width, impacts[2] * height, impacts[3] * depth,
-                         impacts[4] * width, impacts[5] * height, impacts[6] * depth,
-                         impacts[7] * width, impacts[8] * height, impacts[9] * depth);
+       gst_smpte_paint_box_clock (mask->data, mask->width,
+           impacts[1] * width, impacts[2] * height, impacts[3] * depth,
+           impacts[4] * width, impacts[5] * height, impacts[6] * depth,
+           impacts[7] * width, impacts[8] * height, impacts[9] * depth);
        impacts += 10;
       default:
-        break;
+       break;
     }
   }
 }
 
 static void
-gst_wipe_triangles_clock_draw (GstMask *mask)
+gst_wipe_triangles_clock_draw (GstMask * mask)
 {
   GstWipeConfig *config = mask->user_data;
   gint *impacts = config->objects;
@@ -610,15 +599,15 @@ gst_wipe_triangles_clock_draw (GstMask *mask)
 
   for (i = 0; i < config->nobjects; i++) {
     gst_smpte_paint_triangle_clock (mask->data, mask->width,
-                          impacts[0] * width, impacts[1] * height, impacts[2] * depth,
-                          impacts[3] * width, impacts[4] * height, impacts[5] * depth,
-                          impacts[6] * width, impacts[7] * height, impacts[8] * depth);
+       impacts[0] * width, impacts[1] * height, impacts[2] * depth,
+       impacts[3] * width, impacts[4] * height, impacts[5] * depth,
+       impacts[6] * width, impacts[7] * height, impacts[8] * depth);
     impacts += 9;
   }
 }
 
 static void
-gst_wipe_triangles_draw (GstMask *mask)
+gst_wipe_triangles_draw (GstMask * mask)
 {
   GstWipeConfig *config = mask->user_data;
   gint *impacts = config->objects;
@@ -630,295 +619,295 @@ gst_wipe_triangles_draw (GstMask *mask)
 
   for (i = 0; i < config->nobjects; i++) {
     gst_smpte_paint_triangle_linear (mask->data, mask->width,
-                          impacts[0] * width, impacts[1] * height, impacts[2] * depth,
-                          impacts[3] * width, impacts[4] * height, impacts[5] * depth,
-                          impacts[6] * width, impacts[7] * height, impacts[8] * depth);
+       impacts[0] * width, impacts[1] * height, impacts[2] * depth,
+       impacts[3] * width, impacts[4] * height, impacts[5] * depth,
+       impacts[6] * width, impacts[7] * height, impacts[8] * depth);
     impacts += 9;
   }
 }
 
-static GstMaskDefinition definitions[] = { 
- { 1,  "bar_wipe_lr", 
-       "A bar moves from left to right", 
-       gst_wipe_boxes_draw, _gst_mask_default_destroy, 
-       &wipe_config[WIPE_CONFIG_1] },
- { 2,  "bar_wipe_tb", 
-       "A bar moves from top to bottom", 
-       gst_wipe_boxes_draw, _gst_mask_default_destroy, 
-       &wipe_config[WIPE_CONFIG_2] },
- { 3,  "box_wipe_tl", 
-       "A box expands from the upper-left corner to the lower-right corner", 
-       gst_wipe_triangles_draw, _gst_mask_default_destroy, 
-       &wipe_config[WIPE_CONFIG_3] },
- { 4,  "box_wipe_tr", 
-       "A box expands from the upper-right corner to the lower-left corner", 
-       gst_wipe_triangles_draw, _gst_mask_default_destroy, 
-       &wipe_config[WIPE_CONFIG_4] },
- { 5,  "box_wipe_br", 
-       "A box expands from the lower-right corner to the upper-left corner", 
-       gst_wipe_triangles_draw, _gst_mask_default_destroy, 
-       &wipe_config[WIPE_CONFIG_5] },
- { 6,  "box_wipe_bl", 
-       "A box expands from the lower-left corner to the upper-right corner", 
+static GstMaskDefinition definitions[] = {
+  {1, "bar_wipe_lr",
+       "A bar moves from left to right",
+       gst_wipe_boxes_draw, _gst_mask_default_destroy,
+      &wipe_config[WIPE_CONFIG_1]},
+  {2, "bar_wipe_tb",
+       "A bar moves from top to bottom",
+       gst_wipe_boxes_draw, _gst_mask_default_destroy,
+      &wipe_config[WIPE_CONFIG_2]},
+  {3, "box_wipe_tl",
+       "A box expands from the upper-left corner to the lower-right corner",
+       gst_wipe_triangles_draw, _gst_mask_default_destroy,
+      &wipe_config[WIPE_CONFIG_3]},
+  {4, "box_wipe_tr",
+       "A box expands from the upper-right corner to the lower-left corner",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_6] },
- { 7 , "four_box_wipe_ci", 
-       "A box shape expands from each of the four corners toward the center", 
+      &wipe_config[WIPE_CONFIG_4]},
+  {5, "box_wipe_br",
+       "A box expands from the lower-right corner to the upper-left corner",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_7] },
- { 8 , "four_box_wipe_co", 
-       "A box shape expands from the center of each quadrant toward the corners of each quadrant", 
+      &wipe_config[WIPE_CONFIG_5]},
+  {6, "box_wipe_bl",
+       "A box expands from the lower-left corner to the upper-right corner",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_8] },
- { 21, "barndoor_v",
-       "A central, vertical line splits and expands toward the left and right edges", 
-       gst_wipe_boxes_draw, _gst_mask_default_destroy, 
-       &wipe_config[WIPE_CONFIG_21] },
- { 22, "barndoor_h",
-       "A central, horizontal line splits and expands toward the top and bottom edges", 
-       gst_wipe_boxes_draw, _gst_mask_default_destroy, 
-       &wipe_config[WIPE_CONFIG_22] },
- { 23, "box_wipe_tc",
-       "A box expands from the top edge's midpoint to the bottom corners", 
+      &wipe_config[WIPE_CONFIG_6]},
+  {7, "four_box_wipe_ci",
+       "A box shape expands from each of the four corners toward the center",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_23] },
{ 24, "box_wipe_rc",
-       "A box expands from the right edge's midpoint to the left corners", 
+      &wipe_config[WIPE_CONFIG_7]},
 {8, "four_box_wipe_co",
+       "A box shape expands from the center of each quadrant toward the corners of each quadrant",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_24] },
- { 25, "box_wipe_bc",
-       "A box expands from the bottom edge's midpoint to the top corners", 
+      &wipe_config[WIPE_CONFIG_8]},
+  {21, "barndoor_v",
+       "A central, vertical line splits and expands toward the left and right edges",
+       gst_wipe_boxes_draw, _gst_mask_default_destroy,
+      &wipe_config[WIPE_CONFIG_21]},
+  {22, "barndoor_h",
+       "A central, horizontal line splits and expands toward the top and bottom edges",
+       gst_wipe_boxes_draw, _gst_mask_default_destroy,
+      &wipe_config[WIPE_CONFIG_22]},
+  {23, "box_wipe_tc",
+       "A box expands from the top edge's midpoint to the bottom corners",
+       gst_wipe_triangles_draw, _gst_mask_default_destroy,
+      &wipe_config[WIPE_CONFIG_23]},
+  {24, "box_wipe_rc",
+       "A box expands from the right edge's midpoint to the left corners",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_25] },
{ 26, "box_wipe_lc",
-       "A box expands from the left edge's midpoint to the right corners", 
+      &wipe_config[WIPE_CONFIG_24]},
 {25, "box_wipe_bc",
+       "A box expands from the bottom edge's midpoint to the top corners",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_26] },
{ 41, "diagonal_tl",
-       "A diagonal line moves from the upper-left corner to the lower-right corner", 
+      &wipe_config[WIPE_CONFIG_25]},
 {26, "box_wipe_lc",
+       "A box expands from the left edge's midpoint to the right corners",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_41] },
{ 42, "diagonal_tr",
-       "A diagonal line moves from the upper right corner to the lower-left corner", 
+      &wipe_config[WIPE_CONFIG_26]},
 {41, "diagonal_tl",
+       "A diagonal line moves from the upper-left corner to the lower-right corner",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_42] },
{ 43, "bowtie_v",
-       "Two wedge shapes slide in from the top and bottom edges toward the center", 
+      &wipe_config[WIPE_CONFIG_41]},
 {42, "diagonal_tr",
+       "A diagonal line moves from the upper right corner to the lower-left corner",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_43] },
{ 44, "bowtie_h",
-       "Two wedge shapes slide in from the left and right edges toward the center", 
+      &wipe_config[WIPE_CONFIG_42]},
 {43, "bowtie_v",
+       "Two wedge shapes slide in from the top and bottom edges toward the center",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_44] },
{ 45, "barndoor_dbl",
-       "A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners", 
+      &wipe_config[WIPE_CONFIG_43]},
 {44, "bowtie_h",
+       "Two wedge shapes slide in from the left and right edges toward the center",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_45] },
{ 46, "barndoor_dtl",
-       "A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners", 
+      &wipe_config[WIPE_CONFIG_44]},
 {45, "barndoor_dbl",
+       "A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_46] },
{ 47, "misc_diagonal_dbd",
-       "Four wedge shapes split from the center and retract toward the four edges", 
+      &wipe_config[WIPE_CONFIG_45]},
 {46, "barndoor_dtl",
+       "A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_47] },
{ 48, "misc_diagonal_dd",
-       "A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges", 
+      &wipe_config[WIPE_CONFIG_46]},
 {47, "misc_diagonal_dbd",
+       "Four wedge shapes split from the center and retract toward the four edges",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_48] },
{ 61, "vee_d",
-       "A wedge shape moves from top to bottom", 
+      &wipe_config[WIPE_CONFIG_47]},
 {48, "misc_diagonal_dd",
+       "A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_61] },
{ 62, "vee_l",
-       "A wedge shape moves from right to left", 
+      &wipe_config[WIPE_CONFIG_48]},
 {61, "vee_d",
+       "A wedge shape moves from top to bottom",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_62] },
{ 63, "vee_u",
-       "A wedge shape moves from bottom to top", 
+      &wipe_config[WIPE_CONFIG_61]},
 {62, "vee_l",
+       "A wedge shape moves from right to left",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_63] },
{ 64, "vee_r",
-       "A wedge shape moves from left to right", 
+      &wipe_config[WIPE_CONFIG_62]},
 {63, "vee_u",
+       "A wedge shape moves from bottom to top",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_64] },
{ 65, "barnvee_d",
-       "A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", 
+      &wipe_config[WIPE_CONFIG_63]},
 {64, "vee_r",
+       "A wedge shape moves from left to right",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_65] },
{ 66, "barnvee_l",
-       "A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", 
+      &wipe_config[WIPE_CONFIG_64]},
 {65, "barnvee_d",
+       "A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_66] },
{ 67, "barnvee_u",
-       "A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", 
+      &wipe_config[WIPE_CONFIG_65]},
 {66, "barnvee_l",
+       "A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_67] },
{ 68, "barnvee_r",
-       "A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges", 
+      &wipe_config[WIPE_CONFIG_66]},
 {67, "barnvee_u",
+       "A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_68] },
{ 101, "iris_rect",
-       "A rectangle expands from the center.", 
+      &wipe_config[WIPE_CONFIG_67]},
 {68, "barnvee_r",
+       "A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges",
        gst_wipe_triangles_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_101] },
- { 201, "clock_cw12",
-       "A radial hand sweeps clockwise from the twelve o'clock position", 
+      &wipe_config[WIPE_CONFIG_68]},
+  {101, "iris_rect",
+       "A rectangle expands from the center.",
+       gst_wipe_triangles_draw, _gst_mask_default_destroy,
+      &wipe_config[WIPE_CONFIG_101]},
+  {201, "clock_cw12",
+       "A radial hand sweeps clockwise from the twelve o'clock position",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_201] },
202, "clock_cw3",
-       "A radial hand sweeps clockwise from the three o'clock position", 
+      &wipe_config[WIPE_CONFIG_201]},
 {202, "clock_cw3",
+       "A radial hand sweeps clockwise from the three o'clock position",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_202] },
203, "clock_cw6",
-       "A radial hand sweeps clockwise from the six o'clock position", 
+      &wipe_config[WIPE_CONFIG_202]},
 {203, "clock_cw6",
+       "A radial hand sweeps clockwise from the six o'clock position",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_203] },
204, "clock_cw9",
-       "A radial hand sweeps clockwise from the nine o'clock position", 
+      &wipe_config[WIPE_CONFIG_203]},
 {204, "clock_cw9",
+       "A radial hand sweeps clockwise from the nine o'clock position",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_204] },
205, "pinwheel_tbv",
-       "Two radial hands sweep clockwise from the twelve and six o'clock positions", 
+      &wipe_config[WIPE_CONFIG_204]},
 {205, "pinwheel_tbv",
+       "Two radial hands sweep clockwise from the twelve and six o'clock positions",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_205] },
206, "pinwheel_tbh",
-       "Two radial hands sweep clockwise from the nine and three o'clock positions", 
+      &wipe_config[WIPE_CONFIG_205]},
 {206, "pinwheel_tbh",
+       "Two radial hands sweep clockwise from the nine and three o'clock positions",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_206] },
207, "pinwheel_fb",
-       "Four radial hands sweep clockwise", 
+      &wipe_config[WIPE_CONFIG_206]},
 {207, "pinwheel_fb",
+       "Four radial hands sweep clockwise",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_207] },
211, "fan_ct",
-       "A fan unfolds from the top edge, the fan axis at the center", 
+      &wipe_config[WIPE_CONFIG_207]},
 {211, "fan_ct",
+       "A fan unfolds from the top edge, the fan axis at the center",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_211] },
212, "fan_cr",
-       "A fan unfolds from the right edge, the fan axis at the center", 
+      &wipe_config[WIPE_CONFIG_211]},
 {212, "fan_cr",
+       "A fan unfolds from the right edge, the fan axis at the center",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_212] },
213, "doublefan_fov",
-       "Two fans, their axes at the center, unfold from the top and bottom", 
+      &wipe_config[WIPE_CONFIG_212]},
 {213, "doublefan_fov",
+       "Two fans, their axes at the center, unfold from the top and bottom",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_213] },
214, "doublefan_foh",
-       "Two fans, their axes at the center, unfold from the left and right", 
+      &wipe_config[WIPE_CONFIG_213]},
 {214, "doublefan_foh",
+       "Two fans, their axes at the center, unfold from the left and right",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_214] },
221, "singlesweep_cwt",
-       "A radial hand sweeps clockwise from the top edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_214]},
 {221, "singlesweep_cwt",
+       "A radial hand sweeps clockwise from the top edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_221] },
222, "singlesweep_cwr",
-       "A radial hand sweeps clockwise from the right edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_221]},
 {222, "singlesweep_cwr",
+       "A radial hand sweeps clockwise from the right edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_222] },
223, "singlesweep_cwb",
-       "A radial hand sweeps clockwise from the bottom edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_222]},
 {223, "singlesweep_cwb",
+       "A radial hand sweeps clockwise from the bottom edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_223] },
224, "singlesweep_cwl",
-       "A radial hand sweeps clockwise from the left edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_223]},
 {224, "singlesweep_cwl",
+       "A radial hand sweeps clockwise from the left edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_224] },
225, "doublesweep_pv",
-       "Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints", 
+      &wipe_config[WIPE_CONFIG_224]},
 {225, "doublesweep_pv",
+       "Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_225] },
226, "doublesweep_pd",
-       "Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints", 
+      &wipe_config[WIPE_CONFIG_225]},
 {226, "doublesweep_pd",
+       "Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_226] },
227, "doublesweep_ov",
-       "Two radial hands attached at the top and bottom edges' midpoints sweep from right to left", 
+      &wipe_config[WIPE_CONFIG_226]},
 {227, "doublesweep_ov",
+       "Two radial hands attached at the top and bottom edges' midpoints sweep from right to left",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_227] },
228, "doublesweep_oh",
-       "Two radial hands attached at the left and right edges' midpoints sweep from top to bottom", 
+      &wipe_config[WIPE_CONFIG_227]},
 {228, "doublesweep_oh",
+       "Two radial hands attached at the left and right edges' midpoints sweep from top to bottom",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_228] },
231, "fan_t",
-       "A fan unfolds from the bottom, the fan axis at the top edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_228]},
 {231, "fan_t",
+       "A fan unfolds from the bottom, the fan axis at the top edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_231] },
232, "fan_r",
-       "A fan unfolds from the left, the fan axis at the right edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_231]},
 {232, "fan_r",
+       "A fan unfolds from the left, the fan axis at the right edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_232] },
233, "fan_b",
-       "A fan unfolds from the top, the fan axis at the bottom edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_232]},
 {233, "fan_b",
+       "A fan unfolds from the top, the fan axis at the bottom edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_233] },
234, "fan_l",
-       "A fan unfolds from the right, the fan axis at the left edge's midpoint", 
+      &wipe_config[WIPE_CONFIG_233]},
 {234, "fan_l",
+       "A fan unfolds from the right, the fan axis at the left edge's midpoint",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_234] },
235, "doublefan_fiv",
-       "Two fans, their axes at the top and bottom, unfold from the center", 
+      &wipe_config[WIPE_CONFIG_234]},
 {235, "doublefan_fiv",
+       "Two fans, their axes at the top and bottom, unfold from the center",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_235] },
236, "doublefan_fih",
-       "Two fans, their axes at the left and right, unfold from the center", 
+      &wipe_config[WIPE_CONFIG_235]},
 {236, "doublefan_fih",
+       "Two fans, their axes at the left and right, unfold from the center",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_236] },
241, "singlesweep_cwtl",
-       "A radial hand sweeps clockwise from the upper-left corner", 
+      &wipe_config[WIPE_CONFIG_236]},
 {241, "singlesweep_cwtl",
+       "A radial hand sweeps clockwise from the upper-left corner",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_241] },
242, "singlesweep_cwbl",
-       "A radial hand sweeps counter-clockwise from the lower-left corner.", 
+      &wipe_config[WIPE_CONFIG_241]},
 {242, "singlesweep_cwbl",
+       "A radial hand sweeps counter-clockwise from the lower-left corner.",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_242] },
243, "singlesweep_cwbr",
-       "A radial hand sweeps clockwise from the lower-right corner", 
+      &wipe_config[WIPE_CONFIG_242]},
 {243, "singlesweep_cwbr",
+       "A radial hand sweeps clockwise from the lower-right corner",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_243] },
244, "singlesweep_cwtr",
-       "A radial hand sweeps counter-clockwise from the upper-right corner", 
+      &wipe_config[WIPE_CONFIG_243]},
 {244, "singlesweep_cwtr",
+       "A radial hand sweeps counter-clockwise from the upper-right corner",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_244] },
245, "doublesweep_pdtl",
-       "Two radial hands attached at the upper-left and lower-right corners sweep down and up", 
+      &wipe_config[WIPE_CONFIG_244]},
 {245, "doublesweep_pdtl",
+       "Two radial hands attached at the upper-left and lower-right corners sweep down and up",
        gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_245] },
246, "doublesweep_pdbl",
-       "Two radial hands attached at the lower-left and upper-right corners sweep down and up", 
+      &wipe_config[WIPE_CONFIG_245]},
 {246, "doublesweep_pdbl",
+       "Two radial hands attached at the lower-left and upper-right corners sweep down and up",
        gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_246] },
251, "saloondoor_t",
-       "Two radial hands attached at the upper-left and upper-right corners sweep down", 
+      &wipe_config[WIPE_CONFIG_246]},
 {251, "saloondoor_t",
+       "Two radial hands attached at the upper-left and upper-right corners sweep down",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_251] },
252, "saloondoor_l",
-       "Two radial hands attached at the upper-left and lower-left corners sweep to the right", 
+      &wipe_config[WIPE_CONFIG_251]},
 {252, "saloondoor_l",
+       "Two radial hands attached at the upper-left and lower-left corners sweep to the right",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_252] },
253, "saloondoor_b",
-       "Two radial hands attached at the lower-left and lower-right corners sweep up", 
+      &wipe_config[WIPE_CONFIG_252]},
 {253, "saloondoor_b",
+       "Two radial hands attached at the lower-left and lower-right corners sweep up",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_253] },
254, "saloondoor_r",
-       "Two radial hands attached at the upper-right and lower-right corners sweep to the left", 
+      &wipe_config[WIPE_CONFIG_253]},
 {254, "saloondoor_r",
+       "Two radial hands attached at the upper-right and lower-right corners sweep to the left",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_254] },
261, "windshield_r",
-       "Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left", 
+      &wipe_config[WIPE_CONFIG_254]},
 {261, "windshield_r",
+       "Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_261] },
262, "windshield_u",
-       "Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom", 
+      &wipe_config[WIPE_CONFIG_261]},
 {262, "windshield_u",
+       "Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_262] },
263, "windshield_v",
-       "Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top", 
+      &wipe_config[WIPE_CONFIG_262]},
 {263, "windshield_v",
+       "Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_263] },
264, "windshield_h",
-       "Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left", 
+      &wipe_config[WIPE_CONFIG_263]},
 {264, "windshield_h",
+       "Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left",
        gst_wipe_boxes_draw, _gst_mask_default_destroy,
-       &wipe_config[WIPE_CONFIG_264] },
{ 0, NULL, NULL, NULL }
+      &wipe_config[WIPE_CONFIG_264]},
 {0, NULL, NULL, NULL}
 };
 
 void
@@ -931,4 +920,3 @@ _gst_barboxwipes_register (void)
     i++;
   }
 }
-
index 13c79b3..0e2cf01 100644 (file)
@@ -35,25 +35,25 @@ _gst_mask_init (void)
 }
 
 static gint
-gst_mask_compare (GstMaskDefinition *def1,
-                 GstMaskDefinition *def2)
+gst_mask_compare (GstMaskDefinition * def1, GstMaskDefinition * def2)
 {
   return (def1->type - def2->type);
 }
 
 void
-_gst_mask_register (GstMaskDefinition *definition)
+_gst_mask_register (GstMaskDefinition * definition)
 {
-  masks = g_list_insert_sorted (masks, definition, (GCompareFunc) gst_mask_compare);
+  masks =
+      g_list_insert_sorted (masks, definition, (GCompareFunc) gst_mask_compare);
 }
 
-const GList*
+const GList *
 gst_mask_get_definitions (void)
 {
   return masks;
 }
 
-static GstMaskDefinition*
+static GstMaskDefinition *
 gst_mask_find_definition (gint type)
 {
   GList *walk = masks;
@@ -63,13 +63,13 @@ gst_mask_find_definition (gint type)
 
     if (def->type == type)
       return def;
-    
+
     walk = g_list_next (walk);
   }
   return NULL;
 }
 
-GstMask*
+GstMask *
 gst_mask_factory_new (gint type, gint bpp, gint width, gint height)
 {
   GstMaskDefinition *definition;
@@ -95,14 +95,14 @@ gst_mask_factory_new (gint type, gint bpp, gint width, gint height)
 }
 
 void
-_gst_mask_default_destroy (GstMask *mask)
+_gst_mask_default_destroy (GstMask * mask)
 {
   g_free (mask->data);
   g_free (mask);
 }
 
 void
-gst_mask_destroy (GstMask *mask)
+gst_mask_destroy (GstMask * mask)
 {
   if (mask->destroy_func)
     mask->destroy_func (mask);
index 6131c62..6f82078 100644 (file)
 typedef struct _GstMask GstMask;
 typedef struct _GstMaskDefinition GstMaskDefinition;
 
-typedef void           (*GstMaskDrawFunc)              (GstMask *mask);
-typedef void           (*GstMaskDestroyFunc)           (GstMask *mask);
-
-struct _GstMaskDefinition {
-  gint                          type;
-  gchar                *short_name;
-  gchar                *long_name;
-  GstMaskDrawFunc       draw_func;
-  GstMaskDestroyFunc    destroy_func;
-  gpointer              user_data;
+typedef void (*GstMaskDrawFunc) (GstMask * mask);
+typedef void (*GstMaskDestroyFunc) (GstMask * mask);
+
+struct _GstMaskDefinition
+{
+  gint type;
+  gchar *short_name;
+  gchar *long_name;
+  GstMaskDrawFunc draw_func;
+  GstMaskDestroyFunc destroy_func;
+  gpointer user_data;
 };
 
-struct _GstMask {
-  gint                          type;
-  guint32              *data;
-  gpointer              user_data;
+struct _GstMask
+{
+  gint type;
+  guint32 *data;
+  gpointer user_data;
 
-  gint                  width;
-  gint                  height;
-  gint                  bpp;
+  gint width;
+  gint height;
+  gint bpp;
 
-  GstMaskDestroyFunc    destroy_func;
+  GstMaskDestroyFunc destroy_func;
 };
 
-void                   _gst_mask_init                  (void);
-void                   _gst_mask_register              (GstMaskDefinition *definition);
+void _gst_mask_init (void);
+void _gst_mask_register (GstMaskDefinition * definition);
 
-void                   _gst_mask_default_destroy       (GstMask *mask);
+void _gst_mask_default_destroy (GstMask * mask);
 
-const GList*           gst_mask_get_definitions        (void);
-GstMask*               gst_mask_factory_new            (gint type, gint bpp, gint width, gint height);
-void                   gst_mask_destroy                (GstMask *mask);
+const GList *gst_mask_get_definitions (void);
+GstMask *gst_mask_factory_new (gint type, gint bpp, gint width, gint height);
+void gst_mask_destroy (GstMask * mask);
 
 #endif /* __GST_MASK_H__ */
index 5899a9a..91b91d9 100644 (file)
@@ -34,43 +34,39 @@ static GstElementDetails smpte_details = {
 };
 
 static GstStaticPadTemplate gst_smpte_src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-     GST_VIDEO_CAPS_YUV("I420")
-  )
-);
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420")
+    )
+    );
 
 static GstStaticPadTemplate gst_smpte_sink1_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink1",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-     GST_VIDEO_CAPS_YUV("I420")
-  )
-);
+GST_STATIC_PAD_TEMPLATE ("sink1",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420")
+    )
+    );
 
 static GstStaticPadTemplate gst_smpte_sink2_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink2",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-     GST_VIDEO_CAPS_YUV("I420")
-  )
-);
+GST_STATIC_PAD_TEMPLATE ("sink2",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420")
+    )
+    );
 
 
 /* SMPTE signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_TYPE,
   ARG_BORDER,
@@ -80,48 +76,51 @@ enum {
 
 #define GST_TYPE_SMPTE_TRANSITION_TYPE (gst_smpte_transition_type_get_type())
 static GType
-gst_smpte_transition_type_get_type (void) 
+gst_smpte_transition_type_get_type (void)
 {
   static GType smpte_transition_type = 0;
   GEnumValue *smpte_transitions;
 
   if (!smpte_transition_type) {
     const GList *definitions;
-    gint i=0;
+    gint i = 0;
 
     definitions = gst_mask_get_definitions ();
-    smpte_transitions = g_new0 (GEnumValue, g_list_length ((GList *)definitions)+1);
+    smpte_transitions =
+       g_new0 (GEnumValue, g_list_length ((GList *) definitions) + 1);
 
     while (definitions) {
       GstMaskDefinition *definition = (GstMaskDefinition *) definitions->data;
+
       definitions = g_list_next (definitions);
 
       smpte_transitions[i].value = definition->type;
       smpte_transitions[i].value_name = definition->short_name;
       smpte_transitions[i].value_nick = definition->long_name;
-      
+
       i++;
     }
 
-    smpte_transition_type = 
-           g_enum_register_static ("GstSMPTETransitionType", smpte_transitions);
+    smpte_transition_type =
+       g_enum_register_static ("GstSMPTETransitionType", smpte_transitions);
   }
   return smpte_transition_type;
-}   
+}
 
 
-static void    gst_smpte_class_init            (GstSMPTEClass *klass);
-static void    gst_smpte_base_init             (GstSMPTEClass *klass);
-static void    gst_smpte_init                  (GstSMPTE *smpte);
+static void gst_smpte_class_init (GstSMPTEClass * klass);
+static void gst_smpte_base_init (GstSMPTEClass * klass);
+static void gst_smpte_init (GstSMPTE * smpte);
 
-static void    gst_smpte_loop                  (GstElement *element);
+static void gst_smpte_loop (GstElement * element);
 
-static void    gst_smpte_set_property          (GObject *object, guint prop_id, 
-                                                const GValue *value, GParamSpec *pspec);
-static void    gst_smpte_get_property          (GObject *object, guint prop_id, 
-                                                GValue *value, GParamSpec *pspec);
+static void gst_smpte_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_smpte_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_smpte_signals[LAST_SIGNAL] = { 0 }; */
 
 static GType
@@ -131,45 +130,46 @@ gst_smpte_get_type (void)
 
   if (!smpte_type) {
     static const GTypeInfo smpte_info = {
-      sizeof(GstSMPTEClass),      
-      (GBaseInitFunc)gst_smpte_base_init,
+      sizeof (GstSMPTEClass),
+      (GBaseInitFunc) gst_smpte_base_init,
       NULL,
-      (GClassInitFunc)gst_smpte_class_init,
+      (GClassInitFunc) gst_smpte_class_init,
       NULL,
       NULL,
-      sizeof(GstSMPTE),
+      sizeof (GstSMPTE),
       0,
-      (GInstanceInitFunc)gst_smpte_init,
+      (GInstanceInitFunc) gst_smpte_init,
     };
-    smpte_type = g_type_register_static(GST_TYPE_ELEMENT, "GstSMPTE", &smpte_info, 0);
+    smpte_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstSMPTE", &smpte_info, 0);
   }
   return smpte_type;
 }
 
 static void
-gst_smpte_base_init (GstSMPTEClass *klass)
+gst_smpte_base_init (GstSMPTEClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  gst_element_class_add_pad_template (element_class, 
-      gst_static_pad_template_get(&gst_smpte_sink1_template));
-  gst_element_class_add_pad_template (element_class, 
-      gst_static_pad_template_get(&gst_smpte_sink2_template));
-  gst_element_class_add_pad_template (element_class, 
-      gst_static_pad_template_get(&gst_smpte_src_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&gst_smpte_sink1_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&gst_smpte_sink2_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&gst_smpte_src_template));
   gst_element_class_set_details (element_class, &smpte_details);
 }
 
 static void
-gst_smpte_class_init (GstSMPTEClass *klass)
+gst_smpte_class_init (GstSMPTEClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_smpte_set_property;
   gobject_class->get_property = gst_smpte_get_property;
@@ -177,39 +177,42 @@ gst_smpte_class_init (GstSMPTEClass *klass)
   _gst_mask_init ();
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_TYPE,
-    g_param_spec_enum ("type", "Type", "The type of transition to use",
-                       GST_TYPE_SMPTE_TRANSITION_TYPE, 1, G_PARAM_READWRITE));
+      g_param_spec_enum ("type", "Type", "The type of transition to use",
+         GST_TYPE_SMPTE_TRANSITION_TYPE, 1, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FPS,
-    g_param_spec_float ("fps", "FPS", "Frames per second if no input files are given",
-                      0., G_MAXFLOAT, 25., G_PARAM_READWRITE));
+      g_param_spec_float ("fps", "FPS",
+         "Frames per second if no input files are given", 0., G_MAXFLOAT, 25.,
+         G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BORDER,
-    g_param_spec_int ("border", "Border", "The border width of the transition",
-                      0, G_MAXINT, 0, G_PARAM_READWRITE));
+      g_param_spec_int ("border", "Border",
+         "The border width of the transition", 0, G_MAXINT, 0,
+         G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DEPTH,
-    g_param_spec_int ("depth", "Depth", "Depth of the mask in bits",
-                      1, 24, 16, G_PARAM_READWRITE));
+      g_param_spec_int ("depth", "Depth", "Depth of the mask in bits", 1, 24,
+         16, G_PARAM_READWRITE));
 }
 
 /*                        wht  yel  cya  grn  mag  red  blu  blk   -I    Q */
-static int y_colors[] = { 255, 226, 179, 150, 105,  76,  29,  16,  16,   0 };
-static int u_colors[] = { 128,   0, 170,  46, 212,  85, 255, 128,   0, 128 };
-static int v_colors[] = { 128, 155,   0,  21, 235, 255, 107, 128, 128, 255 };
+static int y_colors[] = { 255, 226, 179, 150, 105, 76, 29, 16, 16, 0 };
+static int u_colors[] = { 128, 0, 170, 46, 212, 85, 255, 128, 0, 128 };
+static int v_colors[] = { 128, 155, 0, 21, 235, 255, 107, 128, 128, 255 };
 
 static void
-fill_i420 (guint8 *data, gint width, gint height, gint color)
+fill_i420 (guint8 * data, gint width, gint height, gint color)
 {
   gint size = width * height, size4 = size >> 2;
   guint8 *yp = data;
   guint8 *up = data + size;
   guint8 *vp = data + size + size4;
-  
+
   memset (yp, y_colors[color], size);
   memset (up, u_colors[color], size4);
   memset (vp, v_colors[color], size4);
 }
 
 static gboolean
-gst_smpte_update_mask (GstSMPTE *smpte, gint type, gint depth, gint width, gint height)
+gst_smpte_update_mask (GstSMPTE * smpte, gint type, gint depth, gint width,
+    gint height)
 {
   GstMask *newmask;
 
@@ -230,7 +233,7 @@ gst_smpte_update_mask (GstSMPTE *smpte, gint type, gint depth, gint width, gint
 }
 
 static gboolean
-gst_smpte_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_smpte_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstSMPTE *smpte;
   GstStructure *structure;
@@ -243,29 +246,34 @@ gst_smpte_sinkconnect (GstPad *pad, const GstCaps *caps)
   ret = gst_structure_get_int (structure, "width", &smpte->width);
   ret &= gst_structure_get_int (structure, "height", &smpte->height);
   ret &= gst_structure_get_double (structure, "framerate", &smpte->fps);
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
-  gst_smpte_update_mask (smpte, smpte->type, smpte->depth, smpte->width, smpte->height);
+  gst_smpte_update_mask (smpte, smpte->type, smpte->depth, smpte->width,
+      smpte->height);
 
   /* forward to the next plugin */
-  return gst_pad_try_set_caps(smpte->srcpad, caps);
+  return gst_pad_try_set_caps (smpte->srcpad, caps);
 }
 
-static void 
-gst_smpte_init (GstSMPTE *smpte)
+static void
+gst_smpte_init (GstSMPTE * smpte)
 {
-  smpte->sinkpad1 = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_smpte_sink1_template), "sink1");
+  smpte->sinkpad1 =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_smpte_sink1_template), "sink1");
   gst_pad_set_link_function (smpte->sinkpad1, gst_smpte_sinkconnect);
   gst_element_add_pad (GST_ELEMENT (smpte), smpte->sinkpad1);
 
-  smpte->sinkpad2 = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_smpte_sink2_template), "sink2");
+  smpte->sinkpad2 =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_smpte_sink2_template), "sink2");
   gst_pad_set_link_function (smpte->sinkpad2, gst_smpte_sinkconnect);
   gst_element_add_pad (GST_ELEMENT (smpte), smpte->sinkpad2);
 
-  smpte->srcpad = gst_pad_new_from_template (
-      gst_static_pad_template_get(&gst_smpte_src_template), "src");
+  smpte->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_smpte_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (smpte), smpte->srcpad);
 
   gst_element_set_loop_function (GST_ELEMENT (smpte), gst_smpte_loop);
@@ -278,48 +286,53 @@ gst_smpte_init (GstSMPTE *smpte)
   smpte->type = 1;
   smpte->border = 0;
   smpte->depth = 16;
-  gst_smpte_update_mask (smpte, smpte->type, smpte->depth, smpte->width, smpte->height);
+  gst_smpte_update_mask (smpte, smpte->type, smpte->depth, smpte->width,
+      smpte->height);
 }
 
 static void
-gst_smpte_blend_i420 (guint8 *in1, guint8 *in2, guint8 *out, GstMask *mask,
-                     gint width, gint height, gint border, gint pos)
+gst_smpte_blend_i420 (guint8 * in1, guint8 * in2, guint8 * out, GstMask * mask,
+    gint width, gint height, gint border, gint pos)
 {
   guint32 *maskp;
   gint value;
   gint i, j;
   gint min, max;
-  guint8 *in1u, *in1v, *in2u, *in2v, *outu, *outv; 
+  guint8 *in1u, *in1v, *in2u, *in2v, *outu, *outv;
   gint lumsize = width * height;
   gint chromsize = lumsize >> 2;
 
-  if (border == 0) border++;
+  if (border == 0)
+    border++;
 
-  min = pos - border; 
+  min = pos - border;
   max = pos;
 
-  in1u = in1 + lumsize; in1v = in1u + chromsize;
-  in2u = in2 + lumsize; in2v = in2u + chromsize;
-  outu = out + lumsize; outv = outu + chromsize;
-  
+  in1u = in1 + lumsize;
+  in1v = in1u + chromsize;
+  in2u = in2 + lumsize;
+  in2v = in2u + chromsize;
+  outu = out + lumsize;
+  outv = outu + chromsize;
+
   maskp = mask->data;
 
   for (i = 0; i < height; i++) {
     for (j = 0; j < width; j++) {
       value = *maskp++;
       value = ((CLAMP (value, min, max) - min) << 8) / border;
-    
+
       *out++ = ((*in1++ * value) + (*in2++ * (256 - value))) >> 8;
       if (!(i & 1) && !(j & 1)) {
-        *outu++ = ((*in1u++ * value) + (*in2u++ * (256 - value))) >> 8;
-        *outv++ = ((*in1v++ * value) + (*in2v++ * (256 - value))) >> 8;
+       *outu++ = ((*in1u++ * value) + (*in2u++ * (256 - value))) >> 8;
+       *outv++ = ((*in1v++ * value) + (*in2v++ * (256 - value))) >> 8;
       }
     }
   }
 }
 
 static void
-gst_smpte_loop (GstElement *element)
+gst_smpte_loop (GstElement * element)
 {
   GstSMPTE *smpte;
   GstBuffer *outbuf;
@@ -335,8 +348,7 @@ gst_smpte_loop (GstElement *element)
     if (GST_IS_EVENT (in1)) {
       gst_pad_push (smpte->srcpad, GST_DATA (in1));
       in1 = NULL;
-    }
-    else 
+    } else
       ts = GST_BUFFER_TIMESTAMP (in1);
   }
   if (GST_PAD_IS_USABLE (smpte->sinkpad2) && in2 == NULL) {
@@ -344,8 +356,7 @@ gst_smpte_loop (GstElement *element)
     if (GST_IS_EVENT (in2)) {
       gst_pad_push (smpte->srcpad, GST_DATA (in2));
       in2 = NULL;
-    }
-    else 
+    } else
       ts = GST_BUFFER_TIMESTAMP (in2);
   }
 
@@ -358,33 +369,33 @@ gst_smpte_loop (GstElement *element)
     fill_i420 (GST_BUFFER_DATA (in2), smpte->width, smpte->height, 0);
   }
 
-  if (smpte->position < smpte->duration) { 
+  if (smpte->position < smpte->duration) {
     outbuf = gst_buffer_new_and_alloc (smpte->width * smpte->height * 3);
 
     if (!GST_PAD_CAPS (smpte->srcpad)) {
       GstCaps *caps;
-      caps = gst_caps_copy (gst_static_caps_get (
-           &gst_smpte_src_template.static_caps));
-      gst_caps_set_simple (caps,
-         "width", G_TYPE_INT, smpte->width,
-         "height", G_TYPE_INT, smpte->height,
-         "framerate", G_TYPE_DOUBLE, smpte->fps, NULL);
+
+      caps =
+         gst_caps_copy (gst_static_caps_get (&gst_smpte_src_template.
+             static_caps));
+      gst_caps_set_simple (caps, "width", G_TYPE_INT, smpte->width, "height",
+         G_TYPE_INT, smpte->height, "framerate", G_TYPE_DOUBLE, smpte->fps,
+         NULL);
 
       if (!gst_pad_try_set_caps (smpte->srcpad, caps)) {
-        GST_ELEMENT_ERROR (smpte, CORE, NEGOTIATION, (NULL), (NULL));
-        return;
+       GST_ELEMENT_ERROR (smpte, CORE, NEGOTIATION, (NULL), (NULL));
+       return;
       }
     }
 
-    gst_smpte_blend_i420 (GST_BUFFER_DATA (in1), 
-                         GST_BUFFER_DATA (in2), 
-                         GST_BUFFER_DATA (outbuf),
-                         smpte->mask, smpte->width, smpte->height, 
-                         smpte->border,
-                         ((1 << smpte->depth) + smpte->border) * 
-                           smpte->position / smpte->duration);
-  }
-  else {
+    gst_smpte_blend_i420 (GST_BUFFER_DATA (in1),
+       GST_BUFFER_DATA (in2),
+       GST_BUFFER_DATA (outbuf),
+       smpte->mask, smpte->width, smpte->height,
+       smpte->border,
+       ((1 << smpte->depth) + smpte->border) *
+       smpte->position / smpte->duration);
+  } else {
     outbuf = in2;
     gst_buffer_ref (in2);
   }
@@ -401,20 +412,20 @@ gst_smpte_loop (GstElement *element)
 }
 
 static void
-gst_smpte_set_property (GObject *object, guint prop_id, 
-                       const GValue *value, GParamSpec *pspec)
+gst_smpte_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstSMPTE *smpte;
 
-  smpte = GST_SMPTE(object);
+  smpte = GST_SMPTE (object);
 
   switch (prop_id) {
     case ARG_TYPE:
     {
       gint type = g_value_get_enum (value);
 
-      gst_smpte_update_mask (smpte, type, smpte->depth, 
-                            smpte->width, smpte->height);
+      gst_smpte_update_mask (smpte, type, smpte->depth,
+         smpte->width, smpte->height);
       break;
     }
     case ARG_BORDER:
@@ -427,8 +438,8 @@ gst_smpte_set_property (GObject *object, guint prop_id,
     {
       gint depth = g_value_get_int (value);
 
-      gst_smpte_update_mask (smpte, smpte->type, depth, 
-                            smpte->width, smpte->height);
+      gst_smpte_update_mask (smpte, smpte->type, depth,
+         smpte->width, smpte->height);
       break;
     }
     default:
@@ -438,12 +449,12 @@ gst_smpte_set_property (GObject *object, guint prop_id,
 }
 
 static void
-gst_smpte_get_property (GObject *object, guint prop_id, 
-                       GValue *value, GParamSpec *pspec)
+gst_smpte_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
 {
   GstSMPTE *smpte;
 
-  smpte = GST_SMPTE(object);
+  smpte = GST_SMPTE (object);
 
   switch (prop_id) {
     case ARG_TYPE:
@@ -468,20 +479,13 @@ gst_smpte_get_property (GObject *object, guint prop_id,
 
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register(plugin, "smpte",
-                             GST_RANK_NONE, GST_TYPE_SMPTE);
+  return gst_element_register (plugin, "smpte", GST_RANK_NONE, GST_TYPE_SMPTE);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "smpte",
-  "Apply the standard SMPTE transitions on video images",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "smpte",
+    "Apply the standard SMPTE transitions on video images",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index 4084420..762eebf 100644 (file)
 typedef struct _GstSMPTE GstSMPTE;
 typedef struct _GstSMPTEClass GstSMPTEClass;
 
-struct _GstSMPTE {
-  GstElement    element;
+struct _GstSMPTE
+{
+  GstElement element;
 
-  gint                  format;
-  gint                  width;
-  gint                  height;
-  gdouble       fps;
+  gint format;
+  gint width;
+  gint height;
+  gdouble fps;
 
-  gint                  duration;
-  gint                  position;
+  gint duration;
+  gint position;
 
-  GstPad       *srcpad,
-               *sinkpad1,
-               *sinkpad2;
+  GstPad *srcpad, *sinkpad1, *sinkpad2;
 
-  gint                  type;
-  gint                  border;
-  gint                  depth;
-  GstMask      *mask;
+  gint type;
+  gint border;
+  gint depth;
+  GstMask *mask;
 };
 
-struct _GstSMPTEClass {
+struct _GstSMPTEClass
+{
   GstElementClass parent_class;
 };
 
index dae3c6f..fdff77e 100644 (file)
 #include "paint.h"
 
 void
-gst_smpte_paint_vbox (guint32 *dest, gint stride, 
-                     gint x0, gint y0, gint c0, 
-                     gint x1, gint y1, gint c1)
+gst_smpte_paint_vbox (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0, gint x1, gint y1, gint c1)
 {
   gint i, j;
   gint width, height;
 
   width = x1 - x0;
   height = y1 - y0;
-  
+
   g_assert (width > 0);
   g_assert (height > 0);
 
   dest = dest + y0 * stride + x0;
-        
+
   for (i = 0; i < height; i++) {
     for (j = 0; j < width; j++) {
       dest[j] = (c1 * j + c0 * (width - j)) / width;
@@ -50,16 +49,15 @@ gst_smpte_paint_vbox (guint32 *dest, gint stride,
 }
 
 void
-gst_smpte_paint_hbox (guint32 *dest, gint stride, 
-                     gint x0, gint y0, gint c0, 
-                     gint x1, gint y1, gint c1)
+gst_smpte_paint_hbox (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0, gint x1, gint y1, gint c1)
 {
   gint i, j;
   gint width, height;
 
   width = x1 - x0;
   height = y1 - y0;
-  
+
   g_assert (width > 0);
   g_assert (height > 0);
 
@@ -68,7 +66,8 @@ gst_smpte_paint_hbox (guint32 *dest, gint stride,
   dest = dest + y0 * stride + x0;
 
   for (i = 0; i < height; i++) {
-    guint32 value  = (c1 * i + c0 * (height - i)) / height;
+    guint32 value = (c1 * i + c0 * (height - i)) / height;
+
     for (j = 0; j < width; j++) {
       dest[j] = value;
     }
@@ -148,29 +147,35 @@ G_STMT_START {                    \
 } G_STMT_END
 
 void
-gst_smpte_paint_triangle_linear (guint32 *dest, gint stride,
-                                gint x0, gint y0, gint c0,
-                                gint x1, gint y1, gint c1, gint x2, gint y2, gint c2)
+gst_smpte_paint_triangle_linear (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0,
+    gint x1, gint y1, gint c1, gint x2, gint y2, gint c2)
 {
   gint sdxl, sdyl, sdcl, dxlabs, dylabs, dclabs, xrl, yrl, crl, pxl, pyl, pcl;
   gint sdxr, sdyr, sdcr, dxrabs, dyrabs, dcrabs, xrr, yrr, crr, pxr, pyr, pcr;
   gint i, j, k, seg_start, seg_end;
 
-  if (y0 > y1) { SWAP_INT (x0, x1); SWAP_INT (y0, y1); SWAP_INT (c0, c1); }
-  if (y0 > y2) { SWAP_INT (x0, x2); SWAP_INT (y0, y2); SWAP_INT (c0, c2); }
-  if (y1 > y2) { SWAP_INT (x1, x2); SWAP_INT (y1, y2); SWAP_INT (c1, c2); }
-  
-  PREPARE_3D_LINE (x0,y0,c0,x2,y2,c2,
-                  dxlabs,dylabs,dclabs,
-                  sdxl, sdyl,sdcl,
-                  xrl,yrl,crl,
-                  pxl,pyl,pcl);
-
-  PREPARE_3D_LINE (x0,y0,c0,x1,y1,c1,
-                  dxrabs,dyrabs,dcrabs,
-                  sdxr, sdyr,sdcr,
-                  xrr,yrr,crr,
-                  pxr,pyr,pcr);
+  if (y0 > y1) {
+    SWAP_INT (x0, x1);
+    SWAP_INT (y0, y1);
+    SWAP_INT (c0, c1);
+  }
+  if (y0 > y2) {
+    SWAP_INT (x0, x2);
+    SWAP_INT (y0, y2);
+    SWAP_INT (c0, c2);
+  }
+  if (y1 > y2) {
+    SWAP_INT (x1, x2);
+    SWAP_INT (y1, y2);
+    SWAP_INT (c1, c2);
+  }
+
+  PREPARE_3D_LINE (x0, y0, c0, x2, y2, c2,
+      dxlabs, dylabs, dclabs, sdxl, sdyl, sdcl, xrl, yrl, crl, pxl, pyl, pcl);
+
+  PREPARE_3D_LINE (x0, y0, c0, x1, y1, c1,
+      dxrabs, dyrabs, dcrabs, sdxr, sdyr, sdcr, xrr, yrr, crr, pxr, pyr, pcr);
 
   dest = dest + stride * y0;
   seg_start = y0;
@@ -183,37 +188,32 @@ gst_smpte_paint_triangle_linear (guint32 *dest, gint stride,
       gint sign = SIGN (e - s);
 
       e += sign;
-      for (j = s; j != e; j+=sign) {
-       dest[j] = (ec * (j - s) + sc * (e - j)) / (e - s);
+      for (j = s; j != e; j += sign) {
+       dest[j] = (ec * (j - s) + sc * (e - j)) / (e - s);
       }
 
       while (pyr == i) {
-        STEP_3D_LINE (dxrabs, dyrabs, dcrabs, sdxr, sdyr, sdcr, 
-                     xrr, yrr, crr, pxr, pyr, pcr);
+       STEP_3D_LINE (dxrabs, dyrabs, dcrabs, sdxr, sdyr, sdcr,
+           xrr, yrr, crr, pxr, pyr, pcr);
       }
       while (pyl == i) {
-        STEP_3D_LINE (dxlabs, dylabs, dclabs, sdxl, sdyl, sdcl, 
-                     xrl, yrl, crl, pxl, pyl, pcl);
+       STEP_3D_LINE (dxlabs, dylabs, dclabs, sdxl, sdyl, sdcl,
+           xrl, yrl, crl, pxl, pyl, pcl);
       }
       dest += stride;
     }
 
-    PREPARE_3D_LINE (x1,y1,c1,x2,y2,c2,
-                    dxrabs,dyrabs,dcrabs,
-                    sdxr, sdyr,sdcr,
-                    xrr,yrr,crr,
-                    pxr,pyr,pcr);
+    PREPARE_3D_LINE (x1, y1, c1, x2, y2, c2,
+       dxrabs, dyrabs, dcrabs, sdxr, sdyr, sdcr, xrr, yrr, crr, pxr, pyr, pcr);
 
     seg_start = y1;
     seg_end = y2;
   }
 }
 
-static void 
-draw_bresenham_line (guint32 *dest, gint stride, 
-                    gint x0, gint y0, 
-                    gint x1, gint y1, 
-                    guint32 col)
+static void
+draw_bresenham_line (guint32 * dest, gint stride,
+    gint x0, gint y0, gint x1, gint y1, guint32 col)
 {
   gint dx = abs (x1 - x0);
   gint dy = abs (y1 - y0);
@@ -224,13 +224,12 @@ draw_bresenham_line (guint32 *dest, gint stride,
 
   x_incr = SIGN (x1 - x0);
   y_incr = SIGN (y1 - y0) * stride;
-       
-  if (dx >= dy)        {           
+
+  if (dx >= dy) {
     dpr = dy << 1;
     i = dx;
     indep = x_incr;
-  }
-  else {
+  } else {
     dpr = dx << 1;
     i = dy;
     indep = y_incr;
@@ -242,7 +241,7 @@ draw_bresenham_line (guint32 *dest, gint stride,
   for (; i >= 0; i--) {
     *dest = col;
 
-    if (P > 0) { 
+    if (P > 0) {
       dest += x_incr;
       dest += y_incr;
       P += dpru;
@@ -254,10 +253,9 @@ draw_bresenham_line (guint32 *dest, gint stride,
 }
 
 void
-gst_smpte_paint_triangle_clock (guint32 *dest, gint stride,
-                               gint x0, gint y0, gint c0,
-                               gint x1, gint y1, gint c1, 
-                               gint x2, gint y2, gint c2)
+gst_smpte_paint_triangle_clock (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0,
+    gint x1, gint y1, gint c1, gint x2, gint y2, gint c2)
 {
   gint i;
   gint sign;
@@ -265,11 +263,11 @@ gst_smpte_paint_triangle_clock (guint32 *dest, gint stride,
   gfloat len1;
 
   angle_s = 0.0;
-  angle_e = acos (((x1-x0) * (x2-x0) + (y1-y0) * (y2-y0))/
-                   (sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)) * 
-                    sqrt ((x2-x0) * (x2-x0) + (y2-y0) * (y2-y0))));
+  angle_e = acos (((x1 - x0) * (x2 - x0) + (y1 - y0) * (y2 - y0)) /
+      (sqrt ((x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0)) *
+         sqrt ((x2 - x0) * (x2 - x0) + (y2 - y0) * (y2 - y0))));
 
-  len1 = sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0));
+  len1 = sqrt ((x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0));
 
   if (x1 == x2) {
     sign = SIGN (y2 - y1);
@@ -278,65 +276,57 @@ gst_smpte_paint_triangle_clock (guint32 *dest, gint stride,
       if (y1 == i)
        angle = 0;
       else
-        angle = acos (((x1-x0) * (x2-x0) + (y1-y0) * (i-y0)) / 
-                       (len1 * sqrt ((x1-x0) * (x1-x0) + (i-y0) * (i-y0)))) / angle_e;
+       angle = acos (((x1 - x0) * (x2 - x0) + (y1 - y0) * (i - y0)) /
+           (len1 * sqrt ((x1 - x0) * (x1 - x0) + (i - y0) * (i -
+                       y0)))) / angle_e;
 
       draw_bresenham_line (dest, stride,
-                   x0, y0, x1, i, 
-                   (c2 * angle + c1 * (1.0-angle)));
+         x0, y0, x1, i, (c2 * angle + c1 * (1.0 - angle)));
     }
-  }
-  else if (y1 == y2) {
+  } else if (y1 == y2) {
     sign = SIGN (x2 - x1);
 
     for (i = x1; i != (x2 + sign); i += sign) {
       if (x1 == i)
        angle = 0;
       else
-        angle = acos (((x1-x0) * (i-x0) + (y1-y0) * (y2-y0)) / 
-                       (len1 * sqrt ((i-x0) * (i-x0) + (y2-y0) * (y2-y0)))) / angle_e;
+       angle = acos (((x1 - x0) * (i - x0) + (y1 - y0) * (y2 - y0)) /
+           (len1 * sqrt ((i - x0) * (i - x0) + (y2 - y0) * (y2 -
+                       y0)))) / angle_e;
 
       draw_bresenham_line (dest, stride,
-                   x0, y0, i, y1, 
-                   (c2 * angle + c1 * (1.0-angle)));
+         x0, y0, i, y1, (c2 * angle + c1 * (1.0 - angle)));
     }
   }
 }
 
 void
-gst_smpte_paint_box_clock (guint32 *dest, gint stride,
-                          gint x0, gint y0, gint c0,
-                          gint x1, gint y1, gint c1, 
-                          gint x2, gint y2, gint c2)
+gst_smpte_paint_box_clock (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0,
+    gint x1, gint y1, gint c1, gint x2, gint y2, gint c2)
 {
   gfloat angle_m, col_m;
   gint xv, yv;
 
-  if (x1 == x0) { 
+  if (x1 == x0) {
     xv = x2;
     yv = y1;
   } else if (y1 == y0) {
     xv = x1;
     yv = y2;
-  }
-  else {
+  } else {
     g_warning ("paint box clock: not supported");
     return;
   }
 
-  angle_m = 2 * acos (((x1-x0) * (xv-x0) + (y1-y0) * (yv-y0))/
-                   (sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)) * 
-                    sqrt ((xv-x0) * (xv-x0) + (yv-y0) * (yv-y0)))) / M_PI;
-    
-  col_m = c2 * angle_m + c1 * (1.0-angle_m);
+  angle_m = 2 * acos (((x1 - x0) * (xv - x0) + (y1 - y0) * (yv - y0)) /
+      (sqrt ((x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0)) *
+         sqrt ((xv - x0) * (xv - x0) + (yv - y0) * (yv - y0)))) / M_PI;
+
+  col_m = c2 * angle_m + c1 * (1.0 - angle_m);
 
   gst_smpte_paint_triangle_clock (dest, stride,
-                                 x0, y0, c0,
-                                 x1, y1, c1,
-                                 xv, yv, col_m);
+      x0, y0, c0, x1, y1, c1, xv, yv, col_m);
   gst_smpte_paint_triangle_clock (dest, stride,
-                                 x0, y0, c0,
-                                 xv, yv, col_m,
-                                 x2, y2, c2);
+      x0, y0, c0, xv, yv, col_m, x2, y2, c2);
 }
-
index 4c34cf9..aa9fd42 100644 (file)
 
 #include <glib.h>
 
-void   gst_smpte_paint_vbox            (guint32 *dest, gint stride, 
-                                        gint x0, gint y0, gint c0, 
-                                        gint x1, gint y1, gint c1);
-void   gst_smpte_paint_hbox            (guint32 *dest, gint stride, 
-                                        gint x0, gint y0, gint c0, 
-                                        gint x1, gint y1, gint c1);
+void gst_smpte_paint_vbox (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0, gint x1, gint y1, gint c1);
+void gst_smpte_paint_hbox (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0, gint x1, gint y1, gint c1);
 
-void   gst_smpte_paint_triangle_linear (guint32 *dest, gint stride,
-                                        gint x0, gint y0, gint c0,
-                                        gint x1, gint y1, gint c1, 
-                                        gint x2, gint y2, gint c2);
+void gst_smpte_paint_triangle_linear (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0,
+    gint x1, gint y1, gint c1, gint x2, gint y2, gint c2);
 
-void   gst_smpte_paint_triangle_clock  (guint32 *dest, gint stride,
-                                        gint x0, gint y0, gint c0,
-                                        gint x1, gint y1, gint c1, 
-                                        gint x2, gint y2, gint c2);
+void gst_smpte_paint_triangle_clock (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0,
+    gint x1, gint y1, gint c1, gint x2, gint y2, gint c2);
 
-void   gst_smpte_paint_box_clock       (guint32 *dest, gint stride,
-                                        gint x0, gint y0, gint c0,
-                                        gint x1, gint y1, gint c1,
-                                        gint x2, gint y2, gint c2);
+void gst_smpte_paint_box_clock (guint32 * dest, gint stride,
+    gint x0, gint y0, gint c0,
+    gint x1, gint y1, gint c1, gint x2, gint y2, gint c2);
 
 #endif /* __GST_SMPTE_PAINT_H__ */
index 920d69e..aa309f1 100644 (file)
 #include "gstspectrum.h"
 
 /* elementfactory information */
-static GstElementDetails gst_spectrum_details = GST_ELEMENT_DETAILS (
-  "Spectrum analyzer",
-  "Filter/Analyzer/Audio",
-  "Run an FFT on the audio signal, output spectrum data",
-  "Erik Walthinsen <omega@cse.ogi.edu>"
-);
+static GstElementDetails gst_spectrum_details =
+GST_ELEMENT_DETAILS ("Spectrum analyzer",
+    "Filter/Analyzer/Audio",
+    "Run an FFT on the audio signal, output spectrum data",
+    "Erik Walthinsen <omega@cse.ogi.edu>");
 
 /* Spectrum signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_WIDTH,
 };
 
 
-static void    gst_spectrum_base_init  (gpointer g_class);
-static void    gst_spectrum_class_init (GstSpectrumClass *klass);
-static void    gst_spectrum_init       (GstSpectrum *spectrum);
+static void gst_spectrum_base_init (gpointer g_class);
+static void gst_spectrum_class_init (GstSpectrumClass * klass);
+static void gst_spectrum_init (GstSpectrum * spectrum);
 
-static void    gst_spectrum_set_property       (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
+static void gst_spectrum_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
 
-static void    gst_spectrum_chain      (GstPad *pad, GstData *_data);
+static void gst_spectrum_chain (GstPad * pad, GstData * _data);
 
 #define fixed short
-int gst_spectrum_fix_fft(fixed fr[], fixed fi[], int m, int inverse);
-void gst_spectrum_fix_loud(fixed loud[], fixed fr[], fixed fi[], int n, int scale_shift);
-void gst_spectrum_window(fixed fr[], int n);
+int gst_spectrum_fix_fft (fixed fr[], fixed fi[], int m, int inverse);
+void gst_spectrum_fix_loud (fixed loud[], fixed fr[], fixed fi[], int n,
+    int scale_shift);
+void gst_spectrum_window (fixed fr[], int n);
 
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_spectrum_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -68,17 +72,19 @@ gst_spectrum_get_type (void)
 
   if (!spectrum_type) {
     static const GTypeInfo spectrum_info = {
-      sizeof(GstSpectrumClass),
+      sizeof (GstSpectrumClass),
       gst_spectrum_base_init,
       NULL,
-      (GClassInitFunc)gst_spectrum_class_init,
+      (GClassInitFunc) gst_spectrum_class_init,
       NULL,
       NULL,
-      sizeof(GstSpectrum),
+      sizeof (GstSpectrum),
       0,
-      (GInstanceInitFunc)gst_spectrum_init,
+      (GInstanceInitFunc) gst_spectrum_init,
     };
-    spectrum_type = g_type_register_static(GST_TYPE_ELEMENT, "GstSpectrum", &spectrum_info, 0);
+    spectrum_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstSpectrum", &spectrum_info,
+       0);
   }
   return spectrum_type;
 }
@@ -91,41 +97,40 @@ gst_spectrum_base_init (gpointer g_class)
   gst_element_class_set_details (element_class, &gst_spectrum_details);
 }
 static void
-gst_spectrum_class_init (GstSpectrumClass *klass)
+gst_spectrum_class_init (GstSpectrumClass * klass)
 {
   GObjectClass *gobject_class;
 
-  gobject_class = (GObjectClass*)klass;
+  gobject_class = (GObjectClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_WIDTH,
-    g_param_spec_int("width","width","width",
-                     G_MININT,G_MAXINT,0,G_PARAM_WRITABLE)); /* CHECKME */
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_WIDTH, g_param_spec_int ("width", "width", "width", G_MININT, G_MAXINT, 0, G_PARAM_WRITABLE));  /* CHECKME */
 
   gobject_class->set_property = gst_spectrum_set_property;
 }
 
 static void
-gst_spectrum_init (GstSpectrum *spectrum)
+gst_spectrum_init (GstSpectrum * spectrum)
 {
-  spectrum->sinkpad = gst_pad_new("sink",GST_PAD_SINK);
-  gst_element_add_pad(GST_ELEMENT(spectrum),spectrum->sinkpad);
-  gst_pad_set_chain_function(spectrum->sinkpad,gst_spectrum_chain);
-  spectrum->srcpad = gst_pad_new("src",GST_PAD_SRC);
-  gst_element_add_pad(GST_ELEMENT(spectrum),spectrum->srcpad);
+  spectrum->sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
+  gst_element_add_pad (GST_ELEMENT (spectrum), spectrum->sinkpad);
+  gst_pad_set_chain_function (spectrum->sinkpad, gst_spectrum_chain);
+  spectrum->srcpad = gst_pad_new ("src", GST_PAD_SRC);
+  gst_element_add_pad (GST_ELEMENT (spectrum), spectrum->srcpad);
 
   spectrum->width = 75;
 }
 
 static void
-gst_spectrum_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_spectrum_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstSpectrum *spectrum;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_SPECTRUM(object));
-  spectrum = GST_SPECTRUM(object);
+  g_return_if_fail (GST_IS_SPECTRUM (object));
+  spectrum = GST_SPECTRUM (object);
 
   switch (prop_id) {
     case ARG_WIDTH:
@@ -137,48 +142,49 @@ gst_spectrum_set_property (GObject *object, guint prop_id, const GValue *value,
 }
 
 static void
-gst_spectrum_chain (GstPad *pad, GstData *_data)
+gst_spectrum_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstSpectrum *spectrum;
   gint spec_base, spec_len;
   gint16 *re, *im, *loud;
   gint16 *samples;
-  gint step,pos,i;
+  gint step, pos, i;
   guchar *spect;
   GstBuffer *newbuf;
 
-  g_return_if_fail(pad != NULL);
-  g_return_if_fail(GST_IS_PAD(pad));
-  g_return_if_fail(buf != NULL);
+  g_return_if_fail (pad != NULL);
+  g_return_if_fail (GST_IS_PAD (pad));
+  g_return_if_fail (buf != NULL);
 
   spectrum = GST_SPECTRUM (GST_OBJECT_PARENT (pad));
 
-  samples = (gint16 *)GST_BUFFER_DATA(buf);
+  samples = (gint16 *) GST_BUFFER_DATA (buf);
 
   spec_base = 8;
   spec_len = 1024;
 
-  im = g_malloc(spec_len * sizeof(gint16));
-  g_return_if_fail(im != NULL);
-  loud = g_malloc(spec_len * sizeof(gint16));
-  g_return_if_fail(loud != NULL);
+  im = g_malloc (spec_len * sizeof (gint16));
+  g_return_if_fail (im != NULL);
+  loud = g_malloc (spec_len * sizeof (gint16));
+  g_return_if_fail (loud != NULL);
 
-  memset(im,0,spec_len * sizeof(gint16));
+  memset (im, 0, spec_len * sizeof (gint16));
   /*if (spectrum->meta->channels == 2) { */
-    re = g_malloc(spec_len * sizeof(gint16));
-    for (i=0;i<spec_len;i++)
-      re[i] = (samples[(i*2)] + samples[(i*2)+1]) >> 1;
+  re = g_malloc (spec_len * sizeof (gint16));
+  for (i = 0; i < spec_len; i++)
+    re[i] = (samples[(i * 2)] + samples[(i * 2) + 1]) >> 1;
   /*} else */
   /*  re = samples; */
-  gst_spectrum_window(re,spec_len);
-  gst_spectrum_fix_fft(re,im,spec_base,FALSE);
-  gst_spectrum_fix_loud(loud,re,im,spec_len,0);
-  if (re != samples) g_free(re);
-  g_free(im);
-  step = spec_len / (spectrum->width*2);
-  spect = (guchar *)g_malloc(spectrum->width);
-  for (i=0,pos=0;i<spectrum->width;i++,pos += step) {
+  gst_spectrum_window (re, spec_len);
+  gst_spectrum_fix_fft (re, im, spec_base, FALSE);
+  gst_spectrum_fix_loud (loud, re, im, spec_len, 0);
+  if (re != samples)
+    g_free (re);
+  g_free (im);
+  step = spec_len / (spectrum->width * 2);
+  spect = (guchar *) g_malloc (spectrum->width);
+  for (i = 0, pos = 0; i < spectrum->width; i++, pos += step) {
     if (loud[pos] > -60)
       spect[i] = (loud[pos] + 60) / 2;
     else
@@ -186,32 +192,27 @@ gst_spectrum_chain (GstPad *pad, GstData *_data)
 /*    if (spect[i] > 15); */
 /*      spect[i] = 15; */
   }
-  g_free(loud);
-  gst_buffer_unref(buf);
+  g_free (loud);
+  gst_buffer_unref (buf);
 /*  g_free(samples); */
 
-  newbuf = gst_buffer_new();
-  g_return_if_fail(newbuf != NULL);
-  GST_BUFFER_DATA(newbuf) = spect;
-  GST_BUFFER_SIZE(newbuf) = spectrum->width;
+  newbuf = gst_buffer_new ();
+  g_return_if_fail (newbuf != NULL);
+  GST_BUFFER_DATA (newbuf) = spect;
+  GST_BUFFER_SIZE (newbuf) = spectrum->width;
 
-  gst_pad_push(spectrum->srcpad,GST_DATA (newbuf));
+  gst_pad_push (spectrum->srcpad, GST_DATA (newbuf));
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "spectrum", GST_RANK_NONE, GST_TYPE_SPECTRUM);
+  return gst_element_register (plugin, "spectrum", GST_RANK_NONE,
+      GST_TYPE_SPECTRUM);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "spectrum",
-  "Run an FFT on the audio signal, output spectrum data",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "spectrum",
+    "Run an FFT on the audio signal, output spectrum data",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 8cc546e..23c4ef4 100644 (file)
@@ -26,8 +26,9 @@
 
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_SPECTRUM \
@@ -41,27 +42,29 @@ extern "C" {
 #define GST_IS_SPECTRUM_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SPECTRUM))
 
-typedef struct _GstSpectrum GstSpectrum;
-typedef struct _GstSpectrumClass GstSpectrumClass;
+  typedef struct _GstSpectrum GstSpectrum;
+  typedef struct _GstSpectrumClass GstSpectrumClass;
 
-struct _GstSpectrum {
-  GstElement element;
+  struct _GstSpectrum
+  {
+    GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+    GstPad *sinkpad, *srcpad;
 
-  gint width;
-};
+    gint width;
+  };
 
-struct _GstSpectrumClass {
-  GstElementClass parent_class;
-};
+  struct _GstSpectrumClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_spectrum_get_type(void);
+  GType gst_spectrum_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_SPECTRUM_H__ */
+#endif                         /* __GST_SPECTRUM_H__ */
index b98e612..1192f6d 100644 (file)
 #include "gstudpsink.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  if (!gst_element_register (plugin, "udpsink", GST_RANK_NONE, GST_TYPE_UDPSINK))
+  if (!gst_element_register (plugin, "udpsink", GST_RANK_NONE,
+         GST_TYPE_UDPSINK))
     return FALSE;
-  
+
   if (!gst_element_register (plugin, "udpsrc", GST_RANK_NONE, GST_TYPE_UDPSRC))
     return FALSE;
 
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "udp",
-  "transfer data via UDP",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "udp",
+    "transfer data via UDP",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 89103e9..e5fda05 100644 (file)
@@ -36,7 +36,6 @@ extern "C"
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
-
-#endif /* __GST_UDP_H__ */
+#endif                         /* __cplusplus */
 
+#endif                         /* __GST_UDP_H__ */
index 86238af..af36561 100644 (file)
 #define UDP_DEFAULT_CONTROL    1
 
 /* elementfactory information */
-static GstElementDetails gst_udpsink_details = GST_ELEMENT_DETAILS (
-  "UDP packet sender",
-  "Sink/Network",
-  "Send data over the network via UDP",
-  "Wim Taymans <wim.taymans@chello.be>"
-);
+static GstElementDetails gst_udpsink_details =
+GST_ELEMENT_DETAILS ("UDP packet sender",
+    "Sink/Network",
+    "Send data over the network via UDP",
+    "Wim Taymans <wim.taymans@chello.be>");
 
 /* UDPSink signals and args */
-enum {
+enum
+{
   FRAME_ENCODED,
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_HOST,
   ARG_PORT,
   ARG_CONTROL,
   ARG_MTU
-  /* FILL ME */
+      /* FILL ME */
 };
 
 #define GST_TYPE_UDPSINK_CONTROL       (gst_udpsink_control_get_type())
 static GType
-gst_udpsink_control_get_type(void) {
+gst_udpsink_control_get_type (void)
+{
   static GType udpsink_control_type = 0;
   static GEnumValue udpsink_control[] = {
     {CONTROL_NONE, "1", "none"},
@@ -62,27 +64,29 @@ gst_udpsink_control_get_type(void) {
     {CONTROL_ZERO, NULL, NULL},
   };
   if (!udpsink_control_type) {
-    udpsink_control_type = g_enum_register_static("GstUDPSinkControl", udpsink_control);
+    udpsink_control_type =
+       g_enum_register_static ("GstUDPSinkControl", udpsink_control);
   }
   return udpsink_control_type;
 }
 
-static void            gst_udpsink_base_init           (gpointer g_class);
-static void            gst_udpsink_class_init          (GstUDPSink *klass);
-static void            gst_udpsink_init                (GstUDPSink *udpsink);
+static void gst_udpsink_base_init (gpointer g_class);
+static void gst_udpsink_class_init (GstUDPSink * klass);
+static void gst_udpsink_init (GstUDPSink * udpsink);
 
-static void            gst_udpsink_set_clock           (GstElement *element, GstClock *clock);
+static void gst_udpsink_set_clock (GstElement * element, GstClock * clock);
 
-static void            gst_udpsink_chain               (GstPad *pad,GstData *_data);
-static GstElementStateReturn gst_udpsink_change_state  (GstElement *element);
+static void gst_udpsink_chain (GstPad * pad, GstData * _data);
+static GstElementStateReturn gst_udpsink_change_state (GstElement * element);
 
-static void            gst_udpsink_set_property        (GObject *object, guint prop_id, 
-                                                        const GValue *value, GParamSpec *pspec);
-static void            gst_udpsink_get_property        (GObject *object, guint prop_id, 
-                                                        GValue *value, GParamSpec *pspec);
+static void gst_udpsink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_udpsink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_udpsink_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -92,18 +96,20 @@ gst_udpsink_get_type (void)
 
   if (!udpsink_type) {
     static const GTypeInfo udpsink_info = {
-      sizeof(GstUDPSinkClass),
+      sizeof (GstUDPSinkClass),
       gst_udpsink_base_init,
       NULL,
-      (GClassInitFunc)gst_udpsink_class_init,
+      (GClassInitFunc) gst_udpsink_class_init,
       NULL,
       NULL,
-      sizeof(GstUDPSink),
+      sizeof (GstUDPSink),
       0,
-      (GInstanceInitFunc)gst_udpsink_init,
+      (GInstanceInitFunc) gst_udpsink_init,
       NULL
     };
-    udpsink_type = g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSink", &udpsink_info, 0);
+    udpsink_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSink", &udpsink_info,
+       0);
   }
   return udpsink_type;
 }
@@ -117,29 +123,27 @@ gst_udpsink_base_init (gpointer g_class)
 }
 
 static void
-gst_udpsink_class_init (GstUDPSink *klass)
+gst_udpsink_class_init (GstUDPSink * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HOST,
-    g_param_spec_string ("host", "host", 
-                        "The host/IP/Multicast group to send the packets to",
-                         UDP_DEFAULT_HOST, G_PARAM_READWRITE)); 
+      g_param_spec_string ("host", "host",
+         "The host/IP/Multicast group to send the packets to",
+         UDP_DEFAULT_HOST, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PORT,
-    g_param_spec_int ("port", "port", "The port to send the packets to",
-                       0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE)); 
+      g_param_spec_int ("port", "port", "The port to send the packets to",
+         0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE));
   g_object_class_install_property (gobject_class, ARG_CONTROL,
-    g_param_spec_enum ("control", "control", "The type of control",
-                       GST_TYPE_UDPSINK_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
-  g_object_class_install_property (gobject_class, ARG_MTU, 
-                 g_param_spec_int ("mtu", "mtu", "maximun transmit unit", G_MININT, G_MAXINT, 
-                         0, G_PARAM_READWRITE)); /* CHECKME */
+      g_param_spec_enum ("control", "control", "The type of control",
+         GST_TYPE_UDPSINK_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_MTU, g_param_spec_int ("mtu", "mtu", "maximun transmit unit", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));        /* CHECKME */
 
   gobject_class->set_property = gst_udpsink_set_property;
   gobject_class->get_property = gst_udpsink_get_property;
@@ -150,7 +154,7 @@ gst_udpsink_class_init (GstUDPSink *klass)
 
 
 static GstPadLinkReturn
-gst_udpsink_sink_link (GstPad *pad, const GstCaps *caps)
+gst_udpsink_sink_link (GstPad * pad, const GstCaps * caps)
 {
   GstUDPSink *udpsink;
   struct sockaddr_in serv_addr;
@@ -158,27 +162,28 @@ gst_udpsink_sink_link (GstPad *pad, const GstCaps *caps)
   int fd;
   FILE *f;
   guint bc_val;
+
 #ifndef GST_DISABLE_LOADSAVE
   xmlDocPtr doc;
   xmlChar *buf;
   int buf_size;
 
   udpsink = GST_UDPSINK (gst_pad_get_parent (pad));
-  
-  memset(&serv_addr, 0, sizeof(serv_addr));
-  
+
+  memset (&serv_addr, 0, sizeof (serv_addr));
+
   /* its a name rather than an ipnum */
-  serverhost = gethostbyname(udpsink->host);
-  if (serverhost == (struct hostent *)0) {
-       perror("gethostbyname");
-       return GST_PAD_LINK_REFUSED;
+  serverhost = gethostbyname (udpsink->host);
+  if (serverhost == (struct hostent *) 0) {
+    perror ("gethostbyname");
+    return GST_PAD_LINK_REFUSED;
   }
-  
-  memmove(&serv_addr.sin_addr,serverhost->h_addr, serverhost->h_length);
+
+  memmove (&serv_addr.sin_addr, serverhost->h_addr, serverhost->h_length);
 
   serv_addr.sin_family = AF_INET;
-  serv_addr.sin_port = htons(udpsink->port+1);
-           
+  serv_addr.sin_port = htons (udpsink->port + 1);
+
   doc = xmlNewDoc ("1.0");
   doc->xmlRootNode = xmlNewDocNode (doc, NULL, "NewCaps", NULL);
 
@@ -186,66 +191,66 @@ gst_udpsink_sink_link (GstPad *pad, const GstCaps *caps)
 
   switch (udpsink->control) {
     case CONTROL_UDP:
-           if ((fd = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
-               perror("socket");
-               return GST_PAD_LINK_REFUSED;
-           }
-
-           /* We can only do broadcast in udp */
-           bc_val = 1;
-           setsockopt (fd,SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
-           
-           xmlDocDumpMemory(doc, &buf, &buf_size);
-
-           if (sendto (fd, buf, buf_size, 0, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) == -1)
-           {
-               perror("sending");
-               return GST_PAD_LINK_REFUSED;
-           } 
-           close (fd);
-           break;
+      if ((fd = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
+       perror ("socket");
+       return GST_PAD_LINK_REFUSED;
+      }
+
+      /* We can only do broadcast in udp */
+      bc_val = 1;
+      setsockopt (fd, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
+
+      xmlDocDumpMemory (doc, &buf, &buf_size);
+
+      if (sendto (fd, buf, buf_size, 0, (struct sockaddr *) &serv_addr,
+             sizeof (serv_addr)) == -1) {
+       perror ("sending");
+       return GST_PAD_LINK_REFUSED;
+      }
+      close (fd);
+      break;
     case CONTROL_TCP:
-           if ((fd = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
-               perror("socket");
-               return GST_PAD_LINK_REFUSED;
-           }
-  
-           if (connect(fd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) != 0) {
-               g_printerr ("udpsink: connect to %s port %d failed: %s\n",
-                            udpsink->host, udpsink->port, g_strerror(errno));
-               return GST_PAD_LINK_REFUSED;
-           }
-  
-           f = fdopen (dup (fd), "wb");
-
-           xmlDocDump(f, doc);
-           fclose (f);
-           close (fd);
-           break;
+      if ((fd = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) {
+       perror ("socket");
+       return GST_PAD_LINK_REFUSED;
+      }
+
+      if (connect (fd, (struct sockaddr *) &serv_addr, sizeof (serv_addr)) != 0) {
+       g_printerr ("udpsink: connect to %s port %d failed: %s\n",
+           udpsink->host, udpsink->port, g_strerror (errno));
+       return GST_PAD_LINK_REFUSED;
+      }
+
+      f = fdopen (dup (fd), "wb");
+
+      xmlDocDump (f, doc);
+      fclose (f);
+      close (fd);
+      break;
     case CONTROL_NONE:
-           return GST_PAD_LINK_OK;
-           break;
+      return GST_PAD_LINK_OK;
+      break;
     default:
-           return GST_PAD_LINK_REFUSED;
-           break;
+      return GST_PAD_LINK_REFUSED;
+      break;
   }
 #endif
-  
+
   return GST_PAD_LINK_OK;
 }
 
 static void
-gst_udpsink_set_clock (GstElement *element, GstClock *clock)
+gst_udpsink_set_clock (GstElement * element, GstClock * clock)
 {
   GstUDPSink *udpsink;
-             
+
   udpsink = GST_UDPSINK (element);
 
   udpsink->clock = clock;
 }
 
 static void
-gst_udpsink_init (GstUDPSink *udpsink)
+gst_udpsink_init (GstUDPSink * udpsink)
 {
   /* create the sink and src pads */
   udpsink->sinkpad = gst_pad_new ("sink", GST_PAD_SINK);
@@ -257,12 +262,12 @@ gst_udpsink_init (GstUDPSink *udpsink)
   udpsink->port = UDP_DEFAULT_PORT;
   udpsink->control = CONTROL_UDP;
   udpsink->mtu = 1024;
-  
+
   udpsink->clock = NULL;
 }
 
 static void
-gst_udpsink_chain (GstPad *pad, GstData *_data)
+gst_udpsink_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstUDPSink *udpsink;
@@ -273,63 +278,64 @@ gst_udpsink_chain (GstPad *pad, GstData *_data)
   g_return_if_fail (buf != NULL);
 
   udpsink = GST_UDPSINK (GST_OBJECT_PARENT (pad));
-  
+
   if (udpsink->clock && GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
     gst_element_wait (GST_ELEMENT (udpsink), GST_BUFFER_TIMESTAMP (buf));
   }
-  
-  tolen = sizeof(udpsink->theiraddr);
-  
- /*
-  if (sendto (udpsink->sock, GST_BUFFER_DATA (buf), 
-        GST_BUFFER_SIZE (buf), 0, (struct sockaddr *) &udpsink->theiraddr, 
-        tolen) == -1) {
-               perror("sending");
-  } 
-*/
-  /* MTU */ 
+
+  tolen = sizeof (udpsink->theiraddr);
+
 /*
+     if (sendto (udpsink->sock, GST_BUFFER_DATA (buf), 
+     GST_BUFFER_SIZE (buf), 0, (struct sockaddr *) &udpsink->theiraddr, 
+     tolen) == -1) {
+     perror("sending");
+     
+   */
+  /* MTU */
   for (i = 0; i < GST_BUFFER_SIZE (buf); i += udpsink->mtu) {
     if (GST_BUFFER_SIZE (buf) - i > udpsink->mtu) {
-       if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i, 
-           udpsink->mtu, 0, (struct sockaddr *) &udpsink->theiraddr, 
-           tolen) == -1) {
-               perror("sending");
-       } 
-    }
-    else {
-       if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i, 
-           GST_BUFFER_SIZE (buf) -i, 0, 
-           (struct sockaddr *) &udpsink->theiraddr, tolen) == -1) {
-               perror("sending");
-       } 
+      if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i,
+             udpsink->mtu, 0, (struct sockaddr *) &udpsink->theiraddr,
+             tolen) == -1) {
+       perror ("sending");
+      }
+    } else {
+      if (sendto (udpsink->sock, GST_BUFFER_DATA (buf) + i,
+             GST_BUFFER_SIZE (buf) - i, 0,
+             (struct sockaddr *) &udpsink->theiraddr, tolen) == -1) {
+       perror ("sending");
+      }
     }
   }
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
 static void
-gst_udpsink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_udpsink_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstUDPSink *udpsink;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_UDPSINK(object));
-  udpsink = GST_UDPSINK(object);
+  g_return_if_fail (GST_IS_UDPSINK (object));
+  udpsink = GST_UDPSINK (object);
 
   switch (prop_id) {
     case ARG_HOST:
-      if (udpsink->host != NULL) g_free(udpsink->host);
+      if (udpsink->host != NULL)
+       g_free (udpsink->host);
       if (g_value_get_string (value) == NULL)
-        udpsink->host = NULL;
+       udpsink->host = NULL;
       else
-        udpsink->host = g_strdup (g_value_get_string (value));
+       udpsink->host = g_strdup (g_value_get_string (value));
       break;
     case ARG_PORT:
-        udpsink->port = g_value_get_int (value);
+      udpsink->port = g_value_get_int (value);
       break;
     case ARG_CONTROL:
-        udpsink->control = g_value_get_enum (value);
+      udpsink->control = g_value_get_enum (value);
       break;
     case ARG_MTU:
       udpsink->mtu = g_value_get_int (value);
@@ -340,13 +346,14 @@ gst_udpsink_set_property (GObject *object, guint prop_id, const GValue *value, G
 }
 
 static void
-gst_udpsink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_udpsink_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstUDPSink *udpsink;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_UDPSINK(object));
-  udpsink = GST_UDPSINK(object);
+  g_return_if_fail (GST_IS_UDPSINK (object));
+  udpsink = GST_UDPSINK (object);
 
   switch (prop_id) {
     case ARG_HOST:
@@ -370,67 +377,66 @@ gst_udpsink_get_property (GObject *object, guint prop_id, GValue *value, GParamS
 
 /* create a socket for sending to remote machine */
 static gboolean
-gst_udpsink_init_send (GstUDPSink *sink)
+gst_udpsink_init_send (GstUDPSink * sink)
 {
   struct hostent *he;
   struct in_addr addr;
   guint bc_val;
 
   memset (&sink->theiraddr, 0, sizeof (sink->theiraddr));
-  sink->theiraddr.sin_family = AF_INET;         /* host byte order */
-  sink->theiraddr.sin_port = htons (sink->port); /* short, network byte order */
+  sink->theiraddr.sin_family = AF_INET;        /* host byte order */
+  sink->theiraddr.sin_port = htons (sink->port);       /* short, network byte order */
 
   /* if its an IP address */
   if (inet_aton (sink->host, &addr)) {
     /* check if its a multicast address */
     if ((ntohl (addr.s_addr) & 0xe0000000) == 0xe0000000) {
-       sink->multi_addr.imr_multiaddr.s_addr = addr.s_addr;
-       sink->multi_addr.imr_interface.s_addr = INADDR_ANY;
-       
-       sink->theiraddr.sin_addr = sink->multi_addr.imr_multiaddr;      
-  
-       /* Joining the multicast group */
-       setsockopt (sink->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &sink->multi_addr, sizeof(sink->multi_addr));
+      sink->multi_addr.imr_multiaddr.s_addr = addr.s_addr;
+      sink->multi_addr.imr_interface.s_addr = INADDR_ANY;
+
+      sink->theiraddr.sin_addr = sink->multi_addr.imr_multiaddr;
+
+      /* Joining the multicast group */
+      setsockopt (sink->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &sink->multi_addr,
+         sizeof (sink->multi_addr));
     }
+
     else {
-       sink->theiraddr.sin_addr = 
-               *((struct in_addr *) &addr);    
+      sink->theiraddr.sin_addr = *((struct in_addr *) &addr);
     }
   }
+
   /* we dont need to lookup for localhost */
-  else if (strcmp (sink->host, UDP_DEFAULT_HOST) == 0 && 
-          inet_aton ("127.0.0.1", &addr)) {
-       sink->theiraddr.sin_addr = 
-               *((struct in_addr *) &addr);
+  else if (strcmp (sink->host, UDP_DEFAULT_HOST) == 0 &&
+      inet_aton ("127.0.0.1", &addr)) {
+    sink->theiraddr.sin_addr = *((struct in_addr *) &addr);
   }
 
   /* if its a hostname */
   else if ((he = gethostbyname (sink->host))) {
     sink->theiraddr.sin_addr = *((struct in_addr *) he->h_addr);
   }
-  
+
   else {
-     perror("hostname lookup error?");
-     return FALSE;
+    perror ("hostname lookup error?");
+    return FALSE;
   }
 
   if ((sink->sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
-     perror("socket");
-     return FALSE;
+    perror ("socket");
+    return FALSE;
   }
 
   bc_val = 1;
   setsockopt (sink->sock, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
-  
+
   GST_FLAG_SET (sink, GST_UDPSINK_OPEN);
 
   return TRUE;
 }
 
 static void
-gst_udpsink_close (GstUDPSink *sink)
+gst_udpsink_close (GstUDPSink * sink)
 {
   close (sink->sock);
 
@@ -438,7 +444,7 @@ gst_udpsink_close (GstUDPSink *sink)
 }
 
 static GstElementStateReturn
-gst_udpsink_change_state (GstElement *element)
+gst_udpsink_change_state (GstElement * element)
 {
   g_return_val_if_fail (GST_IS_UDPSINK (element), GST_STATE_FAILURE);
 
@@ -448,7 +454,7 @@ gst_udpsink_change_state (GstElement *element)
   } else {
     if (!GST_FLAG_IS_SET (element, GST_UDPSINK_OPEN)) {
       if (!gst_udpsink_init_send (GST_UDPSINK (element)))
-        return GST_STATE_FAILURE;
+       return GST_STATE_FAILURE;
     }
   }
 
@@ -457,4 +463,3 @@ gst_udpsink_change_state (GstElement *element)
 
   return GST_STATE_SUCCESS;
 }
-
index f49b4ef..9a08f70 100644 (file)
@@ -25,8 +25,9 @@
 #include <gst/gst.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -54,45 +55,48 @@ extern "C" {
 #define GST_IS_UDPSINK_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_UDPSINK))
 
-typedef struct _GstUDPSink GstUDPSink;
-typedef struct _GstUDPSinkClass GstUDPSinkClass;
+  typedef struct _GstUDPSink GstUDPSink;
+  typedef struct _GstUDPSinkClass GstUDPSinkClass;
 
-typedef enum {
-  GST_UDPSINK_OPEN             = GST_ELEMENT_FLAG_LAST,
+  typedef enum
+  {
+    GST_UDPSINK_OPEN = GST_ELEMENT_FLAG_LAST,
 
-  GST_UDPSINK_FLAG_LAST        = GST_ELEMENT_FLAG_LAST + 2,
-} GstUDPSinkFlags;
+    GST_UDPSINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
+  } GstUDPSinkFlags;
 
-struct _GstUDPSink {
-  GstElement element;
+  struct _GstUDPSink
+  {
+    GstElement element;
 
-  /* pads */
-  GstPad *sinkpad,*srcpad;
+    /* pads */
+    GstPad *sinkpad, *srcpad;
 
-  int sock;
-  struct sockaddr_in theiraddr;
-  struct ip_mreq multi_addr;
+    int sock;
+    struct sockaddr_in theiraddr;
+    struct ip_mreq multi_addr;
 
-  gint port;
-  Gst_UDP_Control control;
-  gchar *host;
-    
-  guint mtu;
-    
-  GstClock *clock;
-};
+    gint port;
+    Gst_UDP_Control control;
+    gchar *host;
 
-struct _GstUDPSinkClass {
-  GstElementClass parent_class;
+    guint mtu;
 
-};
+    GstClock *clock;
+  };
 
-GType gst_udpsink_get_type(void);
+  struct _GstUDPSinkClass
+  {
+    GstElementClass parent_class;
+
+  };
+
+  GType gst_udpsink_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_UDPSINK_H__ */
+#endif                         /* __GST_UDPSINK_H__ */
index 66bcd26..48e0086 100644 (file)
 #define UDP_DEFAULT_MULTICAST_GROUP    "0.0.0.0"
 
 /* elementfactory information */
-static GstElementDetails gst_udpsrc_details = GST_ELEMENT_DETAILS (
-  "UDP packet receiver",
-  "Source/Network",
-  "Receive data over the network via UDP",
-  "Wim Taymans <wim.taymans@chello.be>"
-);
+static GstElementDetails gst_udpsrc_details =
+GST_ELEMENT_DETAILS ("UDP packet receiver",
+    "Source/Network",
+    "Receive data over the network via UDP",
+    "Wim Taymans <wim.taymans@chello.be>");
 
 /* UDPSrc signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_PORT,
   ARG_CONTROL,
   ARG_MULTICAST_GROUP
-  /* FILL ME */
+      /* FILL ME */
 };
 
 #define GST_TYPE_UDPSRC_CONTROL        (gst_udpsrc_control_get_type())
 static GType
-gst_udpsrc_control_get_type(void) {
+gst_udpsrc_control_get_type (void)
+{
   static GType udpsrc_control_type = 0;
   static GEnumValue udpsrc_control[] = {
     {CONTROL_NONE, "1", "none"},
@@ -61,26 +63,27 @@ gst_udpsrc_control_get_type(void) {
     {CONTROL_ZERO, NULL, NULL},
   };
   if (!udpsrc_control_type) {
-    udpsrc_control_type = g_enum_register_static("GstUDPSrcControl", udpsrc_control);
+    udpsrc_control_type =
+       g_enum_register_static ("GstUDPSrcControl", udpsrc_control);
   }
   return udpsrc_control_type;
 }
 
-static void            gst_udpsrc_base_init            (gpointer g_class);
-static void            gst_udpsrc_class_init           (GstUDPSrc *klass);
-static void            gst_udpsrc_init                 (GstUDPSrc *udpsrc);
+static void gst_udpsrc_base_init (gpointer g_class);
+static void gst_udpsrc_class_init (GstUDPSrc * klass);
+static void gst_udpsrc_init (GstUDPSrc * udpsrc);
 
-static GstData*        gst_udpsrc_get                  (GstPad *pad);
-static GstElementStateReturn
-                       gst_udpsrc_change_state         (GstElement *element);
+static GstData *gst_udpsrc_get (GstPad * pad);
+static GstElementStateReturn gst_udpsrc_change_state (GstElement * element);
 
-static void            gst_udpsrc_set_property         (GObject *object, guint prop_id, 
-                                                        const GValue *value, GParamSpec *pspec);
-static void            gst_udpsrc_get_property         (GObject *object, guint prop_id, 
-                                                        GValue *value, GParamSpec *pspec);
-static void            gst_udpsrc_set_clock            (GstElement *element, GstClock *clock);
+static void gst_udpsrc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_udpsrc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_udpsrc_set_clock (GstElement * element, GstClock * clock);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_udpsrc_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -90,18 +93,19 @@ gst_udpsrc_get_type (void)
 
   if (!udpsrc_type) {
     static const GTypeInfo udpsrc_info = {
-      sizeof(GstUDPSrcClass),
+      sizeof (GstUDPSrcClass),
       gst_udpsrc_base_init,
       NULL,
-      (GClassInitFunc)gst_udpsrc_class_init,
+      (GClassInitFunc) gst_udpsrc_class_init,
       NULL,
       NULL,
-      sizeof(GstUDPSrc),
+      sizeof (GstUDPSrc),
       0,
-      (GInstanceInitFunc)gst_udpsrc_init,
+      (GInstanceInitFunc) gst_udpsrc_init,
       NULL
     };
-    udpsrc_type = g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSrc", &udpsrc_info, 0);
+    udpsrc_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstUDPSrc", &udpsrc_info, 0);
   }
   return udpsrc_type;
 }
@@ -115,26 +119,26 @@ gst_udpsrc_base_init (gpointer g_class)
 }
 
 static void
-gst_udpsrc_class_init (GstUDPSrc *klass)
+gst_udpsrc_class_init (GstUDPSrc * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PORT,
-    g_param_spec_int ("port", "port", "The port to receive the packets from",
-                       0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE)); 
+      g_param_spec_int ("port", "port", "The port to receive the packets from",
+         0, 32768, UDP_DEFAULT_PORT, G_PARAM_READWRITE));
   g_object_class_install_property (gobject_class, ARG_CONTROL,
-    g_param_spec_enum ("control", "control", "The type of control",
-                       GST_TYPE_UDPSRC_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
+      g_param_spec_enum ("control", "control", "The type of control",
+         GST_TYPE_UDPSRC_CONTROL, CONTROL_UDP, G_PARAM_READWRITE));
   g_object_class_install_property (gobject_class, ARG_MULTICAST_GROUP,
-    g_param_spec_string ("multicast_group", "multicast_group", 
-                        "The Address of multicast group to join",
-                         UDP_DEFAULT_MULTICAST_GROUP, G_PARAM_READWRITE));
+      g_param_spec_string ("multicast_group", "multicast_group",
+         "The Address of multicast group to join",
+         UDP_DEFAULT_MULTICAST_GROUP, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_udpsrc_set_property;
   gobject_class->get_property = gst_udpsrc_get_property;
@@ -144,17 +148,17 @@ gst_udpsrc_class_init (GstUDPSrc *klass)
 }
 
 static void
-gst_udpsrc_set_clock (GstElement *element, GstClock *clock)
+gst_udpsrc_set_clock (GstElement * element, GstClock * clock)
 {
   GstUDPSrc *udpsrc;
-             
+
   udpsrc = GST_UDPSRC (element);
 
   udpsrc->clock = clock;
 }
 
 static void
-gst_udpsrc_init (GstUDPSrc *udpsrc)
+gst_udpsrc_init (GstUDPSrc * udpsrc)
 {
   /* create the src and src pads */
   udpsrc->srcpad = gst_pad_new ("src", GST_PAD_SRC);
@@ -171,8 +175,8 @@ gst_udpsrc_init (GstUDPSrc *udpsrc)
   udpsrc->first_buf = TRUE;
 }
 
-static GstData*
-gst_udpsrc_get (GstPad *pad)
+static GstData *
+gst_udpsrc_get (GstPad * pad)
 {
   GstUDPSrc *udpsrc;
   GstBuffer *outbuf;
@@ -190,13 +194,13 @@ gst_udpsrc_get (GstPad *pad)
   FD_ZERO (&read_fds);
   FD_SET (udpsrc->sock, &read_fds);
   if (udpsrc->control != CONTROL_NONE) {
-     FD_SET (udpsrc->control_sock, &read_fds);
+    FD_SET (udpsrc->control_sock, &read_fds);
   }
-  max_sock = MAX(udpsrc->sock, udpsrc->control_sock);
+  max_sock = MAX (udpsrc->sock, udpsrc->control_sock);
 
-  if (select (max_sock+1, &read_fds, NULL, NULL, NULL) > 0) {
+  if (select (max_sock + 1, &read_fds, NULL, NULL, NULL) > 0) {
     if ((udpsrc->control_sock != -1) &&
-        FD_ISSET (udpsrc->control_sock, &read_fds)) {
+       FD_ISSET (udpsrc->control_sock, &read_fds)) {
 #ifndef GST_DISABLE_LOADSAVE
       guchar *buf;
       int ret;
@@ -205,94 +209,94 @@ gst_udpsrc_get (GstPad *pad)
       xmlDocPtr doc;
       GstCaps *caps;
 
-      buf = g_malloc (1024*10);
+      buf = g_malloc (1024 * 10);
 
       switch (udpsrc->control) {
-       case CONTROL_TCP:
-           len = sizeof (struct sockaddr);
-           fdread = accept (udpsrc->control_sock, &addr, &len);
-           if (fdread < 0) {
-               perror ("accept");
-           }
-      
-           ret = read (fdread, buf, 1024*10);
-           break;
-       case CONTROL_UDP:
-           len = sizeof (struct sockaddr);
-           ret = recvfrom (udpsrc->control_sock, buf, 1024*10, 0, (struct sockaddr *)&tmpaddr, &len);
-           if (ret < 0) {
-               perror ("recvfrom");
-           }
-           break;
-       case CONTROL_NONE:
+       case CONTROL_TCP:
+         len = sizeof (struct sockaddr);
+         fdread = accept (udpsrc->control_sock, &addr, &len);
+         if (fdread < 0) {
+           perror ("accept");
+         }
+
+         ret = read (fdread, buf, 1024 * 10);
+         break;
+       case CONTROL_UDP:
+         len = sizeof (struct sockaddr);
+         ret =
+             recvfrom (udpsrc->control_sock, buf, 1024 * 10, 0,
+             (struct sockaddr *) &tmpaddr, &len);
+         if (ret < 0) {
+           perror ("recvfrom");
+         }
+         break;
+       case CONTROL_NONE:
        default:
-           g_free (buf);
-           return NULL;
-           break;
+         g_free (buf);
+         return NULL;
+         break;
       }
 
       buf[ret] = '\0';
-      doc = xmlParseMemory(buf, ret);
-      caps = gst_caps_load_thyself(doc->xmlRootNode);
+      doc = xmlParseMemory (buf, ret);
+      caps = gst_caps_load_thyself (doc->xmlRootNode);
       if (caps == NULL) {
-        return NULL;
+       return NULL;
       }
-      
+
       /* foward the connect, we don't signal back the result here... */
       if (gst_caps_is_fixed (caps)) {
-        gst_pad_try_set_caps (udpsrc->srcpad, caps);
+       gst_pad_try_set_caps (udpsrc->srcpad, caps);
       } else {
-        GST_ERROR ("caps %" GST_PTR_FORMAT, caps);
-        GST_ELEMENT_ERROR (udpsrc, CORE, NEGOTIATION, (NULL), ("Got unfixed caps from peer"));
+       GST_ERROR ("caps %" GST_PTR_FORMAT, caps);
+       GST_ELEMENT_ERROR (udpsrc, CORE, NEGOTIATION, (NULL),
+           ("Got unfixed caps from peer"));
       }
 
 #endif
       g_free (buf);
       outbuf = NULL;
-    }
-    else {
+    } else {
       outbuf = gst_buffer_new ();
       GST_BUFFER_DATA (outbuf) = g_malloc (24000);
       GST_BUFFER_SIZE (outbuf) = 24000;
 
       if (udpsrc->first_buf) {
-       if (udpsrc->clock) {
-          GstClockTime current_time;
-          GstEvent *discont;
+       if (udpsrc->clock) {
+         GstClockTime current_time;
+         GstEvent *discont;
+
+         current_time = gst_clock_get_time (udpsrc->clock);
 
-          current_time = gst_clock_get_time (udpsrc->clock);
-          
-          GST_BUFFER_TIMESTAMP (outbuf) = current_time;
+         GST_BUFFER_TIMESTAMP (outbuf) = current_time;
 
-          discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME, 
-                               current_time, NULL);
+         discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME,
+             current_time, NULL);
 
-          gst_pad_push (udpsrc->srcpad, GST_DATA (discont));
+         gst_pad_push (udpsrc->srcpad, GST_DATA (discont));
        }
 
        udpsrc->first_buf = FALSE;
       }
-      
+
       else {
-       GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
+       GST_BUFFER_TIMESTAMP (outbuf) = GST_CLOCK_TIME_NONE;
       }
 
       len = sizeof (struct sockaddr);
       numbytes = recvfrom (udpsrc->sock, GST_BUFFER_DATA (outbuf),
-                 GST_BUFFER_SIZE (outbuf), 0, (struct sockaddr *)&tmpaddr, &len);
+         GST_BUFFER_SIZE (outbuf), 0, (struct sockaddr *) &tmpaddr, &len);
 
       if (numbytes != -1) {
-        GST_BUFFER_SIZE (outbuf) = numbytes;
-      }
-      else {
+       GST_BUFFER_SIZE (outbuf) = numbytes;
+      } else {
        perror ("recvfrom");
-        gst_buffer_unref (outbuf);
-        outbuf = NULL;
+       gst_buffer_unref (outbuf);
+       outbuf = NULL;
       }
-  
+
     }
-  }
-  else {
+  } else {
     perror ("select");
     outbuf = NULL;
   }
@@ -301,29 +305,30 @@ gst_udpsrc_get (GstPad *pad)
 
 
 static void
-gst_udpsrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_udpsrc_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstUDPSrc *udpsrc;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_UDPSRC(object));
-  udpsrc = GST_UDPSRC(object);
+  g_return_if_fail (GST_IS_UDPSRC (object));
+  udpsrc = GST_UDPSRC (object);
 
   switch (prop_id) {
     case ARG_PORT:
-        udpsrc->port = g_value_get_int (value);
+      udpsrc->port = g_value_get_int (value);
       break;
     case ARG_MULTICAST_GROUP:
-      g_free(udpsrc->multi_group);
-      
+      g_free (udpsrc->multi_group);
+
       if (g_value_get_string (value) == NULL)
-        udpsrc->multi_group = g_strdup (UDP_DEFAULT_MULTICAST_GROUP);
+       udpsrc->multi_group = g_strdup (UDP_DEFAULT_MULTICAST_GROUP);
       else
-        udpsrc->multi_group = g_strdup (g_value_get_string (value));
-      
+       udpsrc->multi_group = g_strdup (g_value_get_string (value));
+
       break;
     case ARG_CONTROL:
-        udpsrc->control = g_value_get_enum (value);
+      udpsrc->control = g_value_get_enum (value);
       break;
     default:
       break;
@@ -331,13 +336,14 @@ gst_udpsrc_set_property (GObject *object, guint prop_id, const GValue *value, GP
 }
 
 static void
-gst_udpsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_udpsrc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstUDPSrc *udpsrc;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_UDPSRC(object));
-  udpsrc = GST_UDPSRC(object);
+  g_return_if_fail (GST_IS_UDPSRC (object));
+  udpsrc = GST_UDPSRC (object);
 
   switch (prop_id) {
     case ARG_PORT:
@@ -357,92 +363,98 @@ gst_udpsrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
 
 /* create a socket for sending to remote machine */
 static gboolean
-gst_udpsrc_init_receive (GstUDPSrc *src)
+gst_udpsrc_init_receive (GstUDPSrc * src)
 {
   guint bc_val;
-  gint reuse=1;
+  gint reuse = 1;
+
   memset (&src->myaddr, 0, sizeof (src->myaddr));
-  src->myaddr.sin_family = AF_INET;           /* host byte order */
-  src->myaddr.sin_port = htons (src->port);   /* short, network byte order */
+  src->myaddr.sin_family = AF_INET;    /* host byte order */
+  src->myaddr.sin_port = htons (src->port);    /* short, network byte order */
   src->myaddr.sin_addr.s_addr = INADDR_ANY;
 
   if ((src->sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
-    perror("socket");
+    perror ("socket");
     return FALSE;
   }
-  
-  if (setsockopt(src->sock, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) == -1) {
-   perror("setsockopt");
-   return FALSE;
+
+  if (setsockopt (src->sock, SOL_SOCKET, SO_REUSEADDR, &reuse,
+         sizeof (reuse)) == -1) {
+    perror ("setsockopt");
+    return FALSE;
   }
 
-  if (bind (src->sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1)  {
-    perror("bind");
+  if (bind (src->sock, (struct sockaddr *) &src->myaddr,
+         sizeof (src->myaddr)) == -1) {
+    perror ("bind");
     return FALSE;
   }
 
   if (inet_aton (src->multi_group, &(src->multi_addr.imr_multiaddr))) {
     if (src->multi_addr.imr_multiaddr.s_addr) {
       src->multi_addr.imr_interface.s_addr = INADDR_ANY;
-      setsockopt (src->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &src->multi_addr, sizeof(src->multi_addr));
+      setsockopt (src->sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &src->multi_addr,
+         sizeof (src->multi_addr));
     }
   }
 
   bc_val = 1;
   setsockopt (src->sock, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
-  src->myaddr.sin_port = htons (src->port+1);
-  
+  src->myaddr.sin_port = htons (src->port + 1);
+
   switch (src->control) {
     case CONTROL_TCP:
-       if ((src->control_sock = socket (AF_INET, SOCK_STREAM, 0)) == -1) {
-          perror("control_socket");
-          return FALSE;
-        }
-
-       if (bind (src->control_sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1) {
-          perror("control_bind");
-          return FALSE;
-       }
-  
-       if (listen (src->control_sock, 5) == -1) {
-          perror("listen");
-          return FALSE;
-       }
-       
-       fcntl (src->control_sock, F_SETFL, O_NONBLOCK);
-  
-       break;
+      if ((src->control_sock = socket (AF_INET, SOCK_STREAM, 0)) == -1) {
+       perror ("control_socket");
+       return FALSE;
+      }
+
+      if (bind (src->control_sock, (struct sockaddr *) &src->myaddr,
+             sizeof (src->myaddr)) == -1) {
+       perror ("control_bind");
+       return FALSE;
+      }
+
+      if (listen (src->control_sock, 5) == -1) {
+       perror ("listen");
+       return FALSE;
+      }
+
+      fcntl (src->control_sock, F_SETFL, O_NONBLOCK);
+
+      break;
     case CONTROL_UDP:
-       if ((src->control_sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
-          perror("socket");
-          return FALSE;
-       }
-
-       if (bind (src->control_sock, (struct sockaddr *) &src->myaddr, sizeof (src->myaddr)) == -1) 
-       {
-           perror("control_bind");
-           return FALSE;
-       }
-       /* We can only do broadcast in udp */
-       bc_val = 1;
-       setsockopt (src->control_sock, SOL_SOCKET, SO_BROADCAST, &bc_val, sizeof (bc_val));
-       break;
+      if ((src->control_sock = socket (AF_INET, SOCK_DGRAM, 0)) == -1) {
+       perror ("socket");
+       return FALSE;
+      }
+
+      if (bind (src->control_sock, (struct sockaddr *) &src->myaddr,
+             sizeof (src->myaddr)) == -1) {
+       perror ("control_bind");
+       return FALSE;
+      }
+      /* We can only do broadcast in udp */
+      bc_val = 1;
+      setsockopt (src->control_sock, SOL_SOCKET, SO_BROADCAST, &bc_val,
+         sizeof (bc_val));
+      break;
     case CONTROL_NONE:
-        GST_FLAG_SET (src, GST_UDPSRC_OPEN);
-       return TRUE;
-       break;
+      GST_FLAG_SET (src, GST_UDPSRC_OPEN);
+      return TRUE;
+      break;
     default:
-       return FALSE;
-       break;
+      return FALSE;
+      break;
   }
 
   GST_FLAG_SET (src, GST_UDPSRC_OPEN);
-  
+
   return TRUE;
 }
 
 static void
-gst_udpsrc_close (GstUDPSrc *src)
+gst_udpsrc_close (GstUDPSrc * src)
 {
   if (src->sock != -1) {
     close (src->sock);
@@ -457,7 +469,7 @@ gst_udpsrc_close (GstUDPSrc *src)
 }
 
 static GstElementStateReturn
-gst_udpsrc_change_state (GstElement *element)
+gst_udpsrc_change_state (GstElement * element)
 {
   g_return_val_if_fail (GST_IS_UDPSRC (element), GST_STATE_FAILURE);
 
@@ -467,7 +479,7 @@ gst_udpsrc_change_state (GstElement *element)
   } else {
     if (!GST_FLAG_IS_SET (element, GST_UDPSRC_OPEN)) {
       if (!gst_udpsrc_init_receive (GST_UDPSRC (element)))
-        return GST_STATE_FAILURE;
+       return GST_STATE_FAILURE;
     }
   }
 
@@ -476,4 +488,3 @@ gst_udpsrc_change_state (GstElement *element)
 
   return GST_STATE_SUCCESS;
 }
-
index f16673d..bb4273e 100644 (file)
@@ -24,8 +24,9 @@
 #include <gst/gst.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 #include <errno.h>
 #include <string.h>
@@ -49,44 +50,47 @@ extern "C" {
 #define GST_IS_UDPSRC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_UDPSRC))
 
-typedef struct _GstUDPSrc GstUDPSrc;
-typedef struct _GstUDPSrcClass GstUDPSrcClass;
+  typedef struct _GstUDPSrc GstUDPSrc;
+  typedef struct _GstUDPSrcClass GstUDPSrcClass;
 
-typedef enum {
-  GST_UDPSRC_OPEN             = GST_ELEMENT_FLAG_LAST,
+  typedef enum
+  {
+    GST_UDPSRC_OPEN = GST_ELEMENT_FLAG_LAST,
 
-  GST_UDPSRC_FLAG_LAST        = GST_ELEMENT_FLAG_LAST + 2,
-} GstUDPSrcFlags;
+    GST_UDPSRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
+  } GstUDPSrcFlags;
 
-struct _GstUDPSrc {
-  GstElement element;
+  struct _GstUDPSrc
+  {
+    GstElement element;
 
-  /* pads */
-  GstPad *sinkpad,*srcpad;
+    /* pads */
+    GstPad *sinkpad, *srcpad;
 
-  int port;
-  int sock;
-  int control_sock;
-  Gst_UDP_Control control;
-  gchar *multi_group;
+    int port;
+    int sock;
+    int control_sock;
+    Gst_UDP_Control control;
+    gchar *multi_group;
 
-  struct sockaddr_in myaddr;
-  struct ip_mreq multi_addr;
-  GstClock *clock;
+    struct sockaddr_in myaddr;
+    struct ip_mreq multi_addr;
+    GstClock *clock;
 
-  gboolean first_buf;
-};
+    gboolean first_buf;
+  };
 
-struct _GstUDPSrcClass {
-  GstElementClass parent_class;
-};
+  struct _GstUDPSrcClass
+  {
+    GstElementClass parent_class;
+  };
 
-GType gst_udpsrc_get_type(void);
+  GType gst_udpsrc_get_type (void);
 
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_UDPSRC_H__ */
+#endif                         /* __GST_UDPSRC_H__ */
index 6a90b5b..f13610b 100644 (file)
 typedef struct _GstVideoCrop GstVideoCrop;
 typedef struct _GstVideoCropClass GstVideoCropClass;
 
-struct _GstVideoCrop {
-  GstElement    element;
+struct _GstVideoCrop
+{
+  GstElement element;
 
   /* pads */
-  GstPad       *sinkpad;
-  GstPad       *srcpad;
+  GstPad *sinkpad;
+  GstPad *srcpad;
 
   /* caps */
-  gint          width, height;
-  gdouble       fps;
-  gint          crop_left, crop_right, crop_top, crop_bottom;
+  gint width, height;
+  gdouble fps;
+  gint crop_left, crop_right, crop_top, crop_bottom;
 };
 
-struct _GstVideoCropClass {
+struct _GstVideoCropClass
+{
   GstElementClass parent_class;
 };
 
 /* elementfactory information */
-static GstElementDetails gst_video_crop_details = GST_ELEMENT_DETAILS (
-  "video crop filter",
-  "Filter/Effect/Video",
-  "Crops video into a user defined region",
-  "Wim Taymans <wim.taymans@chello.be>"
-);
+static GstElementDetails gst_video_crop_details =
+GST_ELEMENT_DETAILS ("video crop filter",
+    "Filter/Effect/Video",
+    "Crops video into a user defined region",
+    "Wim Taymans <wim.taymans@chello.be>");
 
 
 /* VideoCrop signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_LEFT,
   ARG_RIGHT,
@@ -81,40 +84,38 @@ enum {
 };
 
 static GstStaticPadTemplate gst_video_crop_src_template =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
-);
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
+    );
 
 static GstStaticPadTemplate gst_video_crop_sink_template =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420"))
+    );
 
 
-static void            gst_video_crop_base_init        (gpointer g_class);
-static void            gst_video_crop_class_init       (GstVideoCropClass *klass);
-static void            gst_video_crop_init             (GstVideoCrop *video_crop);
+static void gst_video_crop_base_init (gpointer g_class);
+static void gst_video_crop_class_init (GstVideoCropClass * klass);
+static void gst_video_crop_init (GstVideoCrop * video_crop);
 
-static void            gst_video_crop_set_property     (GObject *object, guint prop_id, 
-                                                        const GValue *value, GParamSpec *pspec);
-static void            gst_video_crop_get_property     (GObject *object, guint prop_id, 
-                                                        GValue *value, GParamSpec *pspec);
+static void gst_video_crop_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_video_crop_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 static GstPadLinkReturn
-                       gst_video_crop_sink_link        (GstPad *pad, const GstCaps *caps);
-static void            gst_video_crop_chain            (GstPad *pad, GstData *_data);
+gst_video_crop_sink_link (GstPad * pad, const GstCaps * caps);
+static void gst_video_crop_chain (GstPad * pad, GstData * _data);
 
-static GstElementStateReturn
-                       gst_video_crop_change_state     (GstElement *element);
+static GstElementStateReturn gst_video_crop_change_state (GstElement * element);
 
 
 static GstElementClass *parent_class = NULL;
+
 /* static guint gst_video_crop_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
@@ -124,17 +125,19 @@ gst_video_crop_get_type (void)
 
   if (!video_crop_type) {
     static const GTypeInfo video_crop_info = {
-      sizeof(GstVideoCropClass),      
+      sizeof (GstVideoCropClass),
       gst_video_crop_base_init,
       NULL,
-      (GClassInitFunc)gst_video_crop_class_init,
+      (GClassInitFunc) gst_video_crop_class_init,
       NULL,
       NULL,
-      sizeof(GstVideoCrop),
+      sizeof (GstVideoCrop),
       0,
-      (GInstanceInitFunc)gst_video_crop_init,
+      (GInstanceInitFunc) gst_video_crop_init,
     };
-    video_crop_type = g_type_register_static(GST_TYPE_ELEMENT, "GstVideoCrop", &video_crop_info, 0);
+    video_crop_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstVideoCrop",
+       &video_crop_info, 0);
   }
   return video_crop_type;
 }
@@ -146,34 +149,34 @@ gst_video_crop_base_init (gpointer g_class)
 
   gst_element_class_set_details (element_class, &gst_video_crop_details);
 
-  gst_element_class_add_pad_template (element_class, 
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_video_crop_sink_template));
-  gst_element_class_add_pad_template (element_class, 
+  gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&gst_video_crop_src_template));
 }
 static void
-gst_video_crop_class_init (GstVideoCropClass *klass)
+gst_video_crop_class_init (GstVideoCropClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*) klass;
-  gstelement_class = (GstElementClass*) klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LEFT,
-    g_param_spec_int ("left", "Left", "Pixels to crop at left",
-                     0, G_MAXINT, 0, G_PARAM_READWRITE));
+      g_param_spec_int ("left", "Left", "Pixels to crop at left",
+         0, G_MAXINT, 0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_RIGHT,
-    g_param_spec_int ("right", "Right", "Pixels to crop at right",
-                     0, G_MAXINT, 0, G_PARAM_READWRITE));
+      g_param_spec_int ("right", "Right", "Pixels to crop at right",
+         0, G_MAXINT, 0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_TOP,
-    g_param_spec_int ("top", "Top", "Pixels to crop at top",
-                     0, G_MAXINT, 0, G_PARAM_READWRITE));
+      g_param_spec_int ("top", "Top", "Pixels to crop at top",
+         0, G_MAXINT, 0, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BOTTOM,
-    g_param_spec_int ("bottom", "Bottom", "Pixels to crop at bottom",
-                     0, G_MAXINT, 0, G_PARAM_READWRITE));
+      g_param_spec_int ("bottom", "Bottom", "Pixels to crop at bottom",
+         0, G_MAXINT, 0, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_video_crop_set_property;
   gobject_class->get_property = gst_video_crop_get_property;
@@ -182,17 +185,19 @@ gst_video_crop_class_init (GstVideoCropClass *klass)
 }
 
 static void
-gst_video_crop_init (GstVideoCrop *video_crop)
+gst_video_crop_init (GstVideoCrop * video_crop)
 {
   /* create the sink and src pads */
-  video_crop->sinkpad = gst_pad_new_from_template(
-      gst_static_pad_template_get (&gst_video_crop_sink_template), "sink");
+  video_crop->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_video_crop_sink_template), "sink");
   gst_element_add_pad (GST_ELEMENT (video_crop), video_crop->sinkpad);
   gst_pad_set_chain_function (video_crop->sinkpad, gst_video_crop_chain);
   gst_pad_set_link_function (video_crop->sinkpad, gst_video_crop_sink_link);
 
-  video_crop->srcpad = gst_pad_new_from_template(
-      gst_static_pad_template_get (&gst_video_crop_src_template), "src");
+  video_crop->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&gst_video_crop_src_template), "src");
   gst_element_add_pad (GST_ELEMENT (video_crop), video_crop->srcpad);
 
   video_crop->crop_right = 0;
@@ -205,13 +210,14 @@ gst_video_crop_init (GstVideoCrop *video_crop)
 
 /* do we need this function? */
 static void
-gst_video_crop_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_video_crop_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstVideoCrop *video_crop;
-           
+
   /* it's not null if we got it, but it might not be ours */
   g_return_if_fail (GST_IS_VIDEO_CROP (object));
-             
+
   video_crop = GST_VIDEO_CROP (object);
 
   switch (prop_id) {
@@ -233,13 +239,14 @@ gst_video_crop_set_property (GObject *object, guint prop_id, const GValue *value
   }
 }
 static void
-gst_video_crop_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_video_crop_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstVideoCrop *video_crop;
-           
+
   /* it's not null if we got it, but it might not be ours */
   g_return_if_fail (GST_IS_VIDEO_CROP (object));
-             
+
   video_crop = GST_VIDEO_CROP (object);
 
   switch (prop_id) {
@@ -262,7 +269,7 @@ gst_video_crop_get_property (GObject *object, guint prop_id, GValue *value, GPar
 }
 
 static GstPadLinkReturn
-gst_video_crop_sink_link (GstPad *pad, const GstCaps *caps)
+gst_video_crop_sink_link (GstPad * pad, const GstCaps * caps)
 {
   GstVideoCrop *video_crop;
   GstStructure *structure;
@@ -271,7 +278,7 @@ gst_video_crop_sink_link (GstPad *pad, const GstCaps *caps)
   video_crop = GST_VIDEO_CROP (gst_pad_get_parent (pad));
   structure = gst_caps_get_structure (caps, 0);
 
-  ret = gst_structure_get_int (structure, "width",  &video_crop->width);
+  ret = gst_structure_get_int (structure, "width", &video_crop->width);
   ret &= gst_structure_get_int (structure, "height", &video_crop->height);
   ret &= gst_structure_get_double (structure, "framerate", &video_crop->fps);
 
@@ -289,28 +296,30 @@ gst_video_crop_sink_link (GstPad *pad, const GstCaps *caps)
 #define GST_VIDEO_I420_V_ROWSTRIDE(width) ((width)/2)
 
 static void
-gst_video_crop_i420 (GstVideoCrop *video_crop, GstBuffer *src_buffer, GstBuffer *dest_buffer)
+gst_video_crop_i420 (GstVideoCrop * video_crop, GstBuffer * src_buffer,
+    GstBuffer * dest_buffer)
 {
   guint8 *src;
   guint8 *dest;
   guint8 *srcY, *srcU, *srcV;
   guint8 *destY, *destU, *destV;
   gint out_width = video_crop->width -
-       (video_crop->crop_left + video_crop->crop_right);
+      (video_crop->crop_left + video_crop->crop_right);
   gint out_height = video_crop->height -
-       (video_crop->crop_top + video_crop->crop_bottom);
+      (video_crop->crop_top + video_crop->crop_bottom);
   gint src_stride;
   gint j;
 
   src = GST_BUFFER_DATA (src_buffer);
   dest = GST_BUFFER_DATA (dest_buffer);
 
-  g_return_if_fail(GST_BUFFER_SIZE (dest_buffer) == GST_VIDEO_I420_SIZE(out_width,out_height));
+  g_return_if_fail (GST_BUFFER_SIZE (dest_buffer) ==
+      GST_VIDEO_I420_SIZE (out_width, out_height));
 
-  srcY = src + GST_VIDEO_I420_Y_OFFSET(video_crop->width, video_crop->height);
-  destY = dest + GST_VIDEO_I420_Y_OFFSET(out_width, out_height);
+  srcY = src + GST_VIDEO_I420_Y_OFFSET (video_crop->width, video_crop->height);
+  destY = dest + GST_VIDEO_I420_Y_OFFSET (out_width, out_height);
 
-  src_stride = GST_VIDEO_I420_Y_ROWSTRIDE(video_crop->width);
+  src_stride = GST_VIDEO_I420_Y_ROWSTRIDE (video_crop->width);
 
   /* copy Y plane first */
 
@@ -321,32 +330,32 @@ gst_video_crop_i420 (GstVideoCrop *video_crop, GstBuffer *src_buffer, GstBuffer
     destY += out_width;
   }
 
-  src_stride = GST_VIDEO_I420_U_ROWSTRIDE(video_crop->width);
+  src_stride = GST_VIDEO_I420_U_ROWSTRIDE (video_crop->width);
 
-  destU = dest + GST_VIDEO_I420_U_OFFSET(out_width, out_height);
-  destV = dest + GST_VIDEO_I420_V_OFFSET(out_width, out_height);
+  destU = dest + GST_VIDEO_I420_U_OFFSET (out_width, out_height);
+  destV = dest + GST_VIDEO_I420_V_OFFSET (out_width, out_height);
 
-  srcU = src + GST_VIDEO_I420_U_OFFSET(video_crop->width, video_crop->height);
-  srcV = src + GST_VIDEO_I420_V_OFFSET(video_crop->width, video_crop->height);
+  srcU = src + GST_VIDEO_I420_U_OFFSET (video_crop->width, video_crop->height);
+  srcV = src + GST_VIDEO_I420_V_OFFSET (video_crop->width, video_crop->height);
 
-  srcU += src_stride * (video_crop->crop_top/2) + (video_crop->crop_left/2);
-  srcV += src_stride * (video_crop->crop_top/2) + (video_crop->crop_left/2);
+  srcU += src_stride * (video_crop->crop_top / 2) + (video_crop->crop_left / 2);
+  srcV += src_stride * (video_crop->crop_top / 2) + (video_crop->crop_left / 2);
 
-  for (j = 0; j < out_height/2; j++) {
+  for (j = 0; j < out_height / 2; j++) {
     /* copy U plane */
-    memcpy (destU, srcU, out_width/2);
+    memcpy (destU, srcU, out_width / 2);
     srcU += src_stride;
-    destU += out_width/2;
+    destU += out_width / 2;
 
     /* copy V plane */
-    memcpy (destV, srcV, out_width/2);
+    memcpy (destV, srcV, out_width / 2);
     srcV += src_stride;
-    destV += out_width/2;
+    destV += out_width / 2;
   }
 }
 
 static void
-gst_video_crop_chain (GstPad *pad, GstData *_data)
+gst_video_crop_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buffer = GST_BUFFER (_data);
   GstVideoCrop *video_crop;
@@ -367,9 +376,9 @@ gst_video_crop_chain (GstPad *pad, GstData *_data)
   }
 
   new_width = video_crop->width -
-       (video_crop->crop_left + video_crop->crop_right);
+      (video_crop->crop_left + video_crop->crop_right);
   new_height = video_crop->height -
-       (video_crop->crop_top + video_crop->crop_bottom);
+      (video_crop->crop_top + video_crop->crop_bottom);
 
   outbuf = gst_buffer_new_and_alloc ((new_width * new_height * 3) / 2);
   GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buffer);
@@ -381,7 +390,7 @@ gst_video_crop_chain (GstPad *pad, GstData *_data)
 }
 
 static GstElementStateReturn
-gst_video_crop_change_state (GstElement *element)
+gst_video_crop_change_state (GstElement * element)
 {
   GstVideoCrop *video_crop;
 
@@ -408,19 +417,14 @@ gst_video_crop_change_state (GstElement *element)
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "videocrop", GST_RANK_PRIMARY, GST_TYPE_VIDEO_CROP);
+  return gst_element_register (plugin, "videocrop", GST_RANK_PRIMARY,
+      GST_TYPE_VIDEO_CROP);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "videocrop",
-  "Crops video into a user defined region",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "videocrop",
+    "Crops video into a user defined region",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 8f4ff28..7cc2b0f 100644 (file)
@@ -49,7 +49,8 @@
 typedef struct _GstGamma GstGamma;
 typedef struct _GstGammaClass GstGammaClass;
 
-struct _GstGamma {
+struct _GstGamma
+{
   GstVideofilter videofilter;
 
   double gamma;
@@ -60,18 +61,21 @@ struct _GstGamma {
   guint8 gamma_table_b[256];
 };
 
-struct _GstGammaClass {
+struct _GstGammaClass
+{
   GstVideofilterClass parent_class;
 };
 
 
 /* GstGamma signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_GAMMA,
   ARG_GAMMA_R,
@@ -80,18 +84,23 @@ enum {
   /* FILL ME */
 };
 
-static void    gst_gamma_base_init     (gpointer g_class);
-static void    gst_gamma_class_init    (gpointer g_class, gpointer class_data);
-static void    gst_gamma_init          (GTypeInstance *instance, gpointer g_class);
+static void gst_gamma_base_init (gpointer g_class);
+static void gst_gamma_class_init (gpointer g_class, gpointer class_data);
+static void gst_gamma_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_gamma_set_property          (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_gamma_get_property          (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_gamma_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_gamma_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_gamma_planar411(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_gamma_rgb24(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_gamma_rgb32(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_gamma_setup(GstVideofilter *videofilter);
-static void gst_gamma_calculate_tables (GstGamma *gamma);
+static void gst_gamma_planar411 (GstVideofilter * videofilter, void *dest,
+    void *src);
+static void gst_gamma_rgb24 (GstVideofilter * videofilter, void *dest,
+    void *src);
+static void gst_gamma_rgb32 (GstVideofilter * videofilter, void *dest,
+    void *src);
+static void gst_gamma_setup (GstVideofilter * videofilter);
+static void gst_gamma_calculate_tables (GstGamma * gamma);
 
 GType
 gst_gamma_get_type (void)
@@ -100,47 +109,46 @@ gst_gamma_get_type (void)
 
   if (!gamma_type) {
     static const GTypeInfo gamma_info = {
-      sizeof(GstGammaClass),
+      sizeof (GstGammaClass),
       gst_gamma_base_init,
       NULL,
       gst_gamma_class_init,
       NULL,
       NULL,
-      sizeof(GstGamma),
+      sizeof (GstGamma),
       0,
       gst_gamma_init,
     };
-    gamma_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstGamma", &gamma_info, 0);
+    gamma_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstGamma", &gamma_info, 0);
   }
   return gamma_type;
 }
 
 static GstVideofilterFormat gst_gamma_formats[] = {
-  { "I420", 12, gst_gamma_planar411, },
-  { "RGB ", 24, gst_gamma_rgb24, 24, G_BIG_ENDIAN, 0xff0000, 0xff00, 0xff },
-  { "RGB ", 32, gst_gamma_rgb32, 24, G_BIG_ENDIAN, 0x00ff00, 0xff0000, 0xff000000 },
+  {"I420", 12, gst_gamma_planar411,},
+  {"RGB ", 24, gst_gamma_rgb24, 24, G_BIG_ENDIAN, 0xff0000, 0xff00, 0xff},
+  {"RGB ", 32, gst_gamma_rgb32, 24, G_BIG_ENDIAN, 0x00ff00, 0xff0000,
+      0xff000000},
 };
 
-  
+
 static void
 gst_gamma_base_init (gpointer g_class)
 {
-  static GstElementDetails gamma_details = GST_ELEMENT_DETAILS (
-    "Video Gamma Correction",
-    "Filter/Effect/Video",
-    "Adjusts gamma on a video stream",
-    "Arwed v. Merkatz <v.merkatz@gmx.net"
-  );
+  static GstElementDetails gamma_details =
+      GST_ELEMENT_DETAILS ("Video Gamma Correction",
+      "Filter/Effect/Video",
+      "Adjusts gamma on a video stream",
+      "Arwed v. Merkatz <v.merkatz@gmx.net");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &gamma_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_gamma_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
-       gst_gamma_formats + i);
+  for (i = 0; i < G_N_ELEMENTS (gst_gamma_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class, gst_gamma_formats + i);
   }
 
   gst_videofilter_class_add_pad_templates (GST_VIDEOFILTER_CLASS (g_class));
@@ -155,18 +163,18 @@ gst_gamma_class_init (gpointer g_class, gpointer class_data)
   gobject_class = G_OBJECT_CLASS (g_class);
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
-  g_object_class_install_property(gobject_class, ARG_GAMMA,
-      g_param_spec_double("gamma", "Gamma", "gamma",
-        0.01, 10, 1, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_GAMMA_R,
-      g_param_spec_double("redgamma", "Gamma_r", "gamma value for the red channel",
-        0.01, 10, 1, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_GAMMA_G,
-      g_param_spec_double("greengamma", "Gamma_g", "gamma value for the green channel",
-        0.01, 10, 1, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_GAMMA_B,
-      g_param_spec_double("bluegamma", "Gamma_b", "gamma value for the blue channel",
-        0.01, 10, 1, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_GAMMA,
+      g_param_spec_double ("gamma", "Gamma", "gamma",
+         0.01, 10, 1, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_GAMMA_R,
+      g_param_spec_double ("redgamma", "Gamma_r",
+         "gamma value for the red channel", 0.01, 10, 1, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_GAMMA_G,
+      g_param_spec_double ("greengamma", "Gamma_g",
+         "gamma value for the green channel", 0.01, 10, 1, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_GAMMA_B,
+      g_param_spec_double ("bluegamma", "Gamma_b",
+         "gamma value for the blue channel", 0.01, 10, 1, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_gamma_set_property;
   gobject_class->get_property = gst_gamma_get_property;
@@ -175,14 +183,14 @@ gst_gamma_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_gamma_init (GTypeInstance *instance, gpointer g_class)
+gst_gamma_init (GTypeInstance * instance, gpointer g_class)
 {
   GstGamma *gamma = GST_GAMMA (instance);
   GstVideofilter *videofilter;
 
-  GST_DEBUG("gst_gamma_init");
+  GST_DEBUG ("gst_gamma_init");
 
-  videofilter = GST_VIDEOFILTER(gamma);
+  videofilter = GST_VIDEOFILTER (gamma);
 
   /* do stuff */
   gamma->gamma = 1;
@@ -193,15 +201,16 @@ gst_gamma_init (GTypeInstance *instance, gpointer g_class)
 }
 
 static void
-gst_gamma_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_gamma_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstGamma *gamma;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_GAMMA(object));
-  gamma = GST_GAMMA(object);
+  g_return_if_fail (GST_IS_GAMMA (object));
+  gamma = GST_GAMMA (object);
 
-  GST_DEBUG("gst_gamma_set_property");
+  GST_DEBUG ("gst_gamma_set_property");
   switch (prop_id) {
     case ARG_GAMMA:
       gamma->gamma = g_value_get_double (value);
@@ -225,13 +234,14 @@ gst_gamma_set_property (GObject *object, guint prop_id, const GValue *value, GPa
 }
 
 static void
-gst_gamma_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_gamma_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstGamma *gamma;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_GAMMA(object));
-  gamma = GST_GAMMA(object);
+  g_return_if_fail (GST_IS_GAMMA (object));
+  gamma = GST_GAMMA (object);
 
   switch (prop_id) {
     case ARG_GAMMA:
@@ -252,50 +262,42 @@ gst_gamma_get_property (GObject *object, guint prop_id, GValue *value, GParamSpe
   }
 }
 
-static gboolean plugin_init (GstPlugin *plugin)
+static gboolean
+plugin_init (GstPlugin * plugin)
 {
-  if(!gst_library_load("gstvideofilter"))
+  if (!gst_library_load ("gstvideofilter"))
     return FALSE;
 
-  return gst_element_register (plugin, "gamma", GST_RANK_NONE,
-      GST_TYPE_GAMMA);
+  return gst_element_register (plugin, "gamma", GST_RANK_NONE, GST_TYPE_GAMMA);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "gamma",
-  "Changes gamma on video images",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "gamma",
+    "Changes gamma on video images",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
 
 
-static void gst_gamma_setup(GstVideofilter *videofilter)
+     static void gst_gamma_setup (GstVideofilter * videofilter)
 {
   GstGamma *gamma;
 
-  g_return_if_fail(GST_IS_GAMMA(videofilter));
-  gamma = GST_GAMMA(videofilter);
+  g_return_if_fail (GST_IS_GAMMA (videofilter));
+  gamma = GST_GAMMA (videofilter);
 
   /* if any setup needs to be done, do it here */
 
 }
 
 static void
-gst_gamma_calculate_tables (GstGamma *gamma)
+gst_gamma_calculate_tables (GstGamma * gamma)
 {
   int n;
   double val;
   double exp;
 
-  if (gamma->gamma == 1.0  &&
-      gamma->gamma_r == 1.0 &&
-      gamma->gamma_g == 1.0 &&
-      gamma->gamma_b == 1.0) {
+  if (gamma->gamma == 1.0 &&
+      gamma->gamma_r == 1.0 && gamma->gamma_g == 1.0 && gamma->gamma_b == 1.0) {
     GST_VIDEOFILTER (gamma)->passthru = TRUE;
     return;
   }
@@ -303,77 +305,80 @@ gst_gamma_calculate_tables (GstGamma *gamma)
 
   exp = 1.0 / gamma->gamma;
   for (n = 0; n < 256; n++) {
-    val = n/255.0;
-    val = pow(val, exp);
+    val = n / 255.0;
+    val = pow (val, exp);
     val = 255.0 * val;
-    gamma->gamma_table[n] = (unsigned char) floor(val + 0.5);
+    gamma->gamma_table[n] = (unsigned char) floor (val + 0.5);
   }
   exp = 1.0 / gamma->gamma_r;
   for (n = 0; n < 256; n++) {
-    val = n/255.0;
-    val = pow(val, exp);
+    val = n / 255.0;
+    val = pow (val, exp);
     val = 255.0 * val;
-    gamma->gamma_table_r[n] = (unsigned char) floor(val + 0.5);
+    gamma->gamma_table_r[n] = (unsigned char) floor (val + 0.5);
   }
   exp = 1.0 / gamma->gamma_g;
   for (n = 0; n < 256; n++) {
-    val = n/255.0;
-    val = pow(val, exp);
+    val = n / 255.0;
+    val = pow (val, exp);
     val = 255.0 * val;
-    gamma->gamma_table_g[n] = (unsigned char) floor(val + 0.5);
+    gamma->gamma_table_g[n] = (unsigned char) floor (val + 0.5);
   }
   exp = 1.0 / gamma->gamma_b;
   for (n = 0; n < 256; n++) {
-    val = n/255.0;
-    val = pow(val, exp);
+    val = n / 255.0;
+    val = pow (val, exp);
     val = 255.0 * val;
-    gamma->gamma_table_b[n] = (unsigned char) floor(val + 0.5);
+    gamma->gamma_table_b[n] = (unsigned char) floor (val + 0.5);
   }
 
 }
 
-static void gst_gamma_planar411(GstVideofilter *videofilter,
-    void *dest, void *src)
+static void
+gst_gamma_planar411 (GstVideofilter * videofilter, void *dest, void *src)
 {
   GstGamma *gamma;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
 
-  g_return_if_fail(GST_IS_GAMMA(videofilter));
-  gamma = GST_GAMMA(videofilter);
+  g_return_if_fail (GST_IS_GAMMA (videofilter));
+  gamma = GST_GAMMA (videofilter);
 
-  memcpy(dest,src,width * height + (width/2) * (height/2) * 2);
+  memcpy (dest, src, width * height + (width / 2) * (height / 2) * 2);
 
   if (gamma->gamma != 1.0) {
     {
       guint8 *cdest = dest;
       guint8 *csrc = src;
-      int x,y;
-      for (y=0; y < height; y++) {
-        for (x=0; x < width; x++) {
-          cdest[y*width + x] = gamma->gamma_table[(unsigned char)csrc[y*width + x]];
-        }
+      int x, y;
+
+      for (y = 0; y < height; y++) {
+       for (x = 0; x < width; x++) {
+         cdest[y * width + x] =
+             gamma->gamma_table[(unsigned char) csrc[y * width + x]];
+       }
       }
     }
   }
 }
 
-static void gst_gamma_rgb24(GstVideofilter *videofilter, void *dest, void *src)
+static void
+gst_gamma_rgb24 (GstVideofilter * videofilter, void *dest, void *src)
 {
   GstGamma *gamma;
   int i;
   int width, height;
   guint8 *csrc = src;
   guint8 *cdest = dest;
-  
-  g_return_if_fail(GST_IS_GAMMA(videofilter));
-  gamma = GST_GAMMA(videofilter);
 
-  width = gst_videofilter_get_input_width(videofilter);
-  height = gst_videofilter_get_input_height(videofilter);
+  g_return_if_fail (GST_IS_GAMMA (videofilter));
+  gamma = GST_GAMMA (videofilter);
+
+  width = gst_videofilter_get_input_width (videofilter);
+  height = gst_videofilter_get_input_height (videofilter);
   if (gamma->gamma == 1.0) {
     i = 0;
-    while ( i < width * height * 3) {
+    while (i < width * height * 3) {
       *cdest++ = gamma->gamma_table_r[*csrc++];
       *cdest++ = gamma->gamma_table_g[*csrc++];
       *cdest++ = gamma->gamma_table_b[*csrc++];
@@ -388,22 +393,23 @@ static void gst_gamma_rgb24(GstVideofilter *videofilter, void *dest, void *src)
   }
 }
 
-static void gst_gamma_rgb32(GstVideofilter *videofilter, void *dest, void *src)
+static void
+gst_gamma_rgb32 (GstVideofilter * videofilter, void *dest, void *src)
 {
   GstGamma *gamma;
   int i;
   int width, height;
   guint8 *csrc = src;
   guint8 *cdest = dest;
-  
-  g_return_if_fail(GST_IS_GAMMA(videofilter));
-  gamma = GST_GAMMA(videofilter);
 
-  width = gst_videofilter_get_input_width(videofilter);
-  height = gst_videofilter_get_input_height(videofilter);
+  g_return_if_fail (GST_IS_GAMMA (videofilter));
+  gamma = GST_GAMMA (videofilter);
+
+  width = gst_videofilter_get_input_width (videofilter);
+  height = gst_videofilter_get_input_height (videofilter);
   if (gamma->gamma == 1.0) {
     i = 0;
-    while ( i < width * height * 4) {
+    while (i < width * height * 4) {
       *cdest++ = gamma->gamma_table_b[*csrc++];
       *cdest++ = gamma->gamma_table_g[*csrc++];
       *cdest++ = gamma->gamma_table_r[*csrc++];
@@ -415,10 +421,10 @@ static void gst_gamma_rgb32(GstVideofilter *videofilter, void *dest, void *src)
     i = 0;
     while (i < width * height * 4) {
       if ((i % 4) != 3)
-        *cdest++ = gamma->gamma_table[*csrc++];
+       *cdest++ = gamma->gamma_table[*csrc++];
       else {
-        cdest++;
-        csrc++;
+       cdest++;
+       csrc++;
       }
       i++;
     }
index ddbf76b..2acad7c 100644 (file)
 #include <gst/colorbalance/colorbalance.h>
 
 /* GstVideobalance signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_CONTRAST,
   ARG_BRIGHTNESS,
   ARG_HUE,
   ARG_SATURATION
-  /* FILL ME */
+      /* FILL ME */
 };
 
 static GstVideofilterClass *parent_class = NULL;
 
-static void    gst_videobalance_base_init      (gpointer g_class);
-static void    gst_videobalance_class_init     (gpointer g_class, gpointer class_data);
-static void    gst_videobalance_init           (GTypeInstance *instance, gpointer g_class);
+static void gst_videobalance_base_init (gpointer g_class);
+static void gst_videobalance_class_init (gpointer g_class, gpointer class_data);
+static void gst_videobalance_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_videobalance_set_property           (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_videobalance_get_property           (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_videobalance_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_videobalance_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_videobalance_planar411(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_videobalance_setup(GstVideofilter *videofilter);
+static void gst_videobalance_planar411 (GstVideofilter * videofilter,
+    void *dest, void *src);
+static void gst_videobalance_setup (GstVideofilter * videofilter);
 
-static void gst_videobalance_interface_init (GstImplementsInterfaceClass *klass);
-static void gst_videobalance_colorbalance_init (GstColorBalanceClass *iface);
+static void gst_videobalance_interface_init (GstImplementsInterfaceClass *
+    klass);
+static void gst_videobalance_colorbalance_init (GstColorBalanceClass * iface);
 
-static void gst_videobalance_dispose (GObject *object);
-static void gst_videobalance_update_properties (GstVideobalance *videobalance);
+static void gst_videobalance_dispose (GObject * object);
+static void gst_videobalance_update_properties (GstVideobalance * videobalance);
 
 GType
 gst_videobalance_get_type (void)
@@ -77,62 +83,61 @@ gst_videobalance_get_type (void)
 
   if (!videobalance_type) {
     static const GTypeInfo videobalance_info = {
-      sizeof(GstVideobalanceClass),
+      sizeof (GstVideobalanceClass),
       gst_videobalance_base_init,
       NULL,
       gst_videobalance_class_init,
       NULL,
       NULL,
-      sizeof(GstVideobalance),
+      sizeof (GstVideobalance),
       0,
       gst_videobalance_init,
     };
-    
+
     static const GInterfaceInfo iface_info = {
       (GInterfaceInitFunc) gst_videobalance_interface_init,
       NULL,
       NULL,
     };
-    
+
     static const GInterfaceInfo colorbalance_info = {
       (GInterfaceInitFunc) gst_videobalance_colorbalance_init,
       NULL,
       NULL,
     };
-    
-    videobalance_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstVideobalance", &videobalance_info, 0);
-    
-    g_type_add_interface_static (videobalance_type, GST_TYPE_IMPLEMENTS_INTERFACE,
-                                 &iface_info);
+
+    videobalance_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstVideobalance", &videobalance_info, 0);
+
+    g_type_add_interface_static (videobalance_type,
+       GST_TYPE_IMPLEMENTS_INTERFACE, &iface_info);
     g_type_add_interface_static (videobalance_type, GST_TYPE_COLOR_BALANCE,
-                                 &colorbalance_info);
+       &colorbalance_info);
   }
   return videobalance_type;
 }
 
 static GstVideofilterFormat gst_videobalance_formats[] = {
-  { "I420", 12, gst_videobalance_planar411, },
+  {"I420", 12, gst_videobalance_planar411,},
 };
 
-  
+
 static void
 gst_videobalance_base_init (gpointer g_class)
 {
-  static GstElementDetails videobalance_details = GST_ELEMENT_DETAILS (
-    "Video Balance Control",
-    "Filter/Effect/Video",
-    "Adjusts brightness, contrast, hue, saturation on a video stream",
-    "David Schleef <ds@schleef.org>"
-  );
+  static GstElementDetails videobalance_details =
+      GST_ELEMENT_DETAILS ("Video Balance Control",
+      "Filter/Effect/Video",
+      "Adjusts brightness, contrast, hue, saturation on a video stream",
+      "David Schleef <ds@schleef.org>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &videobalance_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_videobalance_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_videobalance_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_videobalance_formats + i);
   }
 
@@ -140,7 +145,7 @@ gst_videobalance_base_init (gpointer g_class)
 }
 
 static void
-gst_videobalance_dispose (GObject *object)
+gst_videobalance_dispose (GObject * object)
 {
   GList *channels = NULL;
   GstVideobalance *balance;
@@ -155,19 +160,19 @@ gst_videobalance_dispose (GObject *object)
   g_free (balance->tabley);
   g_free (balance->tableu);
   g_free (balance->tablev);
-  
+
   channels = balance->channels;
-  
-  while (channels)
-    {
-      GstColorBalanceChannel *channel = channels->data;
-      g_object_unref (channel);
-      channels = g_list_next (channels);
-    }
-    
+
+  while (channels) {
+    GstColorBalanceChannel *channel = channels->data;
+
+    g_object_unref (channel);
+    channels = g_list_next (channels);
+  }
+
   if (balance->channels)
     g_list_free (balance->channels);
-  
+
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
@@ -181,19 +186,18 @@ gst_videobalance_class_init (gpointer g_class, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
   parent_class = g_type_class_ref (GST_TYPE_VIDEOFILTER);
-  
-  g_object_class_install_property(gobject_class, ARG_CONTRAST,
-      g_param_spec_double("contrast","Contrast","contrast",
-      0, 2, 1, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_BRIGHTNESS,
-      g_param_spec_double("brightness","Brightness","brightness",
-      -1, 1, 0, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_HUE,
-      g_param_spec_double("hue","Hue","hue",
-      -1, 1, 0, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_SATURATION,
-      g_param_spec_double("saturation","Saturation","saturation",
-      0, 2, 1, G_PARAM_READWRITE));
+
+  g_object_class_install_property (gobject_class, ARG_CONTRAST,
+      g_param_spec_double ("contrast", "Contrast", "contrast",
+         0, 2, 1, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_BRIGHTNESS,
+      g_param_spec_double ("brightness", "Brightness", "brightness",
+         -1, 1, 0, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_HUE,
+      g_param_spec_double ("hue", "Hue", "hue", -1, 1, 0, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_SATURATION,
+      g_param_spec_double ("saturation", "Saturation", "saturation",
+         0, 2, 1, G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_videobalance_set_property;
   gobject_class->get_property = gst_videobalance_get_property;
@@ -202,28 +206,29 @@ gst_videobalance_class_init (gpointer g_class, gpointer class_data)
   videofilter_class->setup = gst_videobalance_setup;
 
 #ifdef HAVE_LIBOIL
-  oil_init();
+  oil_init ();
 #endif
 }
 
 static void
-gst_videobalance_init (GTypeInstance *instance, gpointer g_class)
+gst_videobalance_init (GTypeInstance * instance, gpointer g_class)
 {
   GstVideobalance *videobalance = GST_VIDEOBALANCE (instance);
   GstVideofilter *videofilter;
   char *channels[4] = { "HUE", "SATURATION",
-                        "BRIGHTNESS", "CONTRAST" };
+    "BRIGHTNESS", "CONTRAST"
+  };
   gint i;
-                        
-  GST_DEBUG("gst_videobalance_init");
 
-  videofilter = GST_VIDEOFILTER(videobalance);
+  GST_DEBUG ("gst_videobalance_init");
+
+  videofilter = GST_VIDEOFILTER (videobalance);
 
   /* do stuff */
-  videobalance->contrast   = 1.0;
+  videobalance->contrast = 1.0;
   videobalance->brightness = 0.0;
   videobalance->saturation = 1.0;
-  videobalance->hue        = 0.0;
+  videobalance->hue = 0.0;
 
   videobalance->needupdate = FALSE;
   videofilter->passthru = TRUE;
@@ -235,60 +240,58 @@ gst_videobalance_init (GTypeInstance *instance, gpointer g_class)
     videobalance->tableu[i] = g_new (guint8, 256);
     videobalance->tablev[i] = g_new (guint8, 256);
   }
-                        
+
   /* Generate the channels list */
-  for (i = 0; i < (sizeof (channels) / sizeof (char *)); i++)
-    {
-      GstColorBalanceChannel *channel;
-      
-      channel = g_object_new (GST_TYPE_COLOR_BALANCE_CHANNEL, NULL);
-      channel->label = g_strdup (channels[i]);
-      channel->min_value = -1000;
-      channel->max_value = 1000;
-      
-      videobalance->channels = g_list_append (videobalance->channels,
-                                              channel);
-    }
+  for (i = 0; i < (sizeof (channels) / sizeof (char *)); i++) {
+    GstColorBalanceChannel *channel;
+
+    channel = g_object_new (GST_TYPE_COLOR_BALANCE_CHANNEL, NULL);
+    channel->label = g_strdup (channels[i]);
+    channel->min_value = -1000;
+    channel->max_value = 1000;
+
+    videobalance->channels = g_list_append (videobalance->channels, channel);
+  }
 
 }
 
 static gboolean
-gst_videobalance_interface_supported (GstImplementsInterface *iface, GType type)
+gst_videobalance_interface_supported (GstImplementsInterface * iface,
+    GType type)
 {
   g_assert (type == GST_TYPE_COLOR_BALANCE);
   return TRUE;
 }
 
 static void
-gst_videobalance_interface_init (GstImplementsInterfaceClass *klass)
+gst_videobalance_interface_init (GstImplementsInterfaceClass * klass)
 {
   klass->supported = gst_videobalance_interface_supported;
 }
 
 static const GList *
-gst_videobalance_colorbalance_list_channels (GstColorBalance *balance)
+gst_videobalance_colorbalance_list_channels (GstColorBalance * balance)
 {
   GstVideobalance *videobalance = GST_VIDEOBALANCE (balance);
-  
+
   g_return_val_if_fail (videobalance != NULL, NULL);
   g_return_val_if_fail (GST_IS_VIDEOBALANCE (videobalance), NULL);
-  
+
   return videobalance->channels;
 }
 
 static void
-gst_videobalance_colorbalance_set_value (GstColorBalance        *balance,
-                                         GstColorBalanceChannel *channel,
-                                         gint                    value)
+gst_videobalance_colorbalance_set_value (GstColorBalance * balance,
+    GstColorBalanceChannel * channel, gint value)
 {
   GstVideobalance *vb = GST_VIDEOBALANCE (balance);
   GstVideofilter *vf = GST_VIDEOFILTER (vb);
-  
+
   g_return_if_fail (vb != NULL);
   g_return_if_fail (GST_IS_VIDEOBALANCE (vb));
   g_return_if_fail (GST_IS_VIDEOFILTER (vf));
   g_return_if_fail (channel->label != NULL);
-  
+
   if (!g_ascii_strcasecmp (channel->label, "HUE")) {
     vb->hue = (value + 1000.0) * 2.0 / 2000.0 - 1.0;
   } else if (!g_ascii_strcasecmp (channel->label, "SATURATION")) {
@@ -298,21 +301,21 @@ gst_videobalance_colorbalance_set_value (GstColorBalance        *balance,
   } else if (!g_ascii_strcasecmp (channel->label, "CONTRAST")) {
     vb->contrast = (value + 1000.0) * 2.0 / 2000.0;
   }
-  
+
   gst_videobalance_update_properties (vb);
 }
 
 static gint
-gst_videobalance_colorbalance_get_value (GstColorBalance        *balance,
-                                         GstColorBalanceChannel *channel)
+gst_videobalance_colorbalance_get_value (GstColorBalance balance,
+    GstColorBalanceChannel * channel)
 {
   GstVideobalance *vb = GST_VIDEOBALANCE (balance);
   gint value = 0;
-  
+
   g_return_val_if_fail (vb != NULL, 0);
   g_return_val_if_fail (GST_IS_VIDEOBALANCE (vb), 0);
   g_return_val_if_fail (channel->label != NULL, 0);
-  
+
   if (!g_ascii_strcasecmp (channel->label, "HUE")) {
     value = (vb->hue + 1) * 2000.0 / 2.0 - 1000.0;
   } else if (!g_ascii_strcasecmp (channel->label, "SATURATION")) {
@@ -322,12 +325,12 @@ gst_videobalance_colorbalance_get_value (GstColorBalance        *balance,
   } else if (!g_ascii_strcasecmp (channel->label, "CONTRAST")) {
     value = vb->contrast * 2000.0 / 2.0 - 1000.0;
   }
-  
+
   return value;
 }
 
 static void
-gst_videobalance_colorbalance_init (GstColorBalanceClass *iface)
+gst_videobalance_colorbalance_init (GstColorBalanceClass * iface)
 {
   GST_COLOR_BALANCE_TYPE (iface) = GST_COLOR_BALANCE_SOFTWARE;
   iface->list_channels = gst_videobalance_colorbalance_list_channels;
@@ -336,7 +339,7 @@ gst_videobalance_colorbalance_init (GstColorBalanceClass *iface)
 }
 
 static void
-gst_videobalance_update_properties (GstVideobalance *videobalance)
+gst_videobalance_update_properties (GstVideobalance * videobalance)
 {
   GstVideofilter *vf = GST_VIDEOFILTER (videobalance);
 
@@ -344,8 +347,7 @@ gst_videobalance_update_properties (GstVideobalance *videobalance)
 
   if (videobalance->contrast == 1.0 &&
       videobalance->brightness == 0.0 &&
-      videobalance->hue == 0.0 &&
-      videobalance->saturation == 1.0) {
+      videobalance->hue == 0.0 && videobalance->saturation == 1.0) {
     vf->passthru = TRUE;
   } else {
     vf->passthru = FALSE;
@@ -353,15 +355,16 @@ gst_videobalance_update_properties (GstVideobalance *videobalance)
 }
 
 static void
-gst_videobalance_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_videobalance_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstVideobalance *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOBALANCE(object));
-  src = GST_VIDEOBALANCE(object);
+  g_return_if_fail (GST_IS_VIDEOBALANCE (object));
+  src = GST_VIDEOBALANCE (object);
 
-  GST_DEBUG("gst_videobalance_set_property");
+  GST_DEBUG ("gst_videobalance_set_property");
   switch (prop_id) {
     case ARG_CONTRAST:
       src->contrast = g_value_get_double (value);
@@ -383,13 +386,14 @@ gst_videobalance_set_property (GObject *object, guint prop_id, const GValue *val
 }
 
 static void
-gst_videobalance_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_videobalance_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstVideobalance *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOBALANCE(object));
-  src = GST_VIDEOBALANCE(object);
+  g_return_if_fail (GST_IS_VIDEOBALANCE (object));
+  src = GST_VIDEOBALANCE (object);
 
   switch (prop_id) {
     case ARG_CONTRAST:
@@ -410,33 +414,28 @@ gst_videobalance_get_property (GObject *object, guint prop_id, GValue *value, GP
   }
 }
 
-static gboolean plugin_init (GstPlugin *plugin)
+static gboolean
+plugin_init (GstPlugin * plugin)
 {
-  if(!gst_library_load("gstvideofilter"))
+  if (!gst_library_load ("gstvideofilter"))
     return FALSE;
 
   return gst_element_register (plugin, "videobalance", GST_RANK_NONE,
       GST_TYPE_VIDEOBALANCE);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "videobalance",
-  "Changes hue, saturation, brightness etc. on video images",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
-
-static void gst_videobalance_setup(GstVideofilter *videofilter)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "videobalance",
+    "Changes hue, saturation, brightness etc. on video images",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
+
+     static void gst_videobalance_setup (GstVideofilter * videofilter)
 {
   GstVideobalance *videobalance;
 
-  g_return_if_fail(GST_IS_VIDEOBALANCE(videofilter));
-  videobalance = GST_VIDEOBALANCE(videofilter);
+  g_return_if_fail (GST_IS_VIDEOBALANCE (videofilter));
+  videobalance = GST_VIDEOBALANCE (videofilter);
 
   /* if any setup needs to be done, do it here */
 
@@ -447,7 +446,7 @@ static void gst_videobalance_setup(GstVideofilter *videofilter)
  */
 
 static void
-gst_videobalance_update_tables_planar411 (GstVideobalance *vb)
+gst_videobalance_update_tables_planar411 (GstVideobalance * vb)
 {
   gint i, j;
   gdouble y, u, v, hue_cos, hue_sin;
@@ -471,28 +470,30 @@ gst_videobalance_update_tables_planar411 (GstVideobalance *vb)
    * separately. */
   for (i = -128; i < 128; i++) {
     for (j = -128; j < 128; j++) {
-      u = 128 + (( i * hue_cos + j * hue_sin) * vb->saturation);
+      u = 128 + ((i * hue_cos + j * hue_sin) * vb->saturation);
       v = 128 + ((-i * hue_sin + j * hue_cos) * vb->saturation);
-      if(u < 0)
-        u = 0;
+      if (u < 0)
+       u = 0;
       else if (u > 255)
-        u = 255;
+       u = 255;
       if (v < 0)
-        v = 0;
+       v = 0;
       else if (v > 255)
-        v = 255;
-      vb->tableu[i+128][j+128] = rint (u);
-      vb->tablev[i+128][j+128] = rint (v);
+       v = 255;
+      vb->tableu[i + 128][j + 128] = rint (u);
+      vb->tablev[i + 128][j + 128] = rint (v);
     }
   }
 }
 
 #ifndef HAVE_LIBOIL
-void tablelookup_u8 (guint8 *dest, int dstr, guint8 *src, int sstr,
-    guint8 *table, int tstr, int n)
+void
+tablelookup_u8 (guint8 * dest, int dstr, guint8 * src, int sstr,
+    guint8 * table, int tstr, int n)
 {
   int i;
-  for(i=0;i<n;i++){
+
+  for (i = 0; i < n; i++) {
     *dest = table[*src * tstr];
     dest += dstr;
     src += sstr;
@@ -500,16 +501,16 @@ void tablelookup_u8 (guint8 *dest, int dstr, guint8 *src, int sstr,
 }
 #endif
 
-static void gst_videobalance_planar411(GstVideofilter *videofilter,
-    void *dest, void *src)
+static void
+gst_videobalance_planar411 (GstVideofilter * videofilter, void *dest, void *src)
 {
   GstVideobalance *videobalance;
   int width;
   int height;
-  int x,y;
+  int x, y;
 
-  g_return_if_fail(GST_IS_VIDEOBALANCE(videofilter));
-  videobalance = GST_VIDEOBALANCE(videofilter);
+  g_return_if_fail (GST_IS_VIDEOBALANCE (videofilter));
+  videobalance = GST_VIDEOBALANCE (videofilter);
 
   if (videobalance->needupdate) {
     gst_videobalance_update_tables_planar411 (videobalance);
@@ -523,9 +524,9 @@ static void gst_videobalance_planar411(GstVideofilter *videofilter,
     guint8 *cdest = dest;
     guint8 *csrc = src;
 
-    for(y=0;y<height;y++) {
-      tablelookup_u8 (cdest + y*width, 1, csrc + y*width, 1,
-          videobalance->tabley, 1, width);
+    for (y = 0; y < height; y++) {
+      tablelookup_u8 (cdest + y * width, 1, csrc + y * width, 1,
+         videobalance->tabley, 1, width);
     }
   }
 
@@ -534,17 +535,17 @@ static void gst_videobalance_planar411(GstVideofilter *videofilter,
     guint8 *usrc, *vsrc;
     guint8 *udest, *vdest;
 
-    usrc = src + width*height;
-    udest = dest + width*height;
-    vsrc = src + width*height + (width/2)*(height/2);
-    vdest = dest + width*height + (width/2)*(height/2);
-
-    for(y=0;y<height/2;y++){
-      for(x=0;x<width/2;x++){
-        u1 = usrc[y*(width/2) + x];
-        v1 = vsrc[y*(width/2) + x];
-        udest[y*(width/2) + x] = videobalance->tableu[u1][v1];
-        vdest[y*(width/2) + x] = videobalance->tablev[u1][v1];
+    usrc = src + width * height;
+    udest = dest + width * height;
+    vsrc = src + width * height + (width / 2) * (height / 2);
+    vdest = dest + width * height + (width / 2) * (height / 2);
+
+    for (y = 0; y < height / 2; y++) {
+      for (x = 0; x < width / 2; x++) {
+       u1 = usrc[y * (width / 2) + x];
+       v1 = vsrc[y * (width / 2) + x];
+       udest[y * (width / 2) + x] = videobalance->tableu[u1][v1];
+       vdest[y * (width / 2) + x] = videobalance->tablev[u1][v1];
       }
     }
   }
index 45aab91..03a3d06 100644 (file)
@@ -28,7 +28,6 @@
 
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_VIDEOBALANCE \
   (gst_videobalance_get_type())
 #define GST_VIDEOBALANCE(obj) \
@@ -39,30 +38,30 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEOBALANCE))
 #define GST_IS_VIDEOBALANCE_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOBALANCE))
-
 typedef struct _GstVideobalance GstVideobalance;
 typedef struct _GstVideobalanceClass GstVideobalanceClass;
 
-struct _GstVideobalance {
+struct _GstVideobalance
+{
   GstVideofilter videofilter;
 
-  guint8   *tabley, **tableu, **tablev;
+  guint8 *tabley, **tableu, **tablev;
   gboolean needupdate;
 
   gdouble contrast;
   gdouble brightness;
   gdouble hue;
   gdouble saturation;
-  
+
   GList *channels;
 };
 
-struct _GstVideobalanceClass {
+struct _GstVideobalanceClass
+{
   GstVideofilterClass parent_class;
 };
 
-GType gst_videobalance_get_type(void);
+GType gst_videobalance_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_VIDEOBALANCE_H__ */
index 7ef18e4..590616b 100644 (file)
 
 
 /* GstVideofilter signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_METHOD,
   /* FILL ME */
 };
 
-static void     gst_videofilter_base_init       (gpointer g_class);
-static void    gst_videofilter_class_init      (gpointer g_class, gpointer class_data);
-static void    gst_videofilter_init            (GTypeInstance *instance, gpointer g_class);
+static void gst_videofilter_base_init (gpointer g_class);
+static void gst_videofilter_class_init (gpointer g_class, gpointer class_data);
+static void gst_videofilter_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_videofilter_set_property            (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_videofilter_get_property            (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_videofilter_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_videofilter_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void    gst_videofilter_chain           (GstPad *pad, GstData *_data);
-GstCaps * gst_videofilter_class_get_capslist(GstVideofilterClass *klass);
-static void gst_videofilter_setup(GstVideofilter *videofilter);
+static void gst_videofilter_chain (GstPad * pad, GstData * _data);
+GstCaps *gst_videofilter_class_get_capslist (GstVideofilterClass * klass);
+static void gst_videofilter_setup (GstVideofilter * videofilter);
 
 static GstElementClass *parent_class = NULL;
 
@@ -60,23 +64,24 @@ gst_videofilter_get_type (void)
 
   if (!videofilter_type) {
     static const GTypeInfo videofilter_info = {
-      sizeof(GstVideofilterClass),
+      sizeof (GstVideofilterClass),
       gst_videofilter_base_init,
       NULL,
       gst_videofilter_class_init,
       NULL,
       NULL,
-      sizeof(GstVideofilter),
+      sizeof (GstVideofilter),
       0,
       gst_videofilter_init,
     };
-    videofilter_type = g_type_register_static(GST_TYPE_ELEMENT,
+    videofilter_type = g_type_register_static (GST_TYPE_ELEMENT,
        "GstVideofilter", &videofilter_info, G_TYPE_FLAG_ABSTRACT);
   }
   return videofilter_type;
 }
 
-static void gst_videofilter_base_init (gpointer g_class)
+static void
+gst_videofilter_base_init (gpointer g_class)
 {
   static GstElementDetails videofilter_details = {
     "Video scaler",
@@ -87,38 +92,42 @@ static void gst_videofilter_base_init (gpointer g_class)
   GstVideofilterClass *klass = (GstVideofilterClass *) g_class;
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
-  klass->formats = g_ptr_array_new();
+  klass->formats = g_ptr_array_new ();
 
   gst_element_class_set_details (element_class, &videofilter_details);
 }
 
-static void gst_videofilter_class_init (gpointer g_class, gpointer class_data)
+static void
+gst_videofilter_class_init (gpointer g_class, gpointer class_data)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
   GstVideofilterClass *klass;
 
-  klass = (GstVideofilterClass *)g_class;
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  klass = (GstVideofilterClass *) g_class;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_videofilter_set_property;
   gobject_class->get_property = gst_videofilter_get_property;
 }
 
-static GstStructure *gst_videofilter_format_get_structure(GstVideofilterFormat *format)
+static GstStructure *
+gst_videofilter_format_get_structure (GstVideofilterFormat * format)
 {
   unsigned int fourcc;
   GstStructure *structure;
 
-  if(format->filter_func==NULL)
+  if (format->filter_func == NULL)
     return NULL;
 
-  fourcc = GST_MAKE_FOURCC(format->fourcc[0],format->fourcc[1],format->fourcc[2],format->fourcc[3]);
+  fourcc =
+      GST_MAKE_FOURCC (format->fourcc[0], format->fourcc[1], format->fourcc[2],
+      format->fourcc[3]);
 
-  if(format->depth){
+  if (format->depth) {
     structure = gst_structure_new ("video/x-raw-rgb",
        "depth", G_TYPE_INT, format->depth,
        "bpp", G_TYPE_INT, format->bpp,
@@ -126,29 +135,31 @@ static GstStructure *gst_videofilter_format_get_structure(GstVideofilterFormat *
        "red_mask", G_TYPE_INT, format->red_mask,
        "green_mask", G_TYPE_INT, format->green_mask,
        "blue_mask", G_TYPE_INT, format->blue_mask, NULL);
-  }else{
+  } else {
     structure = gst_structure_new ("video/x-raw-yuv",
        "format", GST_TYPE_FOURCC, fourcc, NULL);
   }
 
-  gst_structure_set(structure,
+  gst_structure_set (structure,
       "height", GST_TYPE_INT_RANGE, 1, G_MAXINT,
       "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,
-      "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE,
-      NULL);
+      "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE, NULL);
 
   return structure;
 }
 
-GstCaps * gst_videofilter_class_get_capslist(GstVideofilterClass *klass)
+GstCaps *
+gst_videofilter_class_get_capslist (GstVideofilterClass * klass)
 {
   GstCaps *caps;
   GstStructure *structure;
   int i;
 
-  caps = gst_caps_new_empty();
-  for(i=0;i<klass->formats->len;i++){
-    structure = gst_videofilter_format_get_structure(g_ptr_array_index(klass->formats,i));
+  caps = gst_caps_new_empty ();
+  for (i = 0; i < klass->formats->len; i++) {
+    structure =
+       gst_videofilter_format_get_structure (g_ptr_array_index (klass->formats,
+           i));
     gst_caps_append_structure (caps, structure);
   }
 
@@ -156,22 +167,24 @@ GstCaps * gst_videofilter_class_get_capslist(GstVideofilterClass *klass)
 }
 
 static GstCaps *
-gst_videofilter_getcaps (GstPad *pad)
+gst_videofilter_getcaps (GstPad * pad)
 {
   GstVideofilter *videofilter;
   GstVideofilterClass *klass;
+
   //GstCaps *caps;
   GstCaps *othercaps;
   GstPad *otherpad;
+
   //int i;
 
-  GST_DEBUG("gst_videofilter_getcaps");
+  GST_DEBUG ("gst_videofilter_getcaps");
   videofilter = GST_VIDEOFILTER (gst_pad_get_parent (pad));
-  
-  klass = GST_VIDEOFILTER_CLASS(G_OBJECT_GET_CLASS(videofilter));
+
+  klass = GST_VIDEOFILTER_CLASS (G_OBJECT_GET_CLASS (videofilter));
 
   otherpad = (pad == videofilter->srcpad) ? videofilter->sinkpad :
-    videofilter->srcpad;
+      videofilter->srcpad;
 
   othercaps = gst_pad_get_allowed_caps (otherpad);
 
@@ -183,20 +196,22 @@ gst_videofilter_getcaps (GstPad *pad)
    * the peer's formats.  Create a list of them. */
   /* FIXME optimize if peercaps == NULL */
   caps = gst_caps_new_empty ();
-  for(i=0;i<klass->formats->len;i++){
+  for (i = 0; i < klass->formats->len; i++) {
     GstCaps *icaps;
     GstCaps *fromcaps;
-    
-    fromcaps = gst_caps_new_full (gst_videofilter_format_get_structure (
-         g_ptr_array_index (klass->formats,i)), NULL);
+
+    fromcaps =
+       gst_caps_new_full (gst_videofilter_format_get_structure
+       (g_ptr_array_index (klass->formats, i)), NULL);
 
     icaps = gst_caps_intersect (fromcaps, peercaps);
-    if(icaps != NULL){
+    if (icaps != NULL) {
       gst_caps_append (caps, fromcaps);
     } else {
       gst_caps_free (fromcaps);
     }
-    if(icaps) gst_caps_free (icaps);
+    if (icaps)
+      gst_caps_free (icaps);
   }
   gst_caps_free (peercaps);
 
@@ -205,7 +220,7 @@ gst_videofilter_getcaps (GstPad *pad)
 }
 
 static GstPadLinkReturn
-gst_videofilter_link (GstPad *pad, const GstCaps *caps)
+gst_videofilter_link (GstPad * pad, const GstCaps * caps)
 {
   GstVideofilter *videofilter;
   GstStructure *structure;
@@ -215,28 +230,30 @@ gst_videofilter_link (GstPad *pad, const GstCaps *caps)
   GstPadLinkReturn lret;
   GstPad *otherpad;
 
-  GST_DEBUG("gst_videofilter_src_link");
+  GST_DEBUG ("gst_videofilter_src_link");
   videofilter = GST_VIDEOFILTER (gst_pad_get_parent (pad));
 
   otherpad = (pad == videofilter->srcpad) ? videofilter->sinkpad :
-    videofilter->srcpad;
+      videofilter->srcpad;
 
   structure = gst_caps_get_structure (caps, 0);
 
-  videofilter->format = gst_videofilter_find_format_by_structure (
-      videofilter, structure);
-  g_return_val_if_fail(videofilter->format, GST_PAD_LINK_REFUSED);
+  videofilter->format =
+      gst_videofilter_find_format_by_structure (videofilter, structure);
+  g_return_val_if_fail (videofilter->format, GST_PAD_LINK_REFUSED);
 
   ret = gst_structure_get_int (structure, "width", &width);
   ret &= gst_structure_get_int (structure, "height", &height);
   ret &= gst_structure_get_double (structure, "framerate", &framerate);
 
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   lret = gst_pad_try_set_caps (otherpad, caps);
-  if (GST_PAD_LINK_FAILED (lret)) return lret;
+  if (GST_PAD_LINK_FAILED (lret))
+    return lret;
 
-  GST_DEBUG("width %d height %d",width,height);
+  GST_DEBUG ("width %d height %d", width, height);
 
 #if 0
   if (pad == videofilter->srcpad) {
@@ -253,41 +270,41 @@ gst_videofilter_link (GstPad *pad, const GstCaps *caps)
   videofilter->from_height = height;
   videofilter->framerate = framerate;
 
-  gst_videofilter_setup(videofilter);
+  gst_videofilter_setup (videofilter);
 
   return GST_PAD_LINK_OK;
 }
 
 static void
-gst_videofilter_init (GTypeInstance *instance, gpointer g_class)
+gst_videofilter_init (GTypeInstance * instance, gpointer g_class)
 {
   GstVideofilter *videofilter = GST_VIDEOFILTER (instance);
   GstPadTemplate *pad_template;
 
-  GST_DEBUG("gst_videofilter_init");
-
-  pad_template = gst_element_class_get_pad_template(GST_ELEMENT_CLASS(g_class),
-      "sink");
-  g_return_if_fail(pad_template != NULL);
-  videofilter->sinkpad = gst_pad_new_from_template(pad_template, "sink");
-  gst_element_add_pad(GST_ELEMENT(videofilter),videofilter->sinkpad);
-  gst_pad_set_chain_function(videofilter->sinkpad,gst_videofilter_chain);
-  gst_pad_set_link_function(videofilter->sinkpad,gst_videofilter_link);
-  gst_pad_set_getcaps_function(videofilter->sinkpad,gst_videofilter_getcaps);
-
-  pad_template = gst_element_class_get_pad_template(GST_ELEMENT_CLASS(g_class),
-      "src");
-  g_return_if_fail(pad_template != NULL);
-  videofilter->srcpad = gst_pad_new_from_template(pad_template, "src");
-  gst_element_add_pad(GST_ELEMENT(videofilter),videofilter->srcpad);
-  gst_pad_set_link_function(videofilter->srcpad,gst_videofilter_link);
-  gst_pad_set_getcaps_function(videofilter->srcpad,gst_videofilter_getcaps);
+  GST_DEBUG ("gst_videofilter_init");
+
+  pad_template =
+      gst_element_class_get_pad_template (GST_ELEMENT_CLASS (g_class), "sink");
+  g_return_if_fail (pad_template != NULL);
+  videofilter->sinkpad = gst_pad_new_from_template (pad_template, "sink");
+  gst_element_add_pad (GST_ELEMENT (videofilter), videofilter->sinkpad);
+  gst_pad_set_chain_function (videofilter->sinkpad, gst_videofilter_chain);
+  gst_pad_set_link_function (videofilter->sinkpad, gst_videofilter_link);
+  gst_pad_set_getcaps_function (videofilter->sinkpad, gst_videofilter_getcaps);
+
+  pad_template =
+      gst_element_class_get_pad_template (GST_ELEMENT_CLASS (g_class), "src");
+  g_return_if_fail (pad_template != NULL);
+  videofilter->srcpad = gst_pad_new_from_template (pad_template, "src");
+  gst_element_add_pad (GST_ELEMENT (videofilter), videofilter->srcpad);
+  gst_pad_set_link_function (videofilter->srcpad, gst_videofilter_link);
+  gst_pad_set_getcaps_function (videofilter->srcpad, gst_videofilter_getcaps);
 
   videofilter->inited = FALSE;
 }
 
 static void
-gst_videofilter_chain (GstPad *pad, GstData *_data)
+gst_videofilter_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstVideofilter *videofilter;
@@ -304,62 +321,63 @@ gst_videofilter_chain (GstPad *pad, GstData *_data)
   videofilter = GST_VIDEOFILTER (gst_pad_get_parent (pad));
   //g_return_if_fail (videofilter->inited);
 
-  data = GST_BUFFER_DATA(buf);
-  size = GST_BUFFER_SIZE(buf);
+  data = GST_BUFFER_DATA (buf);
+  size = GST_BUFFER_SIZE (buf);
 
-  if(videofilter->passthru){
-    gst_pad_push(videofilter->srcpad, GST_DATA (buf));
+  if (videofilter->passthru) {
+    gst_pad_push (videofilter->srcpad, GST_DATA (buf));
     return;
   }
 
-  GST_DEBUG ("gst_videofilter_chain: got buffer of %ld bytes in '%s'",size,
-                             GST_OBJECT_NAME (videofilter));
-  GST_DEBUG("size=%ld from=%dx%d to=%dx%d fromsize=%ld (should be %d) tosize=%d",
-       size,
-       videofilter->from_width, videofilter->from_height,
-       videofilter->to_width, videofilter->to_height,
-       size, videofilter->from_buf_size,
-       videofilter->to_buf_size);
+  GST_DEBUG ("gst_videofilter_chain: got buffer of %ld bytes in '%s'", size,
+      GST_OBJECT_NAME (videofilter));
+
+  GST_DEBUG
+      ("size=%ld from=%dx%d to=%dx%d fromsize=%ld (should be %d) tosize=%d",
+      size, videofilter->from_width, videofilter->from_height,
+      videofilter->to_width, videofilter->to_height, size,
+      videofilter->from_buf_size, videofilter->to_buf_size);
 
   g_return_if_fail (size >= videofilter->from_buf_size);
 
   if (size > videofilter->from_buf_size) {
-    GST_INFO("buffer size %ld larger than expected (%d)",
-       size, videofilter->from_buf_size);
+    GST_INFO ("buffer size %ld larger than expected (%d)",
+       size, videofilter->from_buf_size);
   }
 
-  outbuf = gst_pad_alloc_buffer(videofilter->srcpad, GST_BUFFER_OFFSET_NONE,
+  outbuf = gst_pad_alloc_buffer (videofilter->srcpad, GST_BUFFER_OFFSET_NONE,
       videofilter->to_buf_size);
-  GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf);
-  GST_BUFFER_DURATION(outbuf) = GST_BUFFER_DURATION(buf);
+  GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
+  GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (buf);
 
-  g_return_if_fail(videofilter->format);
-  GST_DEBUG ("format %s",videofilter->format->fourcc);
+  g_return_if_fail (videofilter->format);
+  GST_DEBUG ("format %s", videofilter->format->fourcc);
 
   videofilter->in_buf = buf;
   videofilter->out_buf = outbuf;
 
-  videofilter->format->filter_func(videofilter, GST_BUFFER_DATA(outbuf), data);
+  videofilter->format->filter_func (videofilter, GST_BUFFER_DATA (outbuf),
+      data);
 
-  GST_DEBUG ("gst_videofilter_chain: pushing buffer of %d bytes in '%s'",GST_BUFFER_SIZE(outbuf),
-                     GST_OBJECT_NAME (videofilter));
+  GST_DEBUG ("gst_videofilter_chain: pushing buffer of %d bytes in '%s'",
+      GST_BUFFER_SIZE (outbuf), GST_OBJECT_NAME (videofilter));
 
-  gst_pad_push(videofilter->srcpad, GST_DATA (outbuf));
+  gst_pad_push (videofilter->srcpad, GST_DATA (outbuf));
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
 static void
-gst_videofilter_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_videofilter_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstVideofilter *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOFILTER(object));
-  src = GST_VIDEOFILTER(object);
+  g_return_if_fail (GST_IS_VIDEOFILTER (object));
+  src = GST_VIDEOFILTER (object);
 
-  GST_DEBUG("gst_videofilter_set_property");
+  GST_DEBUG ("gst_videofilter_set_property");
   switch (prop_id) {
     default:
       break;
@@ -367,13 +385,14 @@ gst_videofilter_set_property (GObject *object, guint prop_id, const GValue *valu
 }
 
 static void
-gst_videofilter_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_videofilter_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstVideofilter *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOFILTER(object));
-  src = GST_VIDEOFILTER(object);
+  g_return_if_fail (GST_IS_VIDEOFILTER (object));
+  src = GST_VIDEOFILTER (object);
 
   switch (prop_id) {
     default:
@@ -382,36 +401,39 @@ gst_videofilter_get_property (GObject *object, guint prop_id, GValue *value, GPa
   }
 }
 
-int gst_videofilter_get_input_width(GstVideofilter *videofilter)
+int
+gst_videofilter_get_input_width (GstVideofilter * videofilter)
 {
-  g_return_val_if_fail(GST_IS_VIDEOFILTER(videofilter),0);
+  g_return_val_if_fail (GST_IS_VIDEOFILTER (videofilter), 0);
 
   return videofilter->from_width;
 }
 
-int gst_videofilter_get_input_height(GstVideofilter *videofilter)
+int
+gst_videofilter_get_input_height (GstVideofilter * videofilter)
 {
-  g_return_val_if_fail(GST_IS_VIDEOFILTER(videofilter),0);
+  g_return_val_if_fail (GST_IS_VIDEOFILTER (videofilter), 0);
 
   return videofilter->from_height;
 }
 
-void gst_videofilter_set_output_size(GstVideofilter *videofilter,
+void
+gst_videofilter_set_output_size (GstVideofilter * videofilter,
     int width, int height)
 {
   int ret;
   GstCaps *srccaps;
   GstStructure *structure;
 
-  g_return_if_fail(GST_IS_VIDEOFILTER(videofilter));
+  g_return_if_fail (GST_IS_VIDEOFILTER (videofilter));
 
   videofilter->to_width = width;
   videofilter->to_height = height;
 
   videofilter->to_buf_size = (videofilter->to_width * videofilter->to_height
-      * videofilter->format->bpp)/8;
+      * videofilter->format->bpp) / 8;
 
-  srccaps = gst_caps_copy (gst_pad_get_negotiated_caps(videofilter->srcpad));
+  srccaps = gst_caps_copy (gst_pad_get_negotiated_caps (videofilter->srcpad));
   structure = gst_caps_get_structure (srccaps, 0);
 
   gst_structure_set (structure, "width", G_TYPE_INT, width,
@@ -424,60 +446,66 @@ void gst_videofilter_set_output_size(GstVideofilter *videofilter,
   }
 }
 
-static void gst_videofilter_setup(GstVideofilter *videofilter)
+static void
+gst_videofilter_setup (GstVideofilter * videofilter)
 {
   GstVideofilterClass *klass;
 
-  klass = GST_VIDEOFILTER_CLASS(G_OBJECT_GET_CLASS(videofilter));
+  klass = GST_VIDEOFILTER_CLASS (G_OBJECT_GET_CLASS (videofilter));
 
-  if(klass->setup){
-    klass->setup(videofilter);
+  if (klass->setup) {
+    klass->setup (videofilter);
   }
 
-  if(videofilter->to_width == 0){
+  if (videofilter->to_width == 0) {
     videofilter->to_width = videofilter->from_width;
   }
-  if(videofilter->to_height == 0){
+  if (videofilter->to_height == 0) {
     videofilter->to_height = videofilter->from_height;
   }
 
-  g_return_if_fail(videofilter->format != NULL);
-  g_return_if_fail(videofilter->from_width > 0);
-  g_return_if_fail(videofilter->from_height > 0);
-  g_return_if_fail(videofilter->to_width > 0);
-  g_return_if_fail(videofilter->to_height > 0);
+  g_return_if_fail (videofilter->format != NULL);
+  g_return_if_fail (videofilter->from_width > 0);
+  g_return_if_fail (videofilter->from_height > 0);
+  g_return_if_fail (videofilter->to_width > 0);
+  g_return_if_fail (videofilter->to_height > 0);
 
-  videofilter->from_buf_size = (videofilter->from_width * videofilter->from_height *
+  videofilter->from_buf_size =
+      (videofilter->from_width * videofilter->from_height *
       videofilter->format->bpp) / 8;
-  videofilter->to_buf_size = (videofilter->to_width * videofilter->to_height *
+  videofilter->to_buf_size =
+      (videofilter->to_width * videofilter->to_height *
       videofilter->format->bpp) / 8;
 
   videofilter->inited = TRUE;
 }
 
-GstVideofilterFormat *gst_videofilter_find_format_by_structure (
-    GstVideofilter *videofilter, const GstStructure *structure)
+GstVideofilterFormat *
+gst_videofilter_find_format_by_structure (GstVideofilter * videofilter,
+    const GstStructure * structure)
 {
   int i;
   GstVideofilterClass *klass;
   GstVideofilterFormat *format;
   gboolean ret;
 
-  klass = GST_VIDEOFILTER_CLASS(G_OBJECT_GET_CLASS(videofilter));
+  klass = GST_VIDEOFILTER_CLASS (G_OBJECT_GET_CLASS (videofilter));
 
-  g_return_val_if_fail(structure != NULL, NULL);
+  g_return_val_if_fail (structure != NULL, NULL);
 
   if (strcmp (gst_structure_get_name (structure), "video/x-raw-yuv") == 0) {
     guint32 fourcc;
 
     ret = gst_structure_get_fourcc (structure, "format", &fourcc);
-    if (!ret) return NULL;
-    for(i=0;i<klass->formats->len;i++){
+    if (!ret)
+      return NULL;
+    for (i = 0; i < klass->formats->len; i++) {
       guint32 format_fourcc;
-      format = g_ptr_array_index(klass->formats,i);
+
+      format = g_ptr_array_index (klass->formats, i);
       format_fourcc = GST_STR_FOURCC (format->fourcc);
       if (format->depth == 0 && format_fourcc == fourcc) {
-        return format;
+       return format;
       }
     }
   } else if (strcmp (gst_structure_get_name (structure), "video/x-raw-rgb")
@@ -495,13 +523,14 @@ GstVideofilterFormat *gst_videofilter_find_format_by_structure (
     ret &= gst_structure_get_int (structure, "red_mask", &red_mask);
     ret &= gst_structure_get_int (structure, "green_mask", &green_mask);
     ret &= gst_structure_get_int (structure, "blue_mask", &blue_mask);
-    if (!ret) return NULL;
-    for(i=0;i<klass->formats->len;i++){
-      format = g_ptr_array_index(klass->formats,i);
+    if (!ret)
+      return NULL;
+    for (i = 0; i < klass->formats->len; i++) {
+      format = g_ptr_array_index (klass->formats, i);
       if (format->bpp == bpp && format->depth == depth &&
-          format->endianness == endianness && format->red_mask == red_mask &&
-          format->green_mask == green_mask && format->blue_mask == blue_mask) {
-        return format;
+         format->endianness == endianness && format->red_mask == red_mask &&
+         format->green_mask == green_mask && format->blue_mask == blue_mask) {
+       return format;
       }
     }
   }
@@ -509,39 +538,36 @@ GstVideofilterFormat *gst_videofilter_find_format_by_structure (
   return NULL;
 }
 
-void gst_videofilter_class_add_format(GstVideofilterClass *videofilterclass,
-    GstVideofilterFormat *format)
+void
+gst_videofilter_class_add_format (GstVideofilterClass * videofilterclass,
+    GstVideofilterFormat * format)
 {
-  g_ptr_array_add(videofilterclass->formats, format);
+  g_ptr_array_add (videofilterclass->formats, format);
 }
 
-void gst_videofilter_class_add_pad_templates (GstVideofilterClass *videofilter_class)
+void
+gst_videofilter_class_add_pad_templates (GstVideofilterClass *
+    videofilter_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (videofilter_class);
 
   gst_element_class_add_pad_template (element_class,
-      gst_pad_template_new("src", GST_PAD_SRC, GST_PAD_ALWAYS,
-       gst_videofilter_class_get_capslist (videofilter_class)));
+      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
+         gst_videofilter_class_get_capslist (videofilter_class)));
 
   gst_element_class_add_pad_template (element_class,
-      gst_pad_template_new("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
-       gst_videofilter_class_get_capslist (videofilter_class)));
+      gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
+         gst_videofilter_class_get_capslist (videofilter_class)));
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "gstvideofilter",
-  "Video filter parent class",
-  plugin_init,
-  VERSION,
-  "LGPL",
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "gstvideofilter",
+    "Video filter parent class",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
index e6c346c..2c10a21 100644 (file)
 #include <gst/gst.h>
 
 
-G_BEGIN_DECLS
-
-typedef struct _GstVideofilter GstVideofilter;
+G_BEGIN_DECLS typedef struct _GstVideofilter GstVideofilter;
 typedef struct _GstVideofilterClass GstVideofilterClass;
 
-typedef void (*GstVideofilterFilterFunc)(GstVideofilter *filter,
+typedef void (*GstVideofilterFilterFunc) (GstVideofilter * filter,
     void *out_data, void *in_data);
 
-typedef void (*GstVideofilterSetupFunc)(GstVideofilter *filter);
+typedef void (*GstVideofilterSetupFunc) (GstVideofilter * filter);
 
 typedef struct _GstVideofilterFormat GstVideofilterFormat;
-struct _GstVideofilterFormat {
+struct _GstVideofilterFormat
+{
   char *fourcc;
   int bpp;
   GstVideofilterFilterFunc filter_func;
@@ -58,10 +57,11 @@ struct _GstVideofilterFormat {
 #define GST_IS_VIDEOFILTER_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOFILTER))
 
-struct _GstVideofilter {
+struct _GstVideofilter
+{
   GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+  GstPad *sinkpad, *srcpad;
 
   /* video state */
   gboolean inited;
@@ -81,28 +81,29 @@ struct _GstVideofilter {
   GstBuffer *out_buf;
 };
 
-struct _GstVideofilterClass {
+struct _GstVideofilterClass
+{
   GstElementClass parent_class;
 
   GPtrArray *formats;
   GstVideofilterSetupFunc setup;
 };
 
-GType gst_videofilter_get_type(void);
+GType gst_videofilter_get_type (void);
 
-int gst_videofilter_get_input_width(GstVideofilter *videofilter);
-int gst_videofilter_get_input_height(GstVideofilter *videofilter);
-void gst_videofilter_set_output_size(GstVideofilter *videofilter,
+int gst_videofilter_get_input_width (GstVideofilter * videofilter);
+int gst_videofilter_get_input_height (GstVideofilter * videofilter);
+void gst_videofilter_set_output_size (GstVideofilter * videofilter,
     int width, int height);
-GstVideofilterFormat *gst_videofilter_find_format_by_structure (GstVideofilter *filter,
-    const GstStructure *structure);
-GstCaps *gst_videofilter_class_get_capslist(GstVideofilterClass *videofilterclass);
+GstVideofilterFormat *gst_videofilter_find_format_by_structure (GstVideofilter *
+    filter, const GstStructure * structure);
+GstCaps *gst_videofilter_class_get_capslist (GstVideofilterClass *
+    videofilterclass);
 
-void gst_videofilter_class_add_format(GstVideofilterClass *videofilterclass,
-    GstVideofilterFormat *format);
-void gst_videofilter_class_add_pad_templates (GstVideofilterClass *videofilterclass);
+void gst_videofilter_class_add_format (GstVideofilterClass * videofilterclass,
+    GstVideofilterFormat * format);
+void gst_videofilter_class_add_pad_templates (GstVideofilterClass *
+    videofilterclass);
 
 G_END_DECLS
-
 #endif /* __GST_VIDEOFILTER_H__ */
-
index 3ba70ee..32157b6 100644 (file)
 #include <string.h>
 
 /* GstVideoflip signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_METHOD,
   /* FILL ME */
 };
 
-static void    gst_videoflip_base_init (gpointer g_class);
-static void    gst_videoflip_class_init        (gpointer g_class, gpointer class_data);
-static void    gst_videoflip_init              (GTypeInstance *instance, gpointer g_class);
+static void gst_videoflip_base_init (gpointer g_class);
+static void gst_videoflip_class_init (gpointer g_class, gpointer class_data);
+static void gst_videoflip_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_videoflip_set_property              (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_videoflip_get_property              (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_videoflip_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_videoflip_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_videoflip_planar411(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_videoflip_setup(GstVideofilter *videofilter);
+static void gst_videoflip_planar411 (GstVideofilter * videofilter, void *dest,
+    void *src);
+static void gst_videoflip_setup (GstVideofilter * videofilter);
 
 #define GST_TYPE_VIDEOFLIP_METHOD (gst_videoflip_method_get_type())
 
 static GType
-gst_videoflip_method_get_type(void)
+gst_videoflip_method_get_type (void)
 {
   static GType videoflip_method_type = 0;
   static GEnumValue videoflip_methods[] = {
-    { GST_VIDEOFLIP_METHOD_IDENTITY,   "0", "Identity (no rotation)" },
-    { GST_VIDEOFLIP_METHOD_90R,                "1", "Rotate clockwise 90 degrees" },
-    { GST_VIDEOFLIP_METHOD_180,                "2", "Rotate 180 degrees" },
-    { GST_VIDEOFLIP_METHOD_90L,                "3", "Rotate counter-clockwise 90 degrees" },
-    { GST_VIDEOFLIP_METHOD_HORIZ,      "4", "Flip horizontally" },
-    { GST_VIDEOFLIP_METHOD_VERT,       "5", "Flip vertically" },
-    { GST_VIDEOFLIP_METHOD_TRANS,      "6", "Flip across upper left/lower right diagonal" },
-    { GST_VIDEOFLIP_METHOD_OTHER,      "7", "Flip across upper right/lower left diagonal" },
-    { 0, NULL, NULL },
+    {GST_VIDEOFLIP_METHOD_IDENTITY, "0", "Identity (no rotation)"},
+    {GST_VIDEOFLIP_METHOD_90R, "1", "Rotate clockwise 90 degrees"},
+    {GST_VIDEOFLIP_METHOD_180, "2", "Rotate 180 degrees"},
+    {GST_VIDEOFLIP_METHOD_90L, "3", "Rotate counter-clockwise 90 degrees"},
+    {GST_VIDEOFLIP_METHOD_HORIZ, "4", "Flip horizontally"},
+    {GST_VIDEOFLIP_METHOD_VERT, "5", "Flip vertically"},
+    {GST_VIDEOFLIP_METHOD_TRANS, "6",
+       "Flip across upper left/lower right diagonal"},
+    {GST_VIDEOFLIP_METHOD_OTHER, "7",
+       "Flip across upper right/lower left diagonal"},
+    {0, NULL, NULL},
   };
-  if(!videoflip_method_type){
-    videoflip_method_type = g_enum_register_static("GstVideoflipMethod",
-       videoflip_methods);
+  if (!videoflip_method_type) {
+    videoflip_method_type = g_enum_register_static ("GstVideoflipMethod",
+       videoflip_methods);
   }
   return videoflip_method_type;
 }
@@ -84,46 +91,45 @@ gst_videoflip_get_type (void)
 
   if (!videoflip_type) {
     static const GTypeInfo videoflip_info = {
-      sizeof(GstVideoflipClass),
+      sizeof (GstVideoflipClass),
       gst_videoflip_base_init,
       NULL,
       gst_videoflip_class_init,
       NULL,
       NULL,
-      sizeof(GstVideoflip),
+      sizeof (GstVideoflip),
       0,
       gst_videoflip_init,
     };
-    videoflip_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstVideoflip", &videoflip_info, 0);
+    videoflip_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstVideoflip", &videoflip_info, 0);
   }
   return videoflip_type;
 }
 
 static GstVideofilterFormat gst_videoflip_formats[] = {
   /* planar */
-  { "YV12", 12, gst_videoflip_planar411, },
-  { "I420", 12, gst_videoflip_planar411, },
-  { "IYUV", 12, gst_videoflip_planar411, },
+  {"YV12", 12, gst_videoflip_planar411,},
+  {"I420", 12, gst_videoflip_planar411,},
+  {"IYUV", 12, gst_videoflip_planar411,},
 };
 
 static void
 gst_videoflip_base_init (gpointer g_class)
 {
-  static GstElementDetails videoflip_details = GST_ELEMENT_DETAILS (
-    "Video Flipper",
-    "Filter/Effect/Video",
-    "Flips and rotates video",
-    "David Schleef <ds@schleef.org>"
-  );
+  static GstElementDetails videoflip_details =
+      GST_ELEMENT_DETAILS ("Video Flipper",
+      "Filter/Effect/Video",
+      "Flips and rotates video",
+      "David Schleef <ds@schleef.org>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &videoflip_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_videoflip_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_videoflip_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_videoflip_formats + i);
   }
 
@@ -139,10 +145,10 @@ gst_videoflip_class_init (gpointer g_class, gpointer class_data)
   gobject_class = G_OBJECT_CLASS (g_class);
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
-  g_object_class_install_property(gobject_class, ARG_METHOD,
-      g_param_spec_enum("method","method","method",
-      GST_TYPE_VIDEOFLIP_METHOD, GST_VIDEOFLIP_METHOD_90R,
-      G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_METHOD,
+      g_param_spec_enum ("method", "method", "method",
+         GST_TYPE_VIDEOFLIP_METHOD, GST_VIDEOFLIP_METHOD_90R,
+         G_PARAM_READWRITE));
 
   gobject_class->set_property = gst_videoflip_set_property;
   gobject_class->get_property = gst_videoflip_get_property;
@@ -151,33 +157,34 @@ gst_videoflip_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_videoflip_init (GTypeInstance *instance, gpointer g_class)
+gst_videoflip_init (GTypeInstance * instance, gpointer g_class)
 {
   GstVideoflip *videoflip = GST_VIDEOFLIP (instance);
   GstVideofilter *videofilter;
 
-  GST_DEBUG("gst_videoflip_init");
+  GST_DEBUG ("gst_videoflip_init");
 
-  videofilter = GST_VIDEOFILTER(videoflip);
+  videofilter = GST_VIDEOFILTER (videoflip);
 
   /* do stuff */
 }
 
 static void
-gst_videoflip_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_videoflip_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstVideoflip *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOFLIP(object));
-  src = GST_VIDEOFLIP(object);
+  g_return_if_fail (GST_IS_VIDEOFLIP (object));
+  src = GST_VIDEOFLIP (object);
 
-  GST_DEBUG("gst_videoflip_set_property");
+  GST_DEBUG ("gst_videoflip_set_property");
   switch (prop_id) {
     case ARG_METHOD:
       src->method = g_value_get_enum (value);
       /* FIXME is this ok? (threading issues) */
-      gst_videoflip_setup(GST_VIDEOFILTER(src));
+      gst_videoflip_setup (GST_VIDEOFILTER (src));
       break;
     default:
       break;
@@ -185,13 +192,14 @@ gst_videoflip_set_property (GObject *object, guint prop_id, const GValue *value,
 }
 
 static void
-gst_videoflip_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_videoflip_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstVideoflip *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOFLIP(object));
-  src = GST_VIDEOFLIP(object);
+  g_return_if_fail (GST_IS_VIDEOFLIP (object));
+  src = GST_VIDEOFLIP (object);
 
   switch (prop_id) {
     case ARG_METHOD:
@@ -203,87 +211,83 @@ gst_videoflip_get_property (GObject *object, guint prop_id, GValue *value, GPara
   }
 }
 
-static gboolean plugin_init (GstPlugin *plugin)
+static gboolean
+plugin_init (GstPlugin * plugin)
 {
-  if(!gst_library_load("gstvideofilter"))
+  if (!gst_library_load ("gstvideofilter"))
     return FALSE;
 
   return gst_element_register (plugin, "videoflip", GST_RANK_NONE,
       GST_TYPE_VIDEOFLIP);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "videoflip",
-  "Flips and rotates video",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "videoflip",
+    "Flips and rotates video",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
 
-static void gst_videoflip_flip(GstVideoflip *videoflip, unsigned char *dest,
-    unsigned char *src, int sw, int sh, int dw, int dh);
+     static void gst_videoflip_flip (GstVideoflip * videoflip,
+    unsigned char *dest, unsigned char *src, int sw, int sh, int dw, int dh);
 
 
-static void gst_videoflip_setup (GstVideofilter *videofilter)
+     static void gst_videoflip_setup (GstVideofilter * videofilter)
 {
   int from_width, from_height;
   GstVideoflip *videoflip;
 
-  GST_DEBUG("gst_videoflip_setup");
+  GST_DEBUG ("gst_videoflip_setup");
 
-  videoflip = GST_VIDEOFLIP(videofilter);
+  videoflip = GST_VIDEOFLIP (videofilter);
 
-  from_width = gst_videofilter_get_input_width(videofilter);
-  from_height = gst_videofilter_get_input_height(videofilter);
+  from_width = gst_videofilter_get_input_width (videofilter);
+  from_height = gst_videofilter_get_input_height (videofilter);
 
-  if(from_width==0 || from_height==0){
+  if (from_width == 0 || from_height == 0) {
     return;
   }
 
-  switch(videoflip->method){
+  switch (videoflip->method) {
     case GST_VIDEOFLIP_METHOD_90R:
     case GST_VIDEOFLIP_METHOD_90L:
     case GST_VIDEOFLIP_METHOD_TRANS:
     case GST_VIDEOFLIP_METHOD_OTHER:
-      gst_videofilter_set_output_size(videofilter, from_height, from_width);
+      gst_videofilter_set_output_size (videofilter, from_height, from_width);
       break;
     case GST_VIDEOFLIP_METHOD_IDENTITY:
     case GST_VIDEOFLIP_METHOD_180:
     case GST_VIDEOFLIP_METHOD_HORIZ:
     case GST_VIDEOFLIP_METHOD_VERT:
-      gst_videofilter_set_output_size(videofilter, from_width, from_height);
+      gst_videofilter_set_output_size (videofilter, from_width, from_height);
       break;
     default:
-      g_assert_not_reached();
+      g_assert_not_reached ();
       break;
   }
 
   GST_DEBUG ("format=%p \"%s\" from %dx%d to %dx%d",
-               videofilter->format, videofilter->format->fourcc,
-               from_width, from_height,
-               videofilter->to_width, videofilter->to_height);
+      videofilter->format, videofilter->format->fourcc,
+      from_width, from_height, videofilter->to_width, videofilter->to_height);
 
-  if(videoflip->method == GST_VIDEOFLIP_METHOD_IDENTITY){
+  if (videoflip->method == GST_VIDEOFLIP_METHOD_IDENTITY) {
     GST_DEBUG ("videoflip: using passthru");
     videofilter->passthru = TRUE;
-  }else{
+  } else {
     videofilter->passthru = FALSE;
   }
 
-  videofilter->from_buf_size = (videofilter->from_width * videofilter->from_height
-                 * videofilter->format->depth) / 8;
-  videofilter->to_buf_size = (videofilter->to_width * videofilter->to_height
-                 * videofilter->format->depth) / 8;
+  videofilter->from_buf_size =
+      (videofilter->from_width * videofilter->from_height *
+      videofilter->format->depth) / 8;
+  videofilter->to_buf_size =
+      (videofilter->to_width * videofilter->to_height *
+      videofilter->format->depth) / 8;
 
   videofilter->inited = TRUE;
 }
 
-static void gst_videoflip_planar411(GstVideofilter *videofilter,
-    void *dest, void *src)
+static void
+gst_videoflip_planar411 (GstVideofilter * videofilter, void *dest, void *src)
 {
   GstVideoflip *videoflip;
   int sw;
@@ -291,8 +295,8 @@ static void gst_videoflip_planar411(GstVideofilter *videofilter,
   int dw;
   int dh;
 
-  g_return_if_fail(GST_IS_VIDEOFLIP(videofilter));
-  videoflip = GST_VIDEOFLIP(videofilter);
+  g_return_if_fail (GST_IS_VIDEOFLIP (videofilter));
+  videoflip = GST_VIDEOFLIP (videofilter);
 
   sw = videofilter->from_width;
   sh = videofilter->from_height;
@@ -301,78 +305,78 @@ static void gst_videoflip_planar411(GstVideofilter *videofilter,
 
   GST_DEBUG ("videoflip: scaling planar 4:1:1 %dx%d to %dx%d", sw, sh, dw, dh);
 
-  gst_videoflip_flip(videoflip, dest, src, sw, sh, dw, dh);
+  gst_videoflip_flip (videoflip, dest, src, sw, sh, dw, dh);
 
-  src += sw*sh;
-  dest += dw*dh;
+  src += sw * sh;
+  dest += dw * dh;
 
-  dh = dh>>1;
-  dw = dw>>1;
-  sh = sh>>1;
-  sw = sw>>1;
+  dh = dh >> 1;
+  dw = dw >> 1;
+  sh = sh >> 1;
+  sw = sw >> 1;
 
-  gst_videoflip_flip(videoflip, dest, src, sw, sh, dw, dh);
+  gst_videoflip_flip (videoflip, dest, src, sw, sh, dw, dh);
 
-  src += sw*sh;
-  dest += dw*dh;
+  src += sw * sh;
+  dest += dw * dh;
 
-  gst_videoflip_flip(videoflip, dest, src, sw, sh, dw, dh);
+  gst_videoflip_flip (videoflip, dest, src, sw, sh, dw, dh);
 }
 
 static void
-gst_videoflip_flip(GstVideoflip *videoflip, unsigned char *dest,
+gst_videoflip_flip (GstVideoflip * videoflip, unsigned char *dest,
     unsigned char *src, int sw, int sh, int dw, int dh)
 {
-  int x,y;
+  int x, y;
 
-  switch(videoflip->method){
+  switch (videoflip->method) {
     case GST_VIDEOFLIP_METHOD_90R:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - x)*sw + y];
-       }
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - x) * sw + y];
+       }
       }
       break;
     case GST_VIDEOFLIP_METHOD_90L:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[x*sw + (sw - 1 - y)];
-       }
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[x * sw + (sw - 1 - y)];
+       }
       }
       break;
     case GST_VIDEOFLIP_METHOD_180:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - y)*sw + (sw - 1 - x)];
-       }
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - y) * sw + (sw - 1 - x)];
+       }
       }
       break;
     case GST_VIDEOFLIP_METHOD_HORIZ:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[y*sw + (sw - 1 - x)];
-       }
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[y * sw + (sw - 1 - x)];
+       }
       }
       break;
     case GST_VIDEOFLIP_METHOD_VERT:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - y)*sw + x];
-       }
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - y) * sw + x];
+       }
       }
       break;
     case GST_VIDEOFLIP_METHOD_TRANS:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[x*sw + y];
-       }
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[x * sw + y];
+       }
       }
       break;
     case GST_VIDEOFLIP_METHOD_OTHER:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - x)*sw + (sw - 1 - y)];
-       }
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - x) * sw + (sw - 1 - y)];
+       }
       }
       break;
     default:
@@ -380,5 +384,3 @@ gst_videoflip_flip(GstVideoflip *videoflip, unsigned char *dest,
       break;
   }
 }
-
-
index 83b3771..a43d2b4 100644 (file)
@@ -27,9 +27,8 @@
 #include "gstvideofilter.h"
 
 
-G_BEGIN_DECLS
-
-typedef enum {
+G_BEGIN_DECLS typedef enum
+{
   GST_VIDEOFLIP_METHOD_IDENTITY,
   GST_VIDEOFLIP_METHOD_90R,
   GST_VIDEOFLIP_METHOD_180,
@@ -54,19 +53,19 @@ typedef enum {
 typedef struct _GstVideoflip GstVideoflip;
 typedef struct _GstVideoflipClass GstVideoflipClass;
 
-struct _GstVideoflip {
+struct _GstVideoflip
+{
   GstVideofilter videofilter;
 
   GstVideoflipMethod method;
 };
 
-struct _GstVideoflipClass {
+struct _GstVideoflipClass
+{
   GstVideofilterClass parent_class;
 };
 
-GType gst_videoflip_get_type(void);
+GType gst_videoflip_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_VIDEOFLIP_H__ */
-
index d442477..abe699f 100644 (file)
 typedef struct _GstVideotemplate GstVideotemplate;
 typedef struct _GstVideotemplateClass GstVideotemplateClass;
 
-struct _GstVideotemplate {
+struct _GstVideotemplate
+{
   GstVideofilter videofilter;
 
 };
 
-struct _GstVideotemplateClass {
+struct _GstVideotemplateClass
+{
   GstVideofilterClass parent_class;
 };
 
 
 /* GstVideotemplate signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   /* FILL ME */
 };
 
-static void    gst_videotemplate_base_init     (gpointer g_class);
-static void    gst_videotemplate_class_init    (gpointer g_class, gpointer class_data);
-static void    gst_videotemplate_init          (GTypeInstance *instance, gpointer g_class);
+static void gst_videotemplate_base_init (gpointer g_class);
+static void gst_videotemplate_class_init (gpointer g_class,
+    gpointer class_data);
+static void gst_videotemplate_init (GTypeInstance * instance, gpointer g_class);
 
-static void    gst_videotemplate_set_property          (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_videotemplate_get_property          (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_videotemplate_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_videotemplate_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void gst_videotemplate_planar411(GstVideofilter *videofilter, void *dest, void *src);
-static void gst_videotemplate_setup(GstVideofilter *videofilter);
+static void gst_videotemplate_planar411 (GstVideofilter * videofilter,
+    void *dest, void *src);
+static void gst_videotemplate_setup (GstVideofilter * videofilter);
 
 GType
 gst_videotemplate_get_type (void)
@@ -85,44 +93,43 @@ gst_videotemplate_get_type (void)
 
   if (!videotemplate_type) {
     static const GTypeInfo videotemplate_info = {
-      sizeof(GstVideotemplateClass),
+      sizeof (GstVideotemplateClass),
       gst_videotemplate_base_init,
       NULL,
       gst_videotemplate_class_init,
       NULL,
       NULL,
-      sizeof(GstVideotemplate),
+      sizeof (GstVideotemplate),
       0,
       gst_videotemplate_init,
     };
-    videotemplate_type = g_type_register_static(GST_TYPE_VIDEOFILTER,
-        "GstVideotemplate", &videotemplate_info, 0);
+    videotemplate_type = g_type_register_static (GST_TYPE_VIDEOFILTER,
+       "GstVideotemplate", &videotemplate_info, 0);
   }
   return videotemplate_type;
 }
 
 static GstVideofilterFormat gst_videotemplate_formats[] = {
-  { "I420", 12, gst_videotemplate_planar411, },
+  {"I420", 12, gst_videotemplate_planar411,},
 };
 
-  
+
 static void
 gst_videotemplate_base_init (gpointer g_class)
 {
-  static GstElementDetails videotemplate_details = GST_ELEMENT_DETAILS (
-    "Video Filter Template",
-    "Filter/Effect/Video",
-    "Template for a video filter",
-    "David Schleef <ds@schleef.org>"
-  );
+  static GstElementDetails videotemplate_details =
+      GST_ELEMENT_DETAILS ("Video Filter Template",
+      "Filter/Effect/Video",
+      "Template for a video filter",
+      "David Schleef <ds@schleef.org>");
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
   GstVideofilterClass *videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
   int i;
-  
+
   gst_element_class_set_details (element_class, &videotemplate_details);
 
-  for(i=0;i<G_N_ELEMENTS(gst_videotemplate_formats);i++){
-    gst_videofilter_class_add_format(videofilter_class,
+  for (i = 0; i < G_N_ELEMENTS (gst_videotemplate_formats); i++) {
+    gst_videofilter_class_add_format (videofilter_class,
        gst_videotemplate_formats + i);
   }
 
@@ -139,10 +146,10 @@ gst_videotemplate_class_init (gpointer g_class, gpointer class_data)
   videofilter_class = GST_VIDEOFILTER_CLASS (g_class);
 
 #if 0
-  g_object_class_install_property(gobject_class, ARG_METHOD,
-      g_param_spec_enum("method","method","method",
-      GST_TYPE_VIDEOTEMPLATE_METHOD, GST_VIDEOTEMPLATE_METHOD_1,
-      G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_METHOD,
+      g_param_spec_enum ("method", "method", "method",
+         GST_TYPE_VIDEOTEMPLATE_METHOD, GST_VIDEOTEMPLATE_METHOD_1,
+         G_PARAM_READWRITE));
 #endif
 
   gobject_class->set_property = gst_videotemplate_set_property;
@@ -152,28 +159,29 @@ gst_videotemplate_class_init (gpointer g_class, gpointer class_data)
 }
 
 static void
-gst_videotemplate_init (GTypeInstance *instance, gpointer g_class)
+gst_videotemplate_init (GTypeInstance * instance, gpointer g_class)
 {
   GstVideotemplate *videotemplate = GST_VIDEOTEMPLATE (instance);
   GstVideofilter *videofilter;
 
-  GST_DEBUG("gst_videotemplate_init");
+  GST_DEBUG ("gst_videotemplate_init");
 
-  videofilter = GST_VIDEOFILTER(videotemplate);
+  videofilter = GST_VIDEOFILTER (videotemplate);
 
   /* do stuff */
 }
 
 static void
-gst_videotemplate_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_videotemplate_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstVideotemplate *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOTEMPLATE(object));
-  src = GST_VIDEOTEMPLATE(object);
+  g_return_if_fail (GST_IS_VIDEOTEMPLATE (object));
+  src = GST_VIDEOTEMPLATE (object);
 
-  GST_DEBUG("gst_videotemplate_set_property");
+  GST_DEBUG ("gst_videotemplate_set_property");
   switch (prop_id) {
 #if 0
     case ARG_METHOD:
@@ -186,13 +194,14 @@ gst_videotemplate_set_property (GObject *object, guint prop_id, const GValue *va
 }
 
 static void
-gst_videotemplate_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_videotemplate_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstVideotemplate *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOTEMPLATE(object));
-  src = GST_VIDEOTEMPLATE(object);
+  g_return_if_fail (GST_IS_VIDEOTEMPLATE (object));
+  src = GST_VIDEOTEMPLATE (object);
 
   switch (prop_id) {
 #if 0
@@ -206,50 +215,45 @@ gst_videotemplate_get_property (GObject *object, guint prop_id, GValue *value, G
   }
 }
 
-static gboolean plugin_init (GstPlugin *plugin)
+static gboolean
+plugin_init (GstPlugin * plugin)
 {
-  if(!gst_library_load("gstvideofilter"))
+  if (!gst_library_load ("gstvideofilter"))
     return FALSE;
 
   return gst_element_register (plugin, "videotemplate", GST_RANK_NONE,
       GST_TYPE_VIDEOTEMPLATE);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "videotemplate",
-  "Template for a video filter",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
-
-static void gst_videotemplate_setup(GstVideofilter *videofilter)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "videotemplate",
+    "Template for a video filter",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
+
+     static void gst_videotemplate_setup (GstVideofilter * videofilter)
 {
   GstVideotemplate *videotemplate;
 
-  g_return_if_fail(GST_IS_VIDEOTEMPLATE(videofilter));
-  videotemplate = GST_VIDEOTEMPLATE(videofilter);
+  g_return_if_fail (GST_IS_VIDEOTEMPLATE (videofilter));
+  videotemplate = GST_VIDEOTEMPLATE (videofilter);
 
   /* if any setup needs to be done, do it here */
 
 }
 
-static void gst_videotemplate_planar411(GstVideofilter *videofilter,
+static void
+gst_videotemplate_planar411 (GstVideofilter * videofilter,
     void *dest, void *src)
 {
   GstVideotemplate *videotemplate;
-  int width = gst_videofilter_get_input_width(videofilter);
-  int height = gst_videofilter_get_input_height(videofilter);
+  int width = gst_videofilter_get_input_width (videofilter);
+  int height = gst_videofilter_get_input_height (videofilter);
 
-  g_return_if_fail(GST_IS_VIDEOTEMPLATE(videofilter));
-  videotemplate = GST_VIDEOTEMPLATE(videofilter);
+  g_return_if_fail (GST_IS_VIDEOTEMPLATE (videofilter));
+  videotemplate = GST_VIDEOTEMPLATE (videofilter);
 
   /* do something interesting here.  This simply copies the source
    * to the destination. */
-  memcpy(dest,src,width * height + (width/2) * (height/2) * 2);
+  memcpy (dest, src, width * height + (width / 2) * (height / 2) * 2);
 }
-
index 0f20f47..9c7816d 100644 (file)
 
 
 /* elementfactory information */
-static GstElementDetails videoflip_details = GST_ELEMENT_DETAILS (
-  "Video scaler",
-  "Filter/Effect/Video",
-  "Resizes video",
-  "Wim Taymans <wim.taymans@chello.be>"
-);
+static GstElementDetails videoflip_details =
+GST_ELEMENT_DETAILS ("Video scaler",
+    "Filter/Effect/Video",
+    "Resizes video",
+    "Wim Taymans <wim.taymans@chello.be>");
 
 /* GstVideoflip signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_METHOD,
   /* FILL ME */
 };
 
-static void    gst_videoflip_base_init         (gpointer g_class);
-static void    gst_videoflip_class_init        (GstVideoflipClass *klass);
-static void    gst_videoflip_init              (GstVideoflip *videoflip);
+static void gst_videoflip_base_init (gpointer g_class);
+static void gst_videoflip_class_init (GstVideoflipClass * klass);
+static void gst_videoflip_init (GstVideoflip * videoflip);
 
-static void    gst_videoflip_set_property              (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
-static void    gst_videoflip_get_property              (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+static void gst_videoflip_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_videoflip_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
-static void    gst_videoflip_chain             (GstPad *pad, GstData *_data);
-static GstCaps * gst_videoflip_get_capslist(void);
+static void gst_videoflip_chain (GstPad * pad, GstData * _data);
+static GstCaps *gst_videoflip_get_capslist (void);
 
 
 static GstElementClass *parent_class = NULL;
@@ -63,50 +66,50 @@ static GstElementClass *parent_class = NULL;
 #define GST_TYPE_VIDEOFLIP_METHOD (gst_videoflip_method_get_type())
 
 static GType
-gst_videoflip_method_get_type(void)
+gst_videoflip_method_get_type (void)
 {
   static GType videoflip_method_type = 0;
   static GEnumValue videoflip_methods[] = {
-    { GST_VIDEOFLIP_METHOD_IDENTITY,   "0", "Identity (no rotation)" },
-    { GST_VIDEOFLIP_METHOD_90R,                "1", "Rotate right 90 degrees" },
-    { GST_VIDEOFLIP_METHOD_180,                "2", "Rotate 180 degrees" },
-    { GST_VIDEOFLIP_METHOD_90L,                "3", "Rotate left 90 degrees" },
-    { GST_VIDEOFLIP_METHOD_HORIZ,      "4", "Flip horizontally" },
-    { GST_VIDEOFLIP_METHOD_VERT,       "5", "Flip vertically" },
-    { GST_VIDEOFLIP_METHOD_TRANS,      "6", "Flip across upper left/lower right diagonal" },
-    { GST_VIDEOFLIP_METHOD_OTHER,      "7", "Flip across upper right/lower left diagonal" },
-    { 0, NULL, NULL },
+    {GST_VIDEOFLIP_METHOD_IDENTITY, "0", "Identity (no rotation)"},
+    {GST_VIDEOFLIP_METHOD_90R, "1", "Rotate right 90 degrees"},
+    {GST_VIDEOFLIP_METHOD_180, "2", "Rotate 180 degrees"},
+    {GST_VIDEOFLIP_METHOD_90L, "3", "Rotate left 90 degrees"},
+    {GST_VIDEOFLIP_METHOD_HORIZ, "4", "Flip horizontally"},
+    {GST_VIDEOFLIP_METHOD_VERT, "5", "Flip vertically"},
+    {GST_VIDEOFLIP_METHOD_TRANS, "6",
+       "Flip across upper left/lower right diagonal"},
+    {GST_VIDEOFLIP_METHOD_OTHER, "7",
+       "Flip across upper right/lower left diagonal"},
+    {0, NULL, NULL},
   };
-  if(!videoflip_method_type){
-    videoflip_method_type = g_enum_register_static("GstVideoflipMethod",
+  if (!videoflip_method_type) {
+    videoflip_method_type = g_enum_register_static ("GstVideoflipMethod",
        videoflip_methods);
   }
   return videoflip_method_type;
 }
 
 static GstPadTemplate *
-gst_videoflip_src_template_factory(void)
+gst_videoflip_src_template_factory (void)
 {
   /* well, actually RGB too, but since there's no RGB format anyway */
   GstCaps *caps = gst_caps_from_string ("video/x-raw-yuv, "
-             "width = (int) [ 0, MAX ], "
-             "height = (int) [ 0, MAX ], "
-             "framerate = (double) [ 0, MAX ]");
+      "width = (int) [ 0, MAX ], "
+      "height = (int) [ 0, MAX ], " "framerate = (double) [ 0, MAX ]");
 
-  caps = gst_caps_intersect(caps, gst_videoflip_get_capslist ());
+  caps = gst_caps_intersect (caps, gst_videoflip_get_capslist ());
 
   return gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, caps);
 }
 
 static GstPadTemplate *
-gst_videoflip_sink_template_factory(void)
+gst_videoflip_sink_template_factory (void)
 {
   GstCaps *caps = gst_caps_from_string ("video/x-raw-yuv, "
-             "width = (int) [ 0, MAX ], "
-             "height = (int) [ 0, MAX ], "
-             "framerate = (double) [ 0, MAX ]");
+      "width = (int) [ 0, MAX ], "
+      "height = (int) [ 0, MAX ], " "framerate = (double) [ 0, MAX ]");
 
-  caps = gst_caps_intersect(caps, gst_videoflip_get_capslist ());
+  caps = gst_caps_intersect (caps, gst_videoflip_get_capslist ());
 
   return gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, caps);
 }
@@ -118,17 +121,19 @@ gst_videoflip_get_type (void)
 
   if (!videoflip_type) {
     static const GTypeInfo videoflip_info = {
-      sizeof(GstVideoflipClass),
+      sizeof (GstVideoflipClass),
       gst_videoflip_base_init,
       NULL,
-      (GClassInitFunc)gst_videoflip_class_init,
+      (GClassInitFunc) gst_videoflip_class_init,
       NULL,
       NULL,
-      sizeof(GstVideoflip),
+      sizeof (GstVideoflip),
       0,
-      (GInstanceInitFunc)gst_videoflip_init,
+      (GInstanceInitFunc) gst_videoflip_init,
     };
-    videoflip_type = g_type_register_static(GST_TYPE_ELEMENT, "GstVideoflip", &videoflip_info, 0);
+    videoflip_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstVideoflip",
+       &videoflip_info, 0);
   }
   return videoflip_type;
 }
@@ -146,20 +151,20 @@ gst_videoflip_base_init (gpointer g_class)
       gst_videoflip_src_template_factory ());
 }
 static void
-gst_videoflip_class_init (GstVideoflipClass *klass)
+gst_videoflip_class_init (GstVideoflipClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_METHOD,
-      g_param_spec_enum("method","method","method",
-      GST_TYPE_VIDEOFLIP_METHOD, GST_VIDEOFLIP_METHOD_90R,
-      G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_METHOD,
+      g_param_spec_enum ("method", "method", "method",
+         GST_TYPE_VIDEOFLIP_METHOD, GST_VIDEOFLIP_METHOD_90R,
+         G_PARAM_READWRITE));
 
-  parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   gobject_class->set_property = gst_videoflip_set_property;
   gobject_class->get_property = gst_videoflip_get_property;
@@ -167,14 +172,14 @@ gst_videoflip_class_init (GstVideoflipClass *klass)
 }
 
 static GstCaps *
-gst_videoflip_get_capslist(void)
+gst_videoflip_get_capslist (void)
 {
   GstCaps *caps;
   GstStructure *structure;
   int i;
 
   caps = gst_caps_new_empty ();
-  for(i=0;i<videoflip_n_formats;i++){
+  for (i = 0; i < videoflip_n_formats; i++) {
     structure = videoflip_get_cap (videoflip_formats + i);
     gst_caps_append_structure (caps, structure);
   }
@@ -183,7 +188,7 @@ gst_videoflip_get_capslist(void)
 }
 
 static GstCaps *
-gst_videoflip_sink_getcaps (GstPad *pad)
+gst_videoflip_sink_getcaps (GstPad * pad)
 {
   GstVideoflip *videoflip;
   GstCaps *capslist = NULL;
@@ -194,11 +199,11 @@ gst_videoflip_sink_getcaps (GstPad *pad)
 
   GST_DEBUG ("gst_videoflip_sink_getcaps");
   videoflip = GST_VIDEOFLIP (gst_pad_get_parent (pad));
-  
+
   /* get list of peer's caps */
-  if(pad == videoflip->srcpad){
+  if (pad == videoflip->srcpad) {
     peercaps = gst_pad_get_allowed_caps (videoflip->sinkpad);
-  }else{
+  } else {
     peercaps = gst_pad_get_allowed_caps (videoflip->srcpad);
   }
 
@@ -206,21 +211,20 @@ gst_videoflip_sink_getcaps (GstPad *pad)
    * doesn't understand. */
   /* Look through our list of caps and find those that match with
    * the peer's formats.  Create a list of them. */
-  for(i=0;i<videoflip_n_formats;i++){
-    GstCaps *fromcaps = gst_caps_new_full(videoflip_get_cap(
-         videoflip_formats + i), NULL);
-    if(gst_caps_is_always_compatible(fromcaps, peercaps)){
-      gst_caps_append(capslist, fromcaps);
+  for (i = 0; i < videoflip_n_formats; i++) {
+    GstCaps *fromcaps =
+       gst_caps_new_full (videoflip_get_cap (videoflip_formats + i), NULL);
+    if (gst_caps_is_always_compatible (fromcaps, peercaps)) {
+      gst_caps_append (capslist, fromcaps);
     }
   }
   gst_caps_free (peercaps);
 
   sizecaps = gst_caps_from_string ("video/x-raw-yuv, "
-             "width = (int) [ 0, MAX ], "
-             "height = (int) [ 0, MAX ], "
-             "framerate = (double) [ 0, MAX ]");
+      "width = (int) [ 0, MAX ], "
+      "height = (int) [ 0, MAX ], " "framerate = (double) [ 0, MAX ]");
 
-  caps = gst_caps_intersect(capslist, sizecaps);
+  caps = gst_caps_intersect (capslist, sizecaps);
   gst_caps_free (sizecaps);
 
   return caps;
@@ -228,7 +232,7 @@ gst_videoflip_sink_getcaps (GstPad *pad)
 
 
 static GstPadLinkReturn
-gst_videoflip_src_link (GstPad *pad, const GstCaps *caps)
+gst_videoflip_src_link (GstPad * pad, const GstCaps * caps)
 {
   GstVideoflip *videoflip;
   GstStructure *structure;
@@ -236,22 +240,23 @@ gst_videoflip_src_link (GstPad *pad, const GstCaps *caps)
 
   GST_DEBUG ("gst_videoflip_src_link");
   videoflip = GST_VIDEOFLIP (gst_pad_get_parent (pad));
-  
+
   structure = gst_caps_get_structure (caps, 0);
 
   videoflip->format = videoflip_find_by_caps (caps);
-  g_return_val_if_fail(videoflip->format, GST_PAD_LINK_REFUSED);
+  g_return_val_if_fail (videoflip->format, GST_PAD_LINK_REFUSED);
 
   ret = gst_structure_get_int (structure, "width", &videoflip->to_width);
   ret &= gst_structure_get_int (structure, "height", &videoflip->to_height);
 
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   return GST_PAD_LINK_OK;
 }
 
 static GstPadLinkReturn
-gst_videoflip_sink_link (GstPad *pad, const GstCaps *caps)
+gst_videoflip_sink_link (GstPad * pad, const GstCaps * caps)
 {
   GstVideoflip *videoflip;
   GstStructure *structure;
@@ -259,37 +264,37 @@ gst_videoflip_sink_link (GstPad *pad, const GstCaps *caps)
 
   GST_DEBUG ("gst_videoflip_sink_link");
   videoflip = GST_VIDEOFLIP (gst_pad_get_parent (pad));
-  
+
   structure = gst_caps_get_structure (caps, 0);
 
   videoflip->format = videoflip_find_by_caps (caps);
-  g_return_val_if_fail(videoflip->format, GST_PAD_LINK_REFUSED);
+  g_return_val_if_fail (videoflip->format, GST_PAD_LINK_REFUSED);
 
   ret = gst_structure_get_int (structure, "width", &videoflip->from_width);
   ret &= gst_structure_get_int (structure, "height", &videoflip->from_height);
 
-  if (!ret) return GST_PAD_LINK_REFUSED;
+  if (!ret)
+    return GST_PAD_LINK_REFUSED;
 
   return GST_PAD_LINK_OK;
 }
 
 static void
-gst_videoflip_init (GstVideoflip *videoflip)
+gst_videoflip_init (GstVideoflip * videoflip)
 {
   GST_DEBUG ("gst_videoflip_init");
-  videoflip->sinkpad = gst_pad_new_from_template (
-                 gst_videoflip_sink_template_factory(),
-                 "sink");
-  gst_element_add_pad(GST_ELEMENT(videoflip),videoflip->sinkpad);
-  gst_pad_set_chain_function(videoflip->sinkpad,gst_videoflip_chain);
-  gst_pad_set_link_function(videoflip->sinkpad,gst_videoflip_sink_link);
-  gst_pad_set_getcaps_function(videoflip->sinkpad,gst_videoflip_sink_getcaps);
-
-  videoflip->srcpad = gst_pad_new_from_template (
-                 gst_videoflip_src_template_factory(),
-                 "src");
-  gst_element_add_pad(GST_ELEMENT(videoflip),videoflip->srcpad);
-  gst_pad_set_link_function(videoflip->srcpad,gst_videoflip_src_link);
+  videoflip->sinkpad =
+      gst_pad_new_from_template (gst_videoflip_sink_template_factory (),
+      "sink");
+  gst_element_add_pad (GST_ELEMENT (videoflip), videoflip->sinkpad);
+  gst_pad_set_chain_function (videoflip->sinkpad, gst_videoflip_chain);
+  gst_pad_set_link_function (videoflip->sinkpad, gst_videoflip_sink_link);
+  gst_pad_set_getcaps_function (videoflip->sinkpad, gst_videoflip_sink_getcaps);
+
+  videoflip->srcpad =
+      gst_pad_new_from_template (gst_videoflip_src_template_factory (), "src");
+  gst_element_add_pad (GST_ELEMENT (videoflip), videoflip->srcpad);
+  gst_pad_set_link_function (videoflip->srcpad, gst_videoflip_src_link);
   //gst_pad_set_getcaps_function(videoflip->srcpad,gst_videoflip_getcaps);
 
   videoflip->inited = FALSE;
@@ -298,7 +303,7 @@ gst_videoflip_init (GstVideoflip *videoflip)
 
 
 static void
-gst_videoflip_chain (GstPad *pad, GstData *_data)
+gst_videoflip_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstVideoflip *videoflip;
@@ -315,54 +320,54 @@ gst_videoflip_chain (GstPad *pad, GstData *_data)
   videoflip = GST_VIDEOFLIP (gst_pad_get_parent (pad));
   g_return_if_fail (videoflip->inited);
 
-  data = GST_BUFFER_DATA(buf);
-  size = GST_BUFFER_SIZE(buf);
+  data = GST_BUFFER_DATA (buf);
+  size = GST_BUFFER_SIZE (buf);
 
-  if(videoflip->passthru){
-    gst_pad_push(videoflip->srcpad, GST_DATA (buf));
+  if (videoflip->passthru) {
+    gst_pad_push (videoflip->srcpad, GST_DATA (buf));
     return;
   }
 
-  GST_DEBUG ("gst_videoflip_chain: got buffer of %ld bytes in '%s'",size,
-                             GST_OBJECT_NAME (videoflip));
-  GST_DEBUG ("size=%ld from=%dx%d to=%dx%d fromsize=%ld (should be %d) tosize=%d",
-       size,
-       videoflip->from_width, videoflip->from_height,
-       videoflip->to_width, videoflip->to_height,
-       size, videoflip->from_buf_size,
-       videoflip->to_buf_size);
+  GST_DEBUG ("gst_videoflip_chain: got buffer of %ld bytes in '%s'", size,
+      GST_OBJECT_NAME (videoflip));
+
+  GST_DEBUG
+      ("size=%ld from=%dx%d to=%dx%d fromsize=%ld (should be %d) tosize=%d",
+      size, videoflip->from_width, videoflip->from_height, videoflip->to_width,
+      videoflip->to_height, size, videoflip->from_buf_size,
+      videoflip->to_buf_size);
 
   g_return_if_fail (size == videoflip->from_buf_size);
 
-  outbuf = gst_buffer_new();
+  outbuf = gst_buffer_new ();
   /* FIXME: handle bufferpools */
-  GST_BUFFER_SIZE(outbuf) = videoflip->to_buf_size;
-  GST_BUFFER_DATA(outbuf) = g_malloc (videoflip->to_buf_size);
-  GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf);
+  GST_BUFFER_SIZE (outbuf) = videoflip->to_buf_size;
+  GST_BUFFER_DATA (outbuf) = g_malloc (videoflip->to_buf_size);
+  GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
 
-  g_return_if_fail(videoflip->format);
-  GST_DEBUG ("format %s",videoflip->format->fourcc);
-  g_return_if_fail(videoflip->format->scale);
+  g_return_if_fail (videoflip->format);
+  GST_DEBUG ("format %s", videoflip->format->fourcc);
+  g_return_if_fail (videoflip->format->scale);
 
-  videoflip->format->scale(videoflip, GST_BUFFER_DATA(outbuf), data);
+  videoflip->format->scale (videoflip, GST_BUFFER_DATA (outbuf), data);
 
-  GST_DEBUG ("gst_videoflip_chain: pushing buffer of %d bytes in '%s'",GST_BUFFER_SIZE(outbuf),
-                     GST_OBJECT_NAME (videoflip));
+  GST_DEBUG ("gst_videoflip_chain: pushing buffer of %d bytes in '%s'",
+      GST_BUFFER_SIZE (outbuf), GST_OBJECT_NAME (videoflip));
 
-  gst_pad_push(videoflip->srcpad, GST_DATA (outbuf));
+  gst_pad_push (videoflip->srcpad, GST_DATA (outbuf));
 
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
 static void
-gst_videoflip_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
+gst_videoflip_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
 {
   GstVideoflip *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOFLIP(object));
-  src = GST_VIDEOFLIP(object);
+  g_return_if_fail (GST_IS_VIDEOFLIP (object));
+  src = GST_VIDEOFLIP (object);
 
   GST_DEBUG ("gst_videoflip_set_property");
   switch (prop_id) {
@@ -375,13 +380,14 @@ gst_videoflip_set_property (GObject *object, guint prop_id, const GValue *value,
 }
 
 static void
-gst_videoflip_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
+gst_videoflip_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstVideoflip *src;
 
   /* it's not null if we got it, but it might not be ours */
-  g_return_if_fail(GST_IS_VIDEOFLIP(object));
-  src = GST_VIDEOFLIP(object);
+  g_return_if_fail (GST_IS_VIDEOFLIP (object));
+  src = GST_VIDEOFLIP (object);
 
   switch (prop_id) {
     case ARG_METHOD:
@@ -395,19 +401,13 @@ gst_videoflip_get_property (GObject *object, guint prop_id, GValue *value, GPara
 
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "videoflip", GST_RANK_NONE, GST_TYPE_VIDEOFLIP);
+  return gst_element_register (plugin, "videoflip", GST_RANK_NONE,
+      GST_TYPE_VIDEOFLIP);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "videoflip",
-  "Resizes video",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "videoflip",
+    "Resizes video", plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index b14b0bd..4d28ac6 100644 (file)
@@ -25,9 +25,8 @@
 #include <gst/gst.h>
 
 
-G_BEGIN_DECLS
-
-typedef enum {
+G_BEGIN_DECLS typedef enum
+{
   GST_VIDEOFLIP_METHOD_IDENTITY,
   GST_VIDEOFLIP_METHOD_90R,
   GST_VIDEOFLIP_METHOD_180,
@@ -53,10 +52,11 @@ typedef enum {
 typedef struct _GstVideoflip GstVideoflip;
 typedef struct _GstVideoflipClass GstVideoflipClass;
 
-struct _GstVideoflip {
+struct _GstVideoflip
+{
   GstElement element;
 
-  GstPad *sinkpad,*srcpad;
+  GstPad *sinkpad, *srcpad;
 
   gboolean force_size;
   gint forced_width;
@@ -78,16 +78,16 @@ struct _GstVideoflip {
   gint to_buf_size;
 };
 
-struct _GstVideoflipClass {
+struct _GstVideoflipClass
+{
   GstElementClass parent_class;
 };
 
-GType gst_videoflip_get_type(void);
+GType gst_videoflip_get_type (void);
+
+void gst_videoflip_setup (GstVideoflip *);
 
-void gst_videoflip_setup(GstVideoflip *);
 #define gst_videoflip_scale(scale, src, dest) (scale)->scale_cc((scale), (src), (dest))
 
 G_END_DECLS
-
 #endif /* __GST_VIDEOFLIP_H__ */
-
index 7956165..16db210 100644 (file)
 
 #include "gstvideoflip.h"
 
-static void gst_videoflip_planar411 (GstVideoflip *scale, unsigned char *dest, unsigned char *src);
+static void gst_videoflip_planar411 (GstVideoflip * scale, unsigned char *dest,
+    unsigned char *src);
 
-static void gst_videoflip_flip(GstVideoflip *videoflip, unsigned char *dest,
+static void gst_videoflip_flip (GstVideoflip * videoflip, unsigned char *dest,
     unsigned char *src, int sw, int sh, int dw, int dh);
 
 struct videoflip_format_struct videoflip_formats[] = {
-       /* planar */
-       { "YV12", 12, gst_videoflip_planar411, },
-       { "I420", 12, gst_videoflip_planar411, },
+  /* planar */
+  {"YV12", 12, gst_videoflip_planar411,},
+  {"I420", 12, gst_videoflip_planar411,},
 };
 
-int videoflip_n_formats = sizeof(videoflip_formats)/sizeof(videoflip_formats[0]);
+int videoflip_n_formats =
+    sizeof (videoflip_formats) / sizeof (videoflip_formats[0]);
 
 GstStructure *
-videoflip_get_cap(struct videoflip_format_struct *format)
+videoflip_get_cap (struct videoflip_format_struct *format)
 {
   unsigned int fourcc;
   GstStructure *structure;
 
-  if(format->scale==NULL)
+  if (format->scale == NULL)
     return NULL;
 
-  fourcc = GST_MAKE_FOURCC(format->fourcc[0],format->fourcc[1],format->fourcc[2],format->fourcc[3]);
+  fourcc =
+      GST_MAKE_FOURCC (format->fourcc[0], format->fourcc[1], format->fourcc[2],
+      format->fourcc[3]);
 
-  if(format->bpp){
-    structure = gst_structure_new("video/x-raw-rgb",
+  if (format->bpp) {
+    structure = gst_structure_new ("video/x-raw-rgb",
        "depth", G_TYPE_INT, format->bpp,
        "bpp", G_TYPE_INT, format->depth,
        "endianness", G_TYPE_INT, format->endianness,
        "red_mask", G_TYPE_INT, format->red_mask,
        "green_mask", G_TYPE_INT, format->green_mask,
        "blue_mask", G_TYPE_INT, format->blue_mask, NULL);
-  }else{
-    structure = gst_structure_new("video/x-raw-yuv",
+  } else {
+    structure = gst_structure_new ("video/x-raw-yuv",
        "format", GST_TYPE_FOURCC, fourcc, NULL);
   }
 
@@ -71,24 +75,24 @@ videoflip_get_cap(struct videoflip_format_struct *format)
 }
 
 struct videoflip_format_struct *
-videoflip_find_by_caps(const GstCaps *caps)
+videoflip_find_by_caps (const GstCaps * caps)
 {
   int i;
 
   GST_DEBUG ("finding %p", caps);
 
-  g_return_val_if_fail(caps != NULL, NULL);
+  g_return_val_if_fail (caps != NULL, NULL);
 
-  for (i = 0; i < videoflip_n_formats; i++){
+  for (i = 0; i < videoflip_n_formats; i++) {
     GstCaps *c;
 
     c = gst_caps_new_full (videoflip_get_cap (videoflip_formats + i), NULL);
-    if(c){
-      if(gst_caps_is_always_compatible(caps, c)){
-        gst_caps_free(c);
-        return videoflip_formats + i;
+    if (c) {
+      if (gst_caps_is_always_compatible (caps, c)) {
+       gst_caps_free (c);
+       return videoflip_formats + i;
       }
-      gst_caps_free(c);
+      gst_caps_free (c);
     }
   }
 
@@ -96,13 +100,13 @@ videoflip_find_by_caps(const GstCaps *caps)
 }
 
 void
-gst_videoflip_setup (GstVideoflip *videoflip)
+gst_videoflip_setup (GstVideoflip * videoflip)
 {
-  if(videoflip->from_width==0 || videoflip->from_height==0){
+  if (videoflip->from_width == 0 || videoflip->from_height == 0) {
     return;
   }
 
-  switch(videoflip->method){
+  switch (videoflip->method) {
     case GST_VIDEOFLIP_METHOD_90R:
     case GST_VIDEOFLIP_METHOD_90L:
     case GST_VIDEOFLIP_METHOD_TRANS:
@@ -123,11 +127,11 @@ gst_videoflip_setup (GstVideoflip *videoflip)
   }
 
   GST_DEBUG ("format=%p \"%s\" from %dx%d to %dx%d",
-               videoflip->format, videoflip->format->fourcc,
-               videoflip->from_width, videoflip->from_height,
-               videoflip->to_width, videoflip->to_height);
+      videoflip->format, videoflip->format->fourcc,
+      videoflip->from_width, videoflip->from_height,
+      videoflip->to_width, videoflip->to_height);
 
-  if(videoflip->method == GST_VIDEOFLIP_METHOD_IDENTITY){
+  if (videoflip->method == GST_VIDEOFLIP_METHOD_IDENTITY) {
     GST_DEBUG ("videoflip: using passthru");
     videoflip->passthru = TRUE;
     videoflip->inited = TRUE;
@@ -135,15 +139,16 @@ gst_videoflip_setup (GstVideoflip *videoflip)
   }
 
   videoflip->from_buf_size = (videoflip->from_width * videoflip->from_height
-                 * videoflip->format->depth) / 8;
+      * videoflip->format->depth) / 8;
   videoflip->to_buf_size = (videoflip->to_width * videoflip->to_height
-                 * videoflip->format->depth) / 8;
+      * videoflip->format->depth) / 8;
 
   videoflip->inited = TRUE;
 }
 
 static void
-gst_videoflip_planar411 (GstVideoflip *scale, unsigned char *dest, unsigned char *src)
+gst_videoflip_planar411 (GstVideoflip * scale, unsigned char *dest,
+    unsigned char *src)
 {
   int sw = scale->from_width;
   int sh = scale->from_height;
@@ -152,77 +157,77 @@ gst_videoflip_planar411 (GstVideoflip *scale, unsigned char *dest, unsigned char
 
   GST_DEBUG ("videoflip: scaling planar 4:1:1 %dx%d to %dx%d", sw, sh, dw, dh);
 
-  gst_videoflip_flip(scale, dest, src, sw, sh, dw, dh);
+  gst_videoflip_flip (scale, dest, src, sw, sh, dw, dh);
 
-  src += sw*sh;
-  dest += dw*dh;
+  src += sw * sh;
+  dest += dw * dh;
 
-  dh = dh>>1;
-  dw = dw>>1;
-  sh = sh>>1;
-  sw = sw>>1;
+  dh = dh >> 1;
+  dw = dw >> 1;
+  sh = sh >> 1;
+  sw = sw >> 1;
 
-  gst_videoflip_flip(scale, dest, src, sw, sh, dw, dh);
+  gst_videoflip_flip (scale, dest, src, sw, sh, dw, dh);
 
-  src += sw*sh;
-  dest += dw*dh;
+  src += sw * sh;
+  dest += dw * dh;
 
-  gst_videoflip_flip(scale, dest, src, sw, sh, dw, dh);
+  gst_videoflip_flip (scale, dest, src, sw, sh, dw, dh);
 }
 
 static void
-gst_videoflip_flip(GstVideoflip *videoflip, unsigned char *dest,
+gst_videoflip_flip (GstVideoflip * videoflip, unsigned char *dest,
     unsigned char *src, int sw, int sh, int dw, int dh)
 {
-  int x,y;
+  int x, y;
 
-  switch(videoflip->method){
+  switch (videoflip->method) {
     case GST_VIDEOFLIP_METHOD_90R:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - x)*sw + y];
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - x) * sw + y];
        }
       }
       break;
     case GST_VIDEOFLIP_METHOD_90L:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[x*sw + (sw - 1 - y)];
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[x * sw + (sw - 1 - y)];
        }
       }
       break;
     case GST_VIDEOFLIP_METHOD_180:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - y)*sw + (sw - 1 - x)];
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - y) * sw + (sw - 1 - x)];
        }
       }
       break;
     case GST_VIDEOFLIP_METHOD_HORIZ:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[y*sw + (sw - 1 - x)];
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[y * sw + (sw - 1 - x)];
        }
       }
       break;
     case GST_VIDEOFLIP_METHOD_VERT:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - y)*sw + x];
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - y) * sw + x];
        }
       }
       break;
     case GST_VIDEOFLIP_METHOD_TRANS:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[x*sw + y];
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[x * sw + y];
        }
       }
       break;
     case GST_VIDEOFLIP_METHOD_OTHER:
-      for(y=0;y<dh;y++){
-        for(x=0;x<dw;x++){
-         dest[y*dw + x] = src[(sh - 1 - x)*sw + (sw - 1 - y)];
+      for (y = 0; y < dh; y++) {
+       for (x = 0; x < dw; x++) {
+         dest[y * dw + x] = src[(sh - 1 - x) * sw + (sw - 1 - y)];
        }
       }
       break;
@@ -231,4 +236,3 @@ gst_videoflip_flip(GstVideoflip *videoflip, unsigned char *dest,
       break;
   }
 }
-
index e912fe9..a6bd5fb 100644 (file)
 
 #include "gstvideoflip.h"
 
-struct videoflip_format_struct {
-       char *fourcc;
-       int depth;
-       void (*scale)(GstVideoflip *,unsigned char *dest, unsigned char *src);
-       int bpp;
-       unsigned int endianness;
-       unsigned int red_mask;
-       unsigned int green_mask;
-       unsigned int blue_mask;
+struct videoflip_format_struct
+{
+  char *fourcc;
+  int depth;
+  void (*scale) (GstVideoflip *, unsigned char *dest, unsigned char *src);
+  int bpp;
+  unsigned int endianness;
+  unsigned int red_mask;
+  unsigned int green_mask;
+  unsigned int blue_mask;
 };
 
 extern struct videoflip_format_struct videoflip_formats[];
 extern int videoflip_n_formats;
 
-GstStructure *videoflip_get_cap(struct videoflip_format_struct *format);
+GstStructure *videoflip_get_cap (struct videoflip_format_struct *format);
 
-struct videoflip_format_struct *videoflip_find_by_caps(const GstCaps *caps);
+struct videoflip_format_struct *videoflip_find_by_caps (const GstCaps * caps);
 
 
 #endif
-
index 8a2d4ba..757330f 100644 (file)
 #include <gstwavenc.h>
 #include <riff.h>
 
-static void    gst_wavenc_base_init    (gpointer g_class);
-static void    gst_wavenc_class_init   (GstWavEncClass *klass);
-static void    gst_wavenc_init         (GstWavEnc *wavenc);
-static void    gst_wavenc_chain        (GstPad *pad, GstData *_data);
+static void gst_wavenc_base_init (gpointer g_class);
+static void gst_wavenc_class_init (GstWavEncClass * klass);
+static void gst_wavenc_init (GstWavEnc * wavenc);
+static void gst_wavenc_chain (GstPad * pad, GstData * _data);
 
 #define WAVE_FORMAT_PCM 0x0001
 
@@ -42,65 +42,63 @@ static void         gst_wavenc_chain        (GstPad *pad, GstData *_data);
 #define WRITE_U16(buf, x) *(buf) = (unsigned char) (x&0xff);\
 *((buf)+1) = (unsigned char)((x>>8)&0xff);
 
-struct riff_struct {
-  guint8       id[4];          /* RIFF */
-  guint32      len;
-  guint8       wav_id[4];      /* WAVE */
+struct riff_struct
+{
+  guint8 id[4];                        /* RIFF */
+  guint32 len;
+  guint8 wav_id[4];            /* WAVE */
 };
 
-struct chunk_struct {
-  guint8       id[4];
-  guint32      len;
+struct chunk_struct
+{
+  guint8 id[4];
+  guint32 len;
 };
 
-struct common_struct {
-  guint16      wFormatTag;
-  guint16      wChannels;
-  guint32      dwSamplesPerSec;
-  guint32      dwAvgBytesPerSec;
-  guint16      wBlockAlign;
-  guint16      wBitsPerSample;         /* Only for PCM */
+struct common_struct
+{
+  guint16 wFormatTag;
+  guint16 wChannels;
+  guint32 dwSamplesPerSec;
+  guint32 dwAvgBytesPerSec;
+  guint16 wBlockAlign;
+  guint16 wBitsPerSample;      /* Only for PCM */
 };
 
-struct wave_header {
-  struct riff_struct   riff;
-  struct chunk_struct  format;
-  struct common_struct         common;
-  struct chunk_struct  data;
+struct wave_header
+{
+  struct riff_struct riff;
+  struct chunk_struct format;
+  struct common_struct common;
+  struct chunk_struct data;
 };
 
-static GstElementDetails gst_wavenc_details = GST_ELEMENT_DETAILS (
-  "WAV encoder",
-  "Codec/Encoder/Audio",
-  "Encode raw audio into WAV",
-  "Iain Holmes <iain@prettypeople.org>"
-);
-
-static GstStaticPadTemplate sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-raw-int, "
-    "rate = (int) [ 1, MAX ], "
-    "channels = (int) [ 1, MAX ], "
-    "endianness = (int) LITTLE_ENDIAN, "
-    "width = (int) { 8, 16 }, "
-    "depth = (int) { 8, 16 }, "
-    "signed = (boolean) true"
-  )
-);
-
-static GstStaticPadTemplate src_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-wav")
-);
-
-enum {
-       PROP_0,
+static GstElementDetails gst_wavenc_details =
+GST_ELEMENT_DETAILS ("WAV encoder",
+    "Codec/Encoder/Audio",
+    "Encode raw audio into WAV",
+    "Iain Holmes <iain@prettypeople.org>");
+
+static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "rate = (int) [ 1, MAX ], "
+       "channels = (int) [ 1, MAX ], "
+       "endianness = (int) LITTLE_ENDIAN, "
+       "width = (int) { 8, 16 }, "
+       "depth = (int) { 8, 16 }, " "signed = (boolean) true")
+    );
+
+static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-wav")
+    );
+
+enum
+{
+  PROP_0,
 };
 
 static GstElementClass *parent_class = NULL;
@@ -112,14 +110,14 @@ gst_wavenc_get_type (void)
 
   if (type == 0) {
     static const GTypeInfo info = {
-      sizeof (GstWavEncClass), 
-      gst_wavenc_base_init, 
+      sizeof (GstWavEncClass),
+      gst_wavenc_base_init,
+      NULL,
+      (GClassInitFunc) gst_wavenc_class_init,
       NULL,
-      (GClassInitFunc) gst_wavenc_class_init, 
-      NULL, 
       NULL,
-      sizeof (GstWavEnc), 
-      0, 
+      sizeof (GstWavEnc),
+      0,
       (GInstanceInitFunc) gst_wavenc_init
     };
 
@@ -130,10 +128,10 @@ gst_wavenc_get_type (void)
 }
 
 static GstElementStateReturn
-gst_wavenc_change_state (GstElement *element)
+gst_wavenc_change_state (GstElement * element)
 {
   GstWavEnc *wavenc = GST_WAVENC (element);
-  
+
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_PAUSED_TO_READY:
       wavenc->setup = FALSE;
@@ -151,19 +149,17 @@ gst_wavenc_change_state (GstElement *element)
 }
 
 static void
-set_property (GObject *object,
-             guint prop_id,
-             const GValue *value,
-             GParamSpec *pspec)
+set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
 {
-       GstWavEnc *enc;
-
-       enc = GST_WAVENC (object);
-       
-       switch (prop_id) {
-       default:
-               break;
-       }
+  GstWavEnc *enc;
+
+  enc = GST_WAVENC (object);
+
+  switch (prop_id) {
+    default:
+      break;
+  }
 }
 
 static void
@@ -172,32 +168,32 @@ gst_wavenc_base_init (gpointer g_class)
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
 
   gst_element_class_set_details (element_class, &gst_wavenc_details);
-  
+
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&src_factory));
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&sink_factory));
 }
 static void
-gst_wavenc_class_init (GstWavEncClass *klass)
+gst_wavenc_class_init (GstWavEncClass * klass)
 {
   GstElementClass *element_class;
   GObjectClass *object_class;
-       
+
   element_class = (GstElementClass *) klass;
   object_class = (GObjectClass *) klass;
   object_class->set_property = set_property;
-       
+
   element_class->change_state = gst_wavenc_change_state;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 }
 
 static gboolean
-gst_wavenc_setup (GstWavEnc *wavenc)
+gst_wavenc_setup (GstWavEnc * wavenc)
 {
   struct wave_header wave;
-  gint size = 0x7fffffff; /* Use a bogus size initially */
+  gint size = 0x7fffffff;      /* Use a bogus size initially */
 
   wave.common.wChannels = wavenc->channels;
   wave.common.wBitsPerSample = wavenc->bits;
@@ -214,8 +210,11 @@ gst_wavenc_setup (GstWavEnc *wavenc)
   wave.format.len = 16;
 
   wave.common.wFormatTag = WAVE_FORMAT_PCM;
-  wave.common.dwAvgBytesPerSec = wave.common.wChannels * wave.common.dwSamplesPerSec * (wave.common.wBitsPerSample >> 3);
-  wave.common.wBlockAlign = wave.common.wChannels * (wave.common.wBitsPerSample >> 3);
+  wave.common.dwAvgBytesPerSec =
+      wave.common.wChannels * wave.common.dwSamplesPerSec *
+      (wave.common.wBitsPerSample >> 3);
+  wave.common.wBlockAlign =
+      wave.common.wChannels * (wave.common.wBitsPerSample >> 3);
 
   strncpy (wave.data.id, "data", 4);
   wave.data.len = size - 44;
@@ -239,7 +238,7 @@ gst_wavenc_setup (GstWavEnc *wavenc)
 }
 
 static GstPadLinkReturn
-gst_wavenc_sinkconnect (GstPad *pad, const GstCaps *caps)
+gst_wavenc_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstWavEnc *wavenc;
   GstStructure *structure;
@@ -248,9 +247,9 @@ gst_wavenc_sinkconnect (GstPad *pad, const GstCaps *caps)
 
   structure = gst_caps_get_structure (caps, 0);
 
-  gst_structure_get_int  (structure, "channels", &wavenc->channels);
-  gst_structure_get_int  (structure, "rate", &wavenc->rate);
-  gst_structure_get_int  (structure, "depth", &wavenc->bits);
+  gst_structure_get_int (structure, "channels", &wavenc->channels);
+  gst_structure_get_int (structure, "rate", &wavenc->rate);
+  gst_structure_get_int (structure, "depth", &wavenc->bits);
 
   gst_wavenc_setup (wavenc);
 
@@ -262,324 +261,328 @@ gst_wavenc_sinkconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static void
-gst_wavenc_stop_file (GstWavEnc *wavenc)
+gst_wavenc_stop_file (GstWavEnc * wavenc)
 {
   GstEvent *event;
   GstBuffer *outbuf;
-       
-  event = gst_event_new_seek (GST_FORMAT_BYTES |
-                                                                                                                       GST_SEEK_METHOD_SET, 0);
+
+  event = gst_event_new_seek (GST_FORMAT_BYTES | GST_SEEK_METHOD_SET, 0);
   gst_pad_send_event (GST_PAD_PEER (wavenc->srcpad), event);
-  
+
   outbuf = gst_buffer_new_and_alloc (WAV_HEADER_LEN);
   WRITE_U32 (wavenc->header + 4, wavenc->length);
   memcpy (GST_BUFFER_DATA (outbuf), wavenc->header, WAV_HEADER_LEN);
-  
+
   gst_pad_push (wavenc->srcpad, GST_DATA (outbuf));
 }
 
 static void
-gst_wavenc_init (GstWavEnc *wavenc)
+gst_wavenc_init (GstWavEnc * wavenc)
 {
   GstElementClass *klass = GST_ELEMENT_GET_CLASS (wavenc);
 
-  wavenc->sinkpad = gst_pad_new_from_template (
-       gst_element_class_get_pad_template (klass, "sink"), "sink");
+  wavenc->sinkpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template (klass,
+         "sink"), "sink");
   gst_element_add_pad (GST_ELEMENT (wavenc), wavenc->sinkpad);
   gst_pad_set_chain_function (wavenc->sinkpad, gst_wavenc_chain);
   gst_pad_set_link_function (wavenc->sinkpad, gst_wavenc_sinkconnect);
-  
-  wavenc->srcpad = gst_pad_new_from_template (
-       gst_element_class_get_pad_template (klass, "src"), "src");
+
+  wavenc->srcpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template (klass,
+         "src"), "src");
   gst_element_add_pad (GST_ELEMENT (wavenc), wavenc->srcpad);
 
   wavenc->setup = FALSE;
   wavenc->flush_header = TRUE;
-       
+
   GST_FLAG_SET (wavenc, GST_ELEMENT_EVENT_AWARE);
 }
 
-struct _maps {
-       guint32 id;
-       char *name;
+struct _maps
+{
+  guint32 id;
+  char *name;
 } maps[] = {
-       { GST_RIFF_INFO_IARL, "Location" },
-       { GST_RIFF_INFO_IART, "Artist" },
-       { GST_RIFF_INFO_ICMS, "Commissioner" },
-       { GST_RIFF_INFO_ICMT, "Comment" },
-       { GST_RIFF_INFO_ICOP, "Copyright" },
-       { GST_RIFF_INFO_ICRD, "Creation Date" },
-       { GST_RIFF_INFO_IENG, "Engineer" },
-       { GST_RIFF_INFO_IGNR, "Genre" },
-       { GST_RIFF_INFO_IKEY, "Keywords" },
-       { GST_RIFF_INFO_INAM, "Title" }, /* Name */
-       { GST_RIFF_INFO_IPRD, "Product" },
-       { GST_RIFF_INFO_ISBJ, "Subject" },
-       { GST_RIFF_INFO_ISFT, "Software" },
-       { GST_RIFF_INFO_ITCH, "Technician" },
-       { 0, NULL }
+  {
+  GST_RIFF_INFO_IARL, "Location"}, {
+  GST_RIFF_INFO_IART, "Artist"}, {
+  GST_RIFF_INFO_ICMS, "Commissioner"}, {
+  GST_RIFF_INFO_ICMT, "Comment"}, {
+  GST_RIFF_INFO_ICOP, "Copyright"}, {
+  GST_RIFF_INFO_ICRD, "Creation Date"}, {
+  GST_RIFF_INFO_IENG, "Engineer"}, {
+  GST_RIFF_INFO_IGNR, "Genre"}, {
+  GST_RIFF_INFO_IKEY, "Keywords"}, {
+  GST_RIFF_INFO_INAM, "Title"},        /* Name */
+  {
+  GST_RIFF_INFO_IPRD, "Product"}, {
+  GST_RIFF_INFO_ISBJ, "Subject"}, {
+  GST_RIFF_INFO_ISFT, "Software"}, {
+  GST_RIFF_INFO_ITCH, "Technician"}, {
+  0, NULL}
 };
 
 #if 0
 static guint32
 get_id_from_name (const char *name)
 {
-       int i;
+  int i;
 
-       for (i = 0; maps[i].name; i++) {
-               if (strcasecmp (maps[i].name, name) == 0) {
-                       return maps[i].id;
-               }
-       }
+  for (i = 0; maps[i].name; i++) {
+    if (strcasecmp (maps[i].name, name) == 0) {
+      return maps[i].id;
+    }
+  }
 
-       return 0;
+  return 0;
 }
 
 static void
-write_metadata (GstWavEnc *wavenc)
+write_metadata (GstWavEnc * wavenc)
 {
-       GString *info_str;
-       GList *props;
-       int total = 4;
-       gboolean need_to_write = FALSE;
-       
-       info_str = g_string_new ("LIST    INFO");
-
-       for (props = wavenc->metadata->properties->properties; props; props = props->next) {
-               GstPropsEntry *entry = props->data;
-               const char *name;
-               guint32 id;
-
-               name = gst_props_entry_get_name (entry);
-               id = get_id_from_name (name);
-               if (id != 0) {
-                       const char *text;
-                       char *tmp;
-                       int len, req, i;
-
-                       need_to_write = TRUE; /* We've got at least one entry */
-                       
-                       gst_props_entry_get_string (entry, &text);
-                       len = strlen (text) + 1; /* The length in the file includes the \0 */
-
-                       tmp = g_strdup_printf (GST_FOURCC_FORMAT "%d%s", GST_FOURCC_ARGS (id),
-                                                                                                                GUINT32_TO_LE (len), text); 
-                       g_string_append (info_str, tmp);
-                       g_free (tmp);
-
-                       /* Check that we end on an even boundary */
-                       req = ((len + 8) + 1) & ~1;
-                       for (i = 0; i < req - len; i++) {
-                               g_string_append_printf (info_str, "%c", 0);
-                       }
-
-                       total += req;
-               }
-       }
-
-       if (need_to_write) {
-               GstBuffer *buf;
-               /* Now we've got all the strings together, we can write our length in */
-               info_str->str[4] = GUINT32_TO_LE (total);
-
-               buf = gst_buffer_new ();
-               gst_buffer_set_data (buf, info_str->str, info_str->len);
-
-               gst_pad_push (wavenc->srcpad, GST_DATA (buf));
-               g_string_free (info_str, FALSE);
-       }
+  GString *info_str;
+  GList *props;
+  int total = 4;
+  gboolean need_to_write = FALSE;
+
+  info_str = g_string_new ("LIST    INFO");
+
+  for (props = wavenc->metadata->properties->properties; props;
+      props = props->next) {
+    GstPropsEntry *entry = props->data;
+    const char *name;
+    guint32 id;
+
+    name = gst_props_entry_get_name (entry);
+    id = get_id_from_name (name);
+    if (id != 0) {
+      const char *text;
+      char *tmp;
+      int len, req, i;
+
+      need_to_write = TRUE;    /* We've got at least one entry */
+
+      gst_props_entry_get_string (entry, &text);
+      len = strlen (text) + 1; /* The length in the file includes the \0 */
+
+      tmp = g_strdup_printf (GST_FOURCC_FORMAT "%d%s", GST_FOURCC_ARGS (id),
+         GUINT32_TO_LE (len), text);
+      g_string_append (info_str, tmp);
+      g_free (tmp);
+
+      /* Check that we end on an even boundary */
+      req = ((len + 8) + 1) & ~1;
+      for (i = 0; i < req - len; i++) {
+       g_string_append_printf (info_str, "%c", 0);
+      }
+
+      total += req;
+    }
+  }
+
+  if (need_to_write) {
+    GstBuffer *buf;
+
+    /* Now we've got all the strings together, we can write our length in */
+    info_str->str[4] = GUINT32_TO_LE (total);
+
+    buf = gst_buffer_new ();
+    gst_buffer_set_data (buf, info_str->str, info_str->len);
+
+    gst_pad_push (wavenc->srcpad, GST_DATA (buf));
+    g_string_free (info_str, FALSE);
+  }
 }
 
 static void
-write_cues (GstWavEnc *wavenc)
+write_cues (GstWavEnc * wavenc)
 {
-       GString *cue_string, *point_string;
-       GstBuffer *buf;
-       GList *cue_list, *c;
-       int num_cues, total = 4;
-
-       if (gst_props_get (wavenc->metadata->properties,
-                                                                                "cues", &cue_list,
-                                                                                NULL) == FALSE) {
-               /* No cues, move along please, nothing to see here */
-               return;
-       }
-
-       /* Space for 'cue ', chunk size and number of cuepoints */
-       cue_string = g_string_new ("cue         ");
+  GString *cue_string, *point_string;
+  GstBuffer *buf;
+  GList *cue_list, *c;
+  int num_cues, total = 4;
+
+  if (gst_props_get (wavenc->metadata->properties,
+         "cues", &cue_list, NULL) == FALSE) {
+    /* No cues, move along please, nothing to see here */
+    return;
+  }
+
+  /* Space for 'cue ', chunk size and number of cuepoints */
+  cue_string = g_string_new ("cue         ");
 #define CUEPOINT_SIZE 24
-       point_string = g_string_sized_new (CUEPOINT_SIZE);
-       
-       for (c = cue_list, num_cues = 0; c; c = c->next, num_cues++) {
-               GstCaps *cue_caps = c->data;
-               guint32 pos;
-               
-               gst_props_get (cue_caps->properties, "position", &pos, NULL);
-               
-               point_string->str[0] = GUINT32_TO_LE (num_cues + 1);
-               point_string->str[4] = GUINT32_TO_LE (0);
-               /* Fixme: There is probably a macro for this */
-               point_string->str[8] = 'd';
-               point_string->str[9] = 'a';
-               point_string->str[10] = 't';
-               point_string->str[11] = 'a';
-               point_string->str[12] = GUINT32_TO_LE (0);
-               point_string->str[16] = GUINT32_TO_LE (0);
-               point_string->str[20] = GUINT32_TO_LE (pos);
-               
-               total += CUEPOINT_SIZE;
-       }
-
-       /* Set the length and chunk size */
-       cue_string->str[4] = GUINT32_TO_LE (total);
-       cue_string->str[8] = GUINT32_TO_LE (num_cues);
-       /* Stick the cue points on the end */
-       g_string_append (cue_string, point_string->str);
-       g_string_free (point_string, TRUE);
-
-       buf = gst_buffer_new ();
-       gst_buffer_set_data (buf, cue_string->str, cue_string->len);
-
-       gst_pad_push (wavenc->srcpad, GST_DATA (buf));
-       g_string_free (cue_string, FALSE);
+  point_string = g_string_sized_new (CUEPOINT_SIZE);
+
+  for (c = cue_list, num_cues = 0; c; c = c->next, num_cues++) {
+    GstCaps *cue_caps = c->data;
+    guint32 pos;
+
+    gst_props_get (cue_caps->properties, "position", &pos, NULL);
+
+    point_string->str[0] = GUINT32_TO_LE (num_cues + 1);
+    point_string->str[4] = GUINT32_TO_LE (0);
+    /* Fixme: There is probably a macro for this */
+    point_string->str[8] = 'd';
+    point_string->str[9] = 'a';
+    point_string->str[10] = 't';
+    point_string->str[11] = 'a';
+    point_string->str[12] = GUINT32_TO_LE (0);
+    point_string->str[16] = GUINT32_TO_LE (0);
+    point_string->str[20] = GUINT32_TO_LE (pos);
+
+    total += CUEPOINT_SIZE;
+  }
+
+  /* Set the length and chunk size */
+  cue_string->str[4] = GUINT32_TO_LE (total);
+  cue_string->str[8] = GUINT32_TO_LE (num_cues);
+  /* Stick the cue points on the end */
+  g_string_append (cue_string, point_string->str);
+  g_string_free (point_string, TRUE);
+
+  buf = gst_buffer_new ();
+  gst_buffer_set_data (buf, cue_string->str, cue_string->len);
+
+  gst_pad_push (wavenc->srcpad, GST_DATA (buf));
+  g_string_free (cue_string, FALSE);
 }
 
 static void
-write_labels (GstWavEnc *wavenc)
+write_labels (GstWavEnc * wavenc)
 {
-       GstBuffer *buf;
-       GString *info_str;
-       int total = 4;
-       GList *caps;
-       
-       info_str = g_string_new ("LIST    adtl");
-       if (gst_props_get (wavenc->metadata->properties, "ltxts", &caps, NULL)) {
-               GList *p;
-               int i;
-
-               for (p = caps, i = 1; p; p = p->next, i++) {
-                       GstCaps *ltxt_caps = p->data;
-                       GString *ltxt;
-                       char *label = NULL;
-                       int len, req, j;
-                       
-                       gst_props_get (ltxt_caps->properties, "name", &label, NULL);
-                       len = strlen (label);
+  GstBuffer *buf;
+  GString *info_str;
+  int total = 4;
+  GList *caps;
+
+  info_str = g_string_new ("LIST    adtl");
+  if (gst_props_get (wavenc->metadata->properties, "ltxts", &caps, NULL)) {
+    GList *p;
+    int i;
+
+    for (p = caps, i = 1; p; p = p->next, i++) {
+      GstCaps *ltxt_caps = p->data;
+      GString *ltxt;
+      char *label = NULL;
+      int len, req, j;
+
+      gst_props_get (ltxt_caps->properties, "name", &label, NULL);
+      len = strlen (label);
 
 #define LTXT_SIZE 28
-                       ltxt = g_string_new ("ltxt                        ");
-                       ltxt->str[8] = GUINT32_TO_LE (i); /* Identifier */
-                       ltxt->str[12] = GUINT32_TO_LE (0); /* Sample Length */
-                       ltxt->str[16] = GUINT32_TO_LE (0); /* FIXME: Don't save the purpose yet */
-                       ltxt->str[20] = GUINT16_TO_LE (0); /* Country */
-                       ltxt->str[22] = GUINT16_TO_LE (0); /* Language */
-                       ltxt->str[24] = GUINT16_TO_LE (0); /* Dialect */
-                       ltxt->str[26] = GUINT16_TO_LE (0); /* Code Page */
-                       g_string_append (ltxt, label);
-                       g_free (label);
-
-                       len += LTXT_SIZE;
-
-                       ltxt->str[4] = GUINT32_TO_LE (len);
-                       
-                       /* Check that we end on an even boundary */
-                       req = ((len + 8) + 1) & ~1;
-                       for (j = 0; j < req - len; j++) {
-                               g_string_append_printf (ltxt, "%c", 0);
-                       }
-
-                       total += req;
-
-                       g_string_append (info_str, ltxt->str);
-                       g_string_free (ltxt, TRUE);
-               }
-       }
-
-       if (gst_props_get (wavenc->metadata->properties, "labels", &caps, NULL)) {
-               GList *p;
-               int i;
-
-               for (p = caps, i = 1; p; p = p->next, i++) {
-                       GstCaps *labl_caps = p->data;
-                       GString *labl;
-                       char *label = NULL;
-                       int len, req, j;
-
-                       gst_props_get (labl_caps->properties, "name", &label, NULL);
-                       len = strlen (label);
+      ltxt = g_string_new ("ltxt                        ");
+      ltxt->str[8] = GUINT32_TO_LE (i);        /* Identifier */
+      ltxt->str[12] = GUINT32_TO_LE (0);       /* Sample Length */
+      ltxt->str[16] = GUINT32_TO_LE (0);       /* FIXME: Don't save the purpose yet */
+      ltxt->str[20] = GUINT16_TO_LE (0);       /* Country */
+      ltxt->str[22] = GUINT16_TO_LE (0);       /* Language */
+      ltxt->str[24] = GUINT16_TO_LE (0);       /* Dialect */
+      ltxt->str[26] = GUINT16_TO_LE (0);       /* Code Page */
+      g_string_append (ltxt, label);
+      g_free (label);
+
+      len += LTXT_SIZE;
+
+      ltxt->str[4] = GUINT32_TO_LE (len);
+
+      /* Check that we end on an even boundary */
+      req = ((len + 8) + 1) & ~1;
+      for (j = 0; j < req - len; j++) {
+       g_string_append_printf (ltxt, "%c", 0);
+      }
+
+      total += req;
+
+      g_string_append (info_str, ltxt->str);
+      g_string_free (ltxt, TRUE);
+    }
+  }
+
+  if (gst_props_get (wavenc->metadata->properties, "labels", &caps, NULL)) {
+    GList *p;
+    int i;
+
+    for (p = caps, i = 1; p; p = p->next, i++) {
+      GstCaps *labl_caps = p->data;
+      GString *labl;
+      char *label = NULL;
+      int len, req, j;
+
+      gst_props_get (labl_caps->properties, "name", &label, NULL);
+      len = strlen (label);
 
 #define LABL_SIZE 4
-                       labl = g_string_new ("labl        ");
-                       labl->str[8] = GUINT32_TO_LE (i);
-                       g_string_append (labl, label);
-                       g_free (label);
-                       
-                       len += LABL_SIZE;
+      labl = g_string_new ("labl        ");
+      labl->str[8] = GUINT32_TO_LE (i);
+      g_string_append (labl, label);
+      g_free (label);
 
-                       labl->str[4] = GUINT32_TO_LE (len);
+      len += LABL_SIZE;
 
-                       /* Check our size */
-                       req = ((len + 8) + 1) & ~1;
-                       for (j = 0; j < req - len; j++) {
-                               g_string_append_printf (labl, "%c", 0);
-                       }
+      labl->str[4] = GUINT32_TO_LE (len);
 
-                       total += req;
+      /* Check our size */
+      req = ((len + 8) + 1) & ~1;
+      for (j = 0; j < req - len; j++) {
+       g_string_append_printf (labl, "%c", 0);
+      }
 
-                       g_string_append (info_str, labl->str);
-                       g_string_free (labl, TRUE);
-               }
-       }
+      total += req;
 
-       if (gst_props_get (wavenc->metadata->properties, "notes", &caps, NULL)) {
-               GList *p;
-               int i;
+      g_string_append (info_str, labl->str);
+      g_string_free (labl, TRUE);
+    }
+  }
+
+  if (gst_props_get (wavenc->metadata->properties, "notes", &caps, NULL)) {
+    GList *p;
+    int i;
 
-               for (p = caps, i = 1; p; p = p->next, i++) {
-                       GstCaps *note_caps = p->data;
-                       GString *note;
-                       char *label = NULL;
-                       int len, req, j;
+    for (p = caps, i = 1; p; p = p->next, i++) {
+      GstCaps *note_caps = p->data;
+      GString *note;
+      char *label = NULL;
+      int len, req, j;
 
-                       gst_props_get (note_caps->properties, "name", &label, NULL);
-                       len = strlen (label);
+      gst_props_get (note_caps->properties, "name", &label, NULL);
+      len = strlen (label);
 
 #define NOTE_SIZE 4
-                       note = g_string_new ("note        ");
-                       note->str[8] = GUINT32_TO_LE (i);
-                       g_string_append (note, label);
-                       g_free (label);
+      note = g_string_new ("note        ");
+      note->str[8] = GUINT32_TO_LE (i);
+      g_string_append (note, label);
+      g_free (label);
 
-                       len += NOTE_SIZE;
+      len += NOTE_SIZE;
 
-                       note->str[4] = GUINT32_TO_LE (len);
+      note->str[4] = GUINT32_TO_LE (len);
 
-                       /* Size check */
-                       req = ((len + 8) + 1) & ~1;
-                       for (j = 0; j < req - len; j++) {
-                               g_string_append_printf (note, "%c", 0);
-                       }
+      /* Size check */
+      req = ((len + 8) + 1) & ~1;
+      for (j = 0; j < req - len; j++) {
+       g_string_append_printf (note, "%c", 0);
+      }
 
-                       total += req;
+      total += req;
 
-                       g_string_append (info_str, note->str);
-                       g_string_free (note, TRUE);
-               }
-       }
+      g_string_append (info_str, note->str);
+      g_string_free (note, TRUE);
+    }
+  }
 
-       info_str->str[4] = GUINT32_TO_LE (total);
+  info_str->str[4] = GUINT32_TO_LE (total);
 
-       buf = gst_buffer_new ();
-       gst_buffer_set_data (buf, info_str->str, info_str->len);
+  buf = gst_buffer_new ();
+  gst_buffer_set_data (buf, info_str->str, info_str->len);
 
-       gst_pad_push (wavenc->srcpad, GST_DATA (buf));
-       g_string_free (info_str, FALSE);
+  gst_pad_push (wavenc->srcpad, GST_DATA (buf));
+  g_string_free (info_str, FALSE);
 }
 #endif
 
 static void
-gst_wavenc_chain (GstPad *pad,
-                                                                       GstData *_data)
+gst_wavenc_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstWavEnc *wavenc;
@@ -588,41 +591,41 @@ gst_wavenc_chain (GstPad *pad,
 
   if (!wavenc->setup) {
     gst_buffer_unref (buf);
-    GST_ELEMENT_ERROR (wavenc, CORE, NEGOTIATION, (NULL), ("encoder not initialised (input is not audio?)"));
+    GST_ELEMENT_ERROR (wavenc, CORE, NEGOTIATION, (NULL),
+       ("encoder not initialised (input is not audio?)"));
     return;
   }
 
-       if (GST_IS_EVENT (buf)) {
-               if (GST_EVENT_TYPE (buf) == GST_EVENT_EOS) {
-                       wavenc->pad_eos = TRUE;
+  if (GST_IS_EVENT (buf)) {
+    if (GST_EVENT_TYPE (buf) == GST_EVENT_EOS) {
+      wavenc->pad_eos = TRUE;
 
 #if 0
-                       /* Write our metadata if we have any */
-                       if (wavenc->metadata) {
-                               write_metadata (wavenc);
-                               write_cues (wavenc);
-                               write_labels (wavenc);
-                       }
+      /* Write our metadata if we have any */
+      if (wavenc->metadata) {
+       write_metadata (wavenc);
+       write_cues (wavenc);
+       write_labels (wavenc);
+      }
 #endif
-                       
-                       gst_wavenc_stop_file (wavenc);
-                       gst_pad_push (wavenc->srcpad,
-                                                                               GST_DATA (gst_event_new (GST_EVENT_EOS)));
-                       gst_element_set_eos (GST_ELEMENT (wavenc));
-               } else {
-                       gst_pad_event_default (wavenc->srcpad, GST_EVENT (buf));
-               }
-               return;
-       }
+
+      gst_wavenc_stop_file (wavenc);
+      gst_pad_push (wavenc->srcpad, GST_DATA (gst_event_new (GST_EVENT_EOS)));
+      gst_element_set_eos (GST_ELEMENT (wavenc));
+    } else {
+      gst_pad_event_default (wavenc->srcpad, GST_EVENT (buf));
+    }
+    return;
+  }
 
   if (GST_PAD_IS_USABLE (wavenc->srcpad)) {
     if (wavenc->flush_header) {
       GstBuffer *outbuf;
-      
+
       outbuf = gst_buffer_new_and_alloc (WAV_HEADER_LEN);
       memcpy (GST_BUFFER_DATA (outbuf), wavenc->header, WAV_HEADER_LEN);
       GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf);
-      
+
       gst_pad_push (wavenc->srcpad, GST_DATA (outbuf));
       wavenc->flush_header = FALSE;
     }
@@ -633,20 +636,14 @@ gst_wavenc_chain (GstPad *pad,
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
-  return gst_element_register (plugin, "wavenc", GST_RANK_NONE, GST_TYPE_WAVENC);
+  return gst_element_register (plugin, "wavenc", GST_RANK_NONE,
+      GST_TYPE_WAVENC);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "wavenc",
-  "Encode raw audio into WAV",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
-    
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "wavenc",
+    "Encode raw audio into WAV",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 8810001..7711a25 100644 (file)
@@ -25,7 +25,6 @@
 #include <gst/gst.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_WAVENC \
   (gst_wavenc_get_type())
 #define GST_WAVENC(obj) \
@@ -36,17 +35,17 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_WAVENC))
 #define GST_IS_WAVENC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_WAVENC))
-
 typedef struct _GstWavEnc GstWavEnc;
 typedef struct _GstWavEncClass GstWavEncClass;
 
 #define WAV_HEADER_LEN 44
 
-struct _GstWavEnc {
+struct _GstWavEnc
+{
   GstElement element;
 
   /* pads */
-  GstPad *sinkpad,*srcpad;
+  GstPad *sinkpad, *srcpad;
 
   /* useful audio data */
   guint bits;
@@ -54,15 +53,15 @@ struct _GstWavEnc {
   guint channels;
   guint width;
   guint32 length;
-  
+
   gboolean setup, flush_header, pad_eos;
   guchar header[WAV_HEADER_LEN];
 };
 
-struct _GstWavEncClass {
+struct _GstWavEncClass
+{
   GstElementClass parent_class;
 };
 
 G_END_DECLS
-
 #endif /* __GST_ENC_H__ */
index 141ed1f..bf18a1f 100644 (file)
 
 #include <gst/gst.h>
 
-typedef enum {
-  GST_RIFF_OK      =  0,               
+typedef enum
+{
+  GST_RIFF_OK = 0,
   GST_RIFF_ENOTRIFF = -1,
-  GST_RIFF_EINVAL   = -2,
-  GST_RIFF_ENOMEM   = -3
+  GST_RIFF_EINVAL = -2,
+  GST_RIFF_ENOMEM = -3
 } GstRiffReturn;
 
 #define MAKE_FOUR_CC(a,b,c,d) GST_MAKE_FOURCC(a,b,c,d)
@@ -81,29 +82,29 @@ typedef enum {
 #define GST_RIFF_FCCH_MSVC MAKE_FOUR_CC('M','S','V','C')
 
 /* INFO types - see http://www.saettler.com/RIFFMCI/riffmci.html */
-#define GST_RIFF_INFO_IARL MAKE_FOUR_CC('I','A','R','L') /* location */
-#define GST_RIFF_INFO_IART MAKE_FOUR_CC('I','A','R','T') /* artist */
-#define GST_RIFF_INFO_ICMS MAKE_FOUR_CC('I','C','M','S') /* commissioned */
-#define GST_RIFF_INFO_ICMT MAKE_FOUR_CC('I','C','M','T') /* comment */
-#define GST_RIFF_INFO_ICOP MAKE_FOUR_CC('I','C','O','P') /* copyright */
-#define GST_RIFF_INFO_ICRD MAKE_FOUR_CC('I','C','R','D') /* creation date */
-#define GST_RIFF_INFO_ICRP MAKE_FOUR_CC('I','C','R','P') /* cropped */
-#define GST_RIFF_INFO_IDIM MAKE_FOUR_CC('I','D','I','M') /* dimensions */
-#define GST_RIFF_INFO_IDPI MAKE_FOUR_CC('I','D','P','I') /* dots-per-inch */
-#define GST_RIFF_INFO_IENG MAKE_FOUR_CC('I','E','N','G') /* engineer(s) */
-#define GST_RIFF_INFO_IGNR MAKE_FOUR_CC('I','G','N','R') /* genre */
-#define GST_RIFF_INFO_IKEY MAKE_FOUR_CC('I','K','E','Y') /* keywords */
-#define GST_RIFF_INFO_ILGT MAKE_FOUR_CC('I','L','G','T') /* lightness */
-#define GST_RIFF_INFO_IMED MAKE_FOUR_CC('I','M','E','D') /* medium */
-#define GST_RIFF_INFO_INAM MAKE_FOUR_CC('I','N','A','M') /* name */
-#define GST_RIFF_INFO_IPLT MAKE_FOUR_CC('I','P','L','T') /* palette setting */
-#define GST_RIFF_INFO_IPRD MAKE_FOUR_CC('I','P','R','D') /* product */
-#define GST_RIFF_INFO_ISBJ MAKE_FOUR_CC('I','S','B','J') /* subject */
-#define GST_RIFF_INFO_ISFT MAKE_FOUR_CC('I','S','F','T') /* software */
-#define GST_RIFF_INFO_ISHP MAKE_FOUR_CC('I','S','H','P') /* sharpness */
-#define GST_RIFF_INFO_ISRC MAKE_FOUR_CC('I','S','R','C') /* source */
-#define GST_RIFF_INFO_ISRF MAKE_FOUR_CC('I','S','R','F') /* source form */
-#define GST_RIFF_INFO_ITCH MAKE_FOUR_CC('I','T','C','H') /* technician(s) */
+#define GST_RIFF_INFO_IARL MAKE_FOUR_CC('I','A','R','L')       /* location */
+#define GST_RIFF_INFO_IART MAKE_FOUR_CC('I','A','R','T')       /* artist */
+#define GST_RIFF_INFO_ICMS MAKE_FOUR_CC('I','C','M','S')       /* commissioned */
+#define GST_RIFF_INFO_ICMT MAKE_FOUR_CC('I','C','M','T')       /* comment */
+#define GST_RIFF_INFO_ICOP MAKE_FOUR_CC('I','C','O','P')       /* copyright */
+#define GST_RIFF_INFO_ICRD MAKE_FOUR_CC('I','C','R','D')       /* creation date */
+#define GST_RIFF_INFO_ICRP MAKE_FOUR_CC('I','C','R','P')       /* cropped */
+#define GST_RIFF_INFO_IDIM MAKE_FOUR_CC('I','D','I','M')       /* dimensions */
+#define GST_RIFF_INFO_IDPI MAKE_FOUR_CC('I','D','P','I')       /* dots-per-inch */
+#define GST_RIFF_INFO_IENG MAKE_FOUR_CC('I','E','N','G')       /* engineer(s) */
+#define GST_RIFF_INFO_IGNR MAKE_FOUR_CC('I','G','N','R')       /* genre */
+#define GST_RIFF_INFO_IKEY MAKE_FOUR_CC('I','K','E','Y')       /* keywords */
+#define GST_RIFF_INFO_ILGT MAKE_FOUR_CC('I','L','G','T')       /* lightness */
+#define GST_RIFF_INFO_IMED MAKE_FOUR_CC('I','M','E','D')       /* medium */
+#define GST_RIFF_INFO_INAM MAKE_FOUR_CC('I','N','A','M')       /* name */
+#define GST_RIFF_INFO_IPLT MAKE_FOUR_CC('I','P','L','T')       /* palette setting */
+#define GST_RIFF_INFO_IPRD MAKE_FOUR_CC('I','P','R','D')       /* product */
+#define GST_RIFF_INFO_ISBJ MAKE_FOUR_CC('I','S','B','J')       /* subject */
+#define GST_RIFF_INFO_ISFT MAKE_FOUR_CC('I','S','F','T')       /* software */
+#define GST_RIFF_INFO_ISHP MAKE_FOUR_CC('I','S','H','P')       /* sharpness */
+#define GST_RIFF_INFO_ISRC MAKE_FOUR_CC('I','S','R','C')       /* source */
+#define GST_RIFF_INFO_ISRF MAKE_FOUR_CC('I','S','R','F')       /* source form */
+#define GST_RIFF_INFO_ITCH MAKE_FOUR_CC('I','T','C','H')       /* technician(s) */
 
 /*********Chunk Names***************/
 #define GST_RIFF_FF00 MAKE_FOUR_CC(0xFF,0xFF,0x00,0x00)
@@ -182,7 +183,7 @@ typedef enum {
 #define GST_RIFF_v422 MAKE_FOUR_CC( 'v', '4', '2', '2')
 #define GST_RIFF_V422 MAKE_FOUR_CC( 'V', '4', '2', '2')
 #define GST_RIFF_mvi1 MAKE_FOUR_CC( 'm', 'v', 'i', '1')
-#define GST_RIFF_MPIX MAKE_FOUR_CC(0x04,0x00, 'i', '1')     /* MotionPixels munged their id */
+#define GST_RIFF_MPIX MAKE_FOUR_CC(0x04,0x00, 'i', '1')        /* MotionPixels munged their id */
 #define GST_RIFF_AURA MAKE_FOUR_CC( 'A', 'U', 'R', 'A')
 #define GST_RIFF_DMB1 MAKE_FOUR_CC( 'D', 'M', 'B', '1')
 #define GST_RIFF_dmb1 MAKE_FOUR_CC( 'd', 'm', 'b', '1')
@@ -218,7 +219,7 @@ typedef enum {
 
 #define GST_RIFF_rpza MAKE_FOUR_CC( 'r', 'p', 'z', 'a')
 /* And this here's the mistakes that need to be supported */
-#define GST_RIFF_azpr MAKE_FOUR_CC( 'a', 'z', 'p', 'r')  /* recognize Apple's rpza mangled? */
+#define GST_RIFF_azpr MAKE_FOUR_CC( 'a', 'z', 'p', 'r')        /* recognize Apple's rpza mangled? */
 
 /*********** FND in MJPG **********/
 #define GST_RIFF_ISFT MAKE_FOUR_CC( 'I', 'S', 'F', 'T')
@@ -231,21 +232,22 @@ typedef enum {
 #define GST_RIFF_rec  MAKE_FOUR_CC( 'r', 'e', 'c', ' ')
 
 /* common data structures */
-struct _gst_riff_avih {
-  guint32 us_frame;          /* microsec per frame */
-  guint32 max_bps;           /* byte/s overall */
-  guint32 pad_gran;          /* pad_gran (???) */
+struct _gst_riff_avih
+{
+  guint32 us_frame;            /* microsec per frame */
+  guint32 max_bps;             /* byte/s overall */
+  guint32 pad_gran;            /* pad_gran (???) */
   guint32 flags;
 /* flags values */
-#define GST_RIFF_AVIH_HASINDEX       0x00000010 /* has idx1 chunk */
-#define GST_RIFF_AVIH_MUSTUSEINDEX   0x00000020 /* must use idx1 chunk to determine order */
-#define GST_RIFF_AVIH_ISINTERLEAVED  0x00000100 /* AVI file is interleaved */
-#define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000 /* specially allocated used for capturing real time video */
-#define GST_RIFF_AVIH_COPYRIGHTED    0x00020000 /* contains copyrighted data */
-  guint32 tot_frames;        /* # of frames (all) */
-  guint32 init_frames;       /* initial frames (???) */
+#define GST_RIFF_AVIH_HASINDEX       0x00000010        /* has idx1 chunk */
+#define GST_RIFF_AVIH_MUSTUSEINDEX   0x00000020        /* must use idx1 chunk to determine order */
+#define GST_RIFF_AVIH_ISINTERLEAVED  0x00000100        /* AVI file is interleaved */
+#define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000        /* specially allocated used for capturing real time video */
+#define GST_RIFF_AVIH_COPYRIGHTED    0x00020000        /* contains copyrighted data */
+  guint32 tot_frames;          /* # of frames (all) */
+  guint32 init_frames;         /* initial frames (???) */
   guint32 streams;
-  guint32 bufsize;           /* suggested buffer size */
+  guint32 bufsize;             /* suggested buffer size */
   guint32 width;
   guint32 height;
   guint32 scale;
@@ -254,26 +256,28 @@ struct _gst_riff_avih {
   guint32 length;
 };
 
-struct _gst_riff_strh {
-  guint32 type;             /* stream type */
-  guint32 fcc_handler;       /* fcc_handler */
+struct _gst_riff_strh
+{
+  guint32 type;                        /* stream type */
+  guint32 fcc_handler;         /* fcc_handler */
   guint32 flags;
 /* flags values */
 #define GST_RIFF_STRH_DISABLED        0x000000001
 #define GST_RIFF_STRH_VIDEOPALCHANGES 0x000010000
   guint32 priority;
-  guint32 init_frames;       /* initial frames (???) */
+  guint32 init_frames;         /* initial frames (???) */
   guint32 scale;
   guint32 rate;
   guint32 start;
   guint32 length;
-  guint32 bufsize;           /* suggested buffer size */
+  guint32 bufsize;             /* suggested buffer size */
   guint32 quality;
   guint32 samplesize;
   /* XXX 16 bytes ? */
 };
 
-struct _gst_riff_strf_vids {       /* == BitMapInfoHeader */
+struct _gst_riff_strf_vids
+{                              /* == BitMapInfoHeader */
   guint32 size;
   guint32 width;
   guint32 height;
@@ -283,13 +287,14 @@ struct _gst_riff_strf_vids {       /* == BitMapInfoHeader */
   guint32 image_size;
   guint32 xpels_meter;
   guint32 ypels_meter;
-  guint32 num_colors;        /* used colors */
-  guint32 imp_colors;        /* important colors */
+  guint32 num_colors;          /* used colors */
+  guint32 imp_colors;          /* important colors */
   /* may be more for some codecs */
 };
 
 
-struct _gst_riff_strf_auds {       /* == WaveHeader (?) */
+struct _gst_riff_strf_auds
+{                              /* == WaveHeader (?) */
   guint16 format;
 /**** from public Microsoft RIFF docs ******/
 #define GST_RIFF_WAVE_FORMAT_UNKNOWN        (0x0000)
@@ -328,7 +333,8 @@ struct _gst_riff_strf_auds {       /* == WaveHeader (?) */
   guint16 size;
 };
 
-struct _gst_riff_strf_iavs {    
+struct _gst_riff_strf_iavs
+{
   guint32 DVAAuxSrc;
   guint32 DVAAuxCtl;
   guint32 DVAAuxSrc1;
@@ -339,26 +345,30 @@ struct _gst_riff_strf_iavs {
   guint32 DVReserved2;
 };
 
-struct _gst_riff_riff {  
+struct _gst_riff_riff
+{
   guint32 id;
   guint32 size;
   guint32 type;
 };
 
-struct _gst_riff_list {  
+struct _gst_riff_list
+{
   guint32 id;
   guint32 size;
   guint32 type;
 };
 
-struct _gst_riff_labl {
+struct _gst_riff_labl
+{
   guint32 id;
   guint32 size;
 
   guint32 identifier;
 };
 
-struct _gst_riff_ltxt {
+struct _gst_riff_ltxt
+{
   guint32 id;
   guint32 size;
 
@@ -371,14 +381,16 @@ struct _gst_riff_ltxt {
   guint16 codepage;
 };
 
-struct _gst_riff_note {
+struct _gst_riff_note
+{
   guint32 id;
   guint32 size;
 
   guint32 identifier;
 };
 
-struct _gst_riff_cuepoints {
+struct _gst_riff_cuepoints
+{
   guint32 identifier;
   guint32 position;
   guint32 id;
@@ -387,19 +399,22 @@ struct _gst_riff_cuepoints {
   guint32 offset;
 };
 
-struct _gst_riff_cue {
+struct _gst_riff_cue
+{
   guint32 id;
   guint32 size;
 
-  guint32 cuepoints; /* Number of cue points held in the data */
+  guint32 cuepoints;           /* Number of cue points held in the data */
 };
 
-struct _gst_riff_chunk {  
+struct _gst_riff_chunk
+{
   guint32 id;
   guint32 size;
 };
 
-struct _gst_riff_index_entry {  
+struct _gst_riff_index_entry
+{
   guint32 id;
   guint32 flags;
 #define GST_RIFF_IF_LIST               (0x00000001L)
@@ -410,29 +425,31 @@ struct _gst_riff_index_entry {
   guint32 size;
 };
 
-struct _gst_riff_dmlh {
+struct _gst_riff_dmlh
+{
   guint32 totalframes;
 };
 
-typedef struct _gst_riff_riff          gst_riff_riff;
-typedef struct _gst_riff_list          gst_riff_list;
-typedef struct _gst_riff_chunk                 gst_riff_chunk;
-typedef struct _gst_riff_index_entry   gst_riff_index_entry;
-
-typedef struct _gst_riff_avih          gst_riff_avih;
-typedef struct _gst_riff_strh          gst_riff_strh;
-typedef struct _gst_riff_strf_vids     gst_riff_strf_vids;
-typedef struct _gst_riff_strf_auds     gst_riff_strf_auds;
-typedef struct _gst_riff_strf_iavs     gst_riff_strf_iavs;
-typedef struct _gst_riff_dmlh           gst_riff_dmlh;
-typedef struct _GstRiffChunk           GstRiffChunk;
-
-struct _GstRiffChunk {
+typedef struct _gst_riff_riff gst_riff_riff;
+typedef struct _gst_riff_list gst_riff_list;
+typedef struct _gst_riff_chunk gst_riff_chunk;
+typedef struct _gst_riff_index_entry gst_riff_index_entry;
+
+typedef struct _gst_riff_avih gst_riff_avih;
+typedef struct _gst_riff_strh gst_riff_strh;
+typedef struct _gst_riff_strf_vids gst_riff_strf_vids;
+typedef struct _gst_riff_strf_auds gst_riff_strf_auds;
+typedef struct _gst_riff_strf_iavs gst_riff_strf_iavs;
+typedef struct _gst_riff_dmlh gst_riff_dmlh;
+typedef struct _GstRiffChunk GstRiffChunk;
+
+struct _GstRiffChunk
+{
   gulong offset;
 
   guint32 id;
   guint32 size;
-  guint32 form; /* for list chunks */
+  guint32 form;                        /* for list chunks */
 
   gchar *data;
 };
index 889d651..c2f6a00 100644 (file)
 
 #include <gstwavparse.h>
 
-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 GstElementStateReturn
-                       gst_wavparse_change_state       (GstElement *element);
-
-static const GstFormat*        gst_wavparse_get_formats        (GstPad *pad);
-static const GstQueryType *
-                       gst_wavparse_get_query_types    (GstPad *pad);
-static gboolean                gst_wavparse_pad_query          (GstPad *pad, 
-                                                        GstQueryType type,
-                                                        GstFormat *format, 
-                                                        gint64 *value);
-static gboolean                gst_wavparse_pad_convert        (GstPad *pad,
-                                                        GstFormat src_format,
-                                                        gint64 src_value,
-                                                        GstFormat *dest_format,
-                                                        gint64 *dest_value);
-
-static void             gst_wavparse_loop               (GstElement *element);
-static const GstEventMask*
-                       gst_wavparse_get_event_masks    (GstPad *pad);
-static gboolean        gst_wavparse_srcpad_event       (GstPad *pad, GstEvent *event);
-static void             gst_wavparse_get_property       (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
+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 GstElementStateReturn gst_wavparse_change_state (GstElement * element);
+
+static const GstFormat *gst_wavparse_get_formats (GstPad * pad);
+static const GstQueryType *gst_wavparse_get_query_types (GstPad * pad);
+static gboolean gst_wavparse_pad_query (GstPad * pad,
+    GstQueryType type, GstFormat * format, gint64 * value);
+static gboolean gst_wavparse_pad_convert (GstPad * pad,
+    GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value);
+
+static void gst_wavparse_loop (GstElement * element);
+static const GstEventMask *gst_wavparse_get_event_masks (GstPad * pad);
+static gboolean gst_wavparse_srcpad_event (GstPad * pad, GstEvent * event);
+static void gst_wavparse_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
 
 /* elementfactory information */
-static GstElementDetails gst_wavparse_details = GST_ELEMENT_DETAILS (
-  ".wav demuxer",
-  "Codec/Demuxer",
-  "Parse a .wav file into raw audio",
-  "Erik Walthinsen <omega@cse.ogi.edu>"
-);
+static GstElementDetails gst_wavparse_details =
+GST_ELEMENT_DETAILS (".wav demuxer",
+    "Codec/Demuxer",
+    "Parse a .wav file into raw audio",
+    "Erik Walthinsen <omega@cse.ogi.edu>");
 
 static GstStaticPadTemplate sink_template_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "wavparse_sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-wav")
-);
+GST_STATIC_PAD_TEMPLATE ("wavparse_sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-wav")
+    );
 
 static GstStaticPadTemplate src_template_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "wavparse_src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS (
-    "audio/x-raw-int, "
-      "endianness = (int) little_endian, "
-      "signed = (boolean) { true, false }, "
-      "width = (int) { 8, 16 }, "
-      "depth = (int) { 8, 16 }, "
-      "rate = (int) [ 8000, 48000 ], "
-      "channels = (int) [ 1, 2 ]; "
-    "audio/mpeg, "
-      "mpegversion = (int) 1, "
-      "layer = (int) [ 1, 3 ], "
-      "rate = (int) [ 8000, 48000 ], "
-      "channels = (int) [ 1, 2 ]; "
-    "audio/x-alaw, "
-      "rate = (int) [ 8000, 48000 ], "
-      "channels = (int) [ 1, 2 ]; "
-    "audio/x-mulaw, "
-      "rate = (int) [ 8000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-  )
-);
+    GST_STATIC_PAD_TEMPLATE ("wavparse_src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) little_endian, "
+       "signed = (boolean) { true, false }, "
+       "width = (int) { 8, 16 }, "
+       "depth = (int) { 8, 16 }, "
+       "rate = (int) [ 8000, 48000 ], "
+       "channels = (int) [ 1, 2 ]; "
+       "audio/mpeg, "
+       "mpegversion = (int) 1, "
+       "layer = (int) [ 1, 3 ], "
+       "rate = (int) [ 8000, 48000 ], "
+       "channels = (int) [ 1, 2 ]; "
+       "audio/x-alaw, "
+       "rate = (int) [ 8000, 48000 ], "
+       "channels = (int) [ 1, 2 ]; "
+       "audio/x-mulaw, "
+       "rate = (int) [ 8000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
 
 /* WavParse signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   PROP_0,
 };
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_wavparse_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_wavparse_get_type (void) 
+gst_wavparse_get_type (void)
 {
   static GType wavparse_type = 0;
 
   if (!wavparse_type) {
     static const GTypeInfo wavparse_info = {
-      sizeof(GstWavParseClass),
+      sizeof (GstWavParseClass),
       gst_wavparse_base_init,
       NULL,
       (GClassInitFunc) gst_wavparse_class_init,
       NULL,
       NULL,
-      sizeof(GstWavParse),
+      sizeof (GstWavParse),
       0,
       (GInstanceInitFunc) gst_wavparse_init,
     };
-    wavparse_type = g_type_register_static (GST_TYPE_ELEMENT, "GstWavParse", &wavparse_info, 0);
+    wavparse_type =
+       g_type_register_static (GST_TYPE_ELEMENT, "GstWavParse", &wavparse_info,
+       0);
   }
   return wavparse_type;
 }
 
 
 static void
-gst_wavparse_base_init (gpointer g_class) 
+gst_wavparse_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  
+
   gst_element_class_set_details (element_class, &gst_wavparse_details);
 
   /* register src pads */
-  gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_template_factory));
-  gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&src_template_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&sink_template_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&src_template_factory));
 }
 static void
-gst_wavparse_class_init (GstWavParseClass *klass) 
+gst_wavparse_class_init (GstWavParseClass * klass)
 {
   GstElementClass *gstelement_class;
   GObjectClass *object_class;
-  
-  gstelement_class = (GstElementClass*) klass;
+
+  gstelement_class = (GstElementClass *) klass;
   object_class = (GObjectClass *) klass;
-  
+
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
   object_class->get_property = gst_wavparse_get_property;
   gstelement_class->change_state = gst_wavparse_change_state;
 }
 
-static void 
-gst_wavparse_init (GstWavParse *wavparse) 
+static void
+gst_wavparse_init (GstWavParse * wavparse)
 {
   /* sink */
-  wavparse->sinkpad = gst_pad_new_from_template (gst_static_pad_template_get (&sink_template_factory), "sink");
+  wavparse->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&sink_template_factory), "sink");
   gst_element_add_pad (GST_ELEMENT (wavparse), wavparse->sinkpad);
 
   gst_pad_set_formats_function (wavparse->sinkpad, gst_wavparse_get_formats);
   gst_pad_set_convert_function (wavparse->sinkpad, gst_wavparse_pad_convert);
-  gst_pad_set_query_type_function (wavparse->sinkpad, 
-                                  gst_wavparse_get_query_types);
+  gst_pad_set_query_type_function (wavparse->sinkpad,
+      gst_wavparse_get_query_types);
   gst_pad_set_query_function (wavparse->sinkpad, gst_wavparse_pad_query);
 
   /* source */
-  wavparse->srcpad = gst_pad_new_from_template (gst_static_pad_template_get (&src_template_factory), "src");
+  wavparse->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&src_template_factory), "src");
   gst_pad_use_explicit_caps (wavparse->srcpad);
   gst_element_add_pad (GST_ELEMENT (wavparse), wavparse->srcpad);
   gst_pad_set_formats_function (wavparse->srcpad, gst_wavparse_get_formats);
   gst_pad_set_convert_function (wavparse->srcpad, gst_wavparse_pad_convert);
   gst_pad_set_query_type_function (wavparse->srcpad,
-                                  gst_wavparse_get_query_types);
+      gst_wavparse_get_query_types);
   gst_pad_set_query_function (wavparse->srcpad, gst_wavparse_pad_query);
   gst_pad_set_event_function (wavparse->srcpad, gst_wavparse_srcpad_event);
-  gst_pad_set_event_mask_function (wavparse->srcpad, gst_wavparse_get_event_masks);
+  gst_pad_set_event_mask_function (wavparse->srcpad,
+      gst_wavparse_get_event_masks);
 
   gst_element_set_loop_function (GST_ELEMENT (wavparse), gst_wavparse_loop);
 
@@ -191,25 +191,22 @@ gst_wavparse_init (GstWavParse *wavparse)
 }
 
 static void
-gst_wavparse_get_property (GObject *object,
-                          guint prop_id,
-                          GValue *value,
-                          GParamSpec *pspec)
+gst_wavparse_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
   GstWavParse *wavparse;
 
   wavparse = GST_WAVPARSE (object);
 
   switch (prop_id) {
-  default:
-    break;
+    default:
+      break;
   }
 }
 
 #if 0
 static void
-gst_wavparse_parse_adtl (GstWavParse *wavparse,
-                        int len)
+gst_wavparse_parse_adtl (GstWavParse * wavparse, int len)
 {
   guint32 got_bytes;
   GstByteStream *bs = wavparse->bs;
@@ -225,14 +222,15 @@ gst_wavparse_parse_adtl (GstWavParse *wavparse,
   GList *caps = NULL;
 
   props = wavparse->metadata->properties;
-  
+
   while (len > 0) {
-    got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_chunk));
+    got_bytes =
+       gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_chunk));
     if (got_bytes != sizeof (gst_riff_chunk)) {
       return;
     }
     temp_chunk = (gst_riff_chunk *) tempdata;
-    
+
     chunk.id = GUINT32_FROM_LE (temp_chunk->id);
     chunk.size = GUINT32_FROM_LE (temp_chunk->size);
 
@@ -241,148 +239,149 @@ gst_wavparse_parse_adtl (GstWavParse *wavparse,
       len -= sizeof (gst_riff_chunk);
       continue;
     }
-    
-    switch  (chunk.id) {
-    case GST_RIFF_adtl_labl:
-      got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (struct _gst_riff_labl));
-      if (got_bytes != sizeof (struct _gst_riff_labl)) {
-       return;
-      }
-      
-      temp_labl = (struct _gst_riff_labl *) tempdata;
-      labl.id = GUINT32_FROM_LE (temp_labl->id);
-      labl.size = GUINT32_FROM_LE (temp_labl->size);
-      labl.identifier = GUINT32_FROM_LE (temp_labl->identifier);
-
-      gst_bytestream_flush (bs, sizeof (struct _gst_riff_labl));
-      len -= sizeof (struct _gst_riff_labl);
-      
-      got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, labl.size - 4);
-      if (got_bytes != labl.size - 4) {
-       return;
-      }
 
-      label_name = (char *) tempdata;
-      
-      gst_bytestream_flush (bs, ((labl.size - 4) + 1) & ~1);
-      len -= (( (labl.size - 4) + 1) & ~1);
-
-      new_caps = gst_caps_new ("label",
-                                                                                                                        "application/x-gst-metadata",
-                                                                                                                        gst_props_new (
-                                                                                                                                "identifier", G_TYPE_INT (labl.identifier),
-                                                                                                                                "name", G_TYPE_STRING (label_name),
-                                                                                                                                NULL));
-      
-      if (gst_props_get (props, "labels", &caps, NULL)) {
-                               caps = g_list_append (caps, new_caps);
-      } else {
-                               caps = g_list_append (NULL, new_caps);
-                               
-                               entry = gst_props_entry_new ("labels", GST_PROPS_GLIST (caps));
-                               gst_props_add_entry (props, entry);
-      }
-      
-      break;
-      
-    case GST_RIFF_adtl_ltxt:
-      got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (struct _gst_riff_ltxt));
-      if (got_bytes != sizeof (struct _gst_riff_ltxt)) {
+    switch (chunk.id) {
+      case GST_RIFF_adtl_labl:
+       got_bytes =
+           gst_bytestream_peek_bytes (bs, &tempdata,
+           sizeof (struct _gst_riff_labl));
+       if (got_bytes != sizeof (struct _gst_riff_labl)) {
+         return;
+       }
+
+       temp_labl = (struct _gst_riff_labl *) tempdata;
+       labl.id = GUINT32_FROM_LE (temp_labl->id);
+       labl.size = GUINT32_FROM_LE (temp_labl->size);
+       labl.identifier = GUINT32_FROM_LE (temp_labl->identifier);
+
+       gst_bytestream_flush (bs, sizeof (struct _gst_riff_labl));
+       len -= sizeof (struct _gst_riff_labl);
+
+       got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, labl.size - 4);
+       if (got_bytes != labl.size - 4) {
+         return;
+       }
+
+       label_name = (char *) tempdata;
+
+       gst_bytestream_flush (bs, ((labl.size - 4) + 1) & ~1);
+       len -= (((labl.size - 4) + 1) & ~1);
+
+       new_caps = gst_caps_new ("label",
+           "application/x-gst-metadata",
+           gst_props_new ("identifier", G_TYPE_INT (labl.identifier),
+               "name", G_TYPE_STRING (label_name), NULL));
+
+       if (gst_props_get (props, "labels", &caps, NULL)) {
+         caps = g_list_append (caps, new_caps);
+       } else {
+         caps = g_list_append (NULL, new_caps);
+
+         entry = gst_props_entry_new ("labels", GST_PROPS_GLIST (caps));
+         gst_props_add_entry (props, entry);
+       }
+
+       break;
+
+      case GST_RIFF_adtl_ltxt:
+       got_bytes =
+           gst_bytestream_peek_bytes (bs, &tempdata,
+           sizeof (struct _gst_riff_ltxt));
+       if (got_bytes != sizeof (struct _gst_riff_ltxt)) {
+         return;
+       }
+
+       temp_ltxt = (struct _gst_riff_ltxt *) tempdata;
+       ltxt.id = GUINT32_FROM_LE (temp_ltxt->id);
+       ltxt.size = GUINT32_FROM_LE (temp_ltxt->size);
+       ltxt.identifier = GUINT32_FROM_LE (temp_ltxt->identifier);
+       ltxt.length = GUINT32_FROM_LE (temp_ltxt->length);
+       ltxt.purpose = GUINT32_FROM_LE (temp_ltxt->purpose);
+       ltxt.country = GUINT16_FROM_LE (temp_ltxt->country);
+       ltxt.language = GUINT16_FROM_LE (temp_ltxt->language);
+       ltxt.dialect = GUINT16_FROM_LE (temp_ltxt->dialect);
+       ltxt.codepage = GUINT16_FROM_LE (temp_ltxt->codepage);
+
+       gst_bytestream_flush (bs, sizeof (struct _gst_riff_ltxt));
+       len -= sizeof (struct _gst_riff_ltxt);
+
+       if (ltxt.size - 20 > 0) {
+         got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, ltxt.size - 20);
+         if (got_bytes != ltxt.size - 20) {
+           return;
+         }
+
+         gst_bytestream_flush (bs, ((ltxt.size - 20) + 1) & ~1);
+         len -= (((ltxt.size - 20) + 1) & ~1);
+
+         label_name = (char *) tempdata;
+       } else {
+         label_name = "";
+       }
+
+       new_caps = gst_caps_new ("ltxt",
+           "application/x-gst-metadata",
+           gst_props_new ("identifier", G_TYPE_INT (ltxt.identifier),
+               "name", G_TYPE_STRING (label_name),
+               "length", G_TYPE_INT (ltxt.length), NULL));
+
+       if (gst_props_get (props, "ltxts", &caps, NULL)) {
+         caps = g_list_append (caps, new_caps);
+       } else {
+         caps = g_list_append (NULL, new_caps);
+
+         entry = gst_props_entry_new ("ltxts", GST_PROPS_GLIST (caps));
+         gst_props_add_entry (props, entry);
+       }
+
+       break;
+
+      case GST_RIFF_adtl_note:
+       got_bytes =
+           gst_bytestream_peek_bytes (bs, &tempdata,
+           sizeof (struct _gst_riff_note));
+       if (got_bytes != sizeof (struct _gst_riff_note)) {
+         return;
+       }
+
+       temp_note = (struct _gst_riff_note *) tempdata;
+       note.id = GUINT32_FROM_LE (temp_note->id);
+       note.size = GUINT32_FROM_LE (temp_note->size);
+       note.identifier = GUINT32_FROM_LE (temp_note->identifier);
+
+       gst_bytestream_flush (bs, sizeof (struct _gst_riff_note));
+       len -= sizeof (struct _gst_riff_note);
+
+       got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, note.size - 4);
+       if (got_bytes != note.size - 4) {
+         return;
+       }
+
+       gst_bytestream_flush (bs, ((note.size - 4) + 1) & ~1);
+       len -= (((note.size - 4) + 1) & ~1);
+
+       label_name = (char *) tempdata;
+
+       new_caps = gst_caps_new ("note",
+           "application/x-gst-metadata",
+           gst_props_new ("identifier", G_TYPE_INT (note.identifier),
+               "name", G_TYPE_STRING (label_name), NULL));
+
+       if (gst_props_get (props, "notes", &caps, NULL)) {
+         caps = g_list_append (caps, new_caps);
+       } else {
+         caps = g_list_append (NULL, new_caps);
+
+         entry = gst_props_entry_new ("notes", GST_PROPS_GLIST (caps));
+         gst_props_add_entry (props, entry);
+       }
+
+       break;
+
+      default:
+       g_print ("Unknown chunk: " GST_FOURCC_FORMAT "\n",
+           GST_FOURCC_ARGS (chunk.id));
        return;
-      }
-      
-      temp_ltxt = (struct _gst_riff_ltxt *) tempdata;
-      ltxt.id = GUINT32_FROM_LE (temp_ltxt->id);
-      ltxt.size = GUINT32_FROM_LE (temp_ltxt->size);
-      ltxt.identifier = GUINT32_FROM_LE (temp_ltxt->identifier);
-      ltxt.length = GUINT32_FROM_LE (temp_ltxt->length);
-      ltxt.purpose = GUINT32_FROM_LE (temp_ltxt->purpose);
-      ltxt.country = GUINT16_FROM_LE (temp_ltxt->country);
-      ltxt.language = GUINT16_FROM_LE (temp_ltxt->language);
-      ltxt.dialect = GUINT16_FROM_LE (temp_ltxt->dialect);
-      ltxt.codepage = GUINT16_FROM_LE (temp_ltxt->codepage);
-
-      gst_bytestream_flush (bs, sizeof (struct _gst_riff_ltxt));
-      len -= sizeof (struct _gst_riff_ltxt);
-
-                       if (ltxt.size - 20 > 0) {
-                               got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, ltxt.size - 20);
-                               if (got_bytes != ltxt.size - 20) {
-                                       return;
-                               }
-                               
-                               gst_bytestream_flush (bs, ((ltxt.size - 20) + 1) & ~1);
-                               len -= (( (ltxt.size - 20) + 1) & ~1);
-
-                               label_name = (char *) tempdata;
-                       } else {
-                               label_name = "";
-                       }
-                       
-      new_caps = gst_caps_new ("ltxt",
-                                                                                                                        "application/x-gst-metadata",
-                                                                                                                        gst_props_new (
-                                                                                                                                "identifier", G_TYPE_INT (ltxt.identifier),
-                                                                                                                                "name", G_TYPE_STRING (label_name),
-                                                                                                                                "length", G_TYPE_INT (ltxt.length),
-                                                                                                                                NULL));
-                       
-      if (gst_props_get (props, "ltxts", &caps, NULL)) {
-                               caps = g_list_append (caps, new_caps);
-      } else {
-                               caps = g_list_append (NULL, new_caps);
-                               
-                               entry = gst_props_entry_new ("ltxts", GST_PROPS_GLIST (caps));
-                               gst_props_add_entry (props, entry);
-      }
-      
-      break;
-                       
-    case GST_RIFF_adtl_note:
-      got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (struct _gst_riff_note));
-      if (got_bytes != sizeof (struct _gst_riff_note)) {
-                               return;
-      }
-      
-      temp_note = (struct _gst_riff_note *) tempdata;
-      note.id = GUINT32_FROM_LE (temp_note->id);
-      note.size = GUINT32_FROM_LE (temp_note->size);
-      note.identifier = GUINT32_FROM_LE (temp_note->identifier);
-      
-      gst_bytestream_flush (bs, sizeof (struct _gst_riff_note));
-      len -= sizeof (struct _gst_riff_note);
-                       
-      got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, note.size - 4);
-      if (got_bytes != note.size - 4) {
-                               return;
-      }
-                       
-      gst_bytestream_flush (bs, ((note.size - 4) + 1) & ~1);
-      len -= (( (note.size - 4) + 1) & ~1);
-                       
-      label_name = (char *) tempdata;
-      
-      new_caps = gst_caps_new ("note",
-                                                                                                                        "application/x-gst-metadata",
-                                                                                                                        gst_props_new (
-                                                                                                                                "identifier", G_TYPE_INT (note.identifier),
-                                                                                                                                "name", G_TYPE_STRING (label_name),
-                                                                                                                                NULL));
-      
-      if (gst_props_get (props, "notes", &caps, NULL)) {
-                               caps = g_list_append (caps, new_caps);
-      } else {
-                               caps = g_list_append (NULL, new_caps);
-                               
-                               entry = gst_props_entry_new ("notes", GST_PROPS_GLIST (caps));
-                               gst_props_add_entry (props, entry);
-      }
-                       
-      break;      
-      
-    default:
-      g_print ("Unknown chunk: " GST_FOURCC_FORMAT "\n", GST_FOURCC_ARGS(chunk.id));
-      return;
     }
   }
 
@@ -392,19 +391,19 @@ gst_wavparse_parse_adtl (GstWavParse *wavparse,
 
 #if 0
 static void
-gst_wavparse_parse_info (GstWavParse *wavparse,
-                                                                                                int len)
+gst_wavparse_parse_info (GstWavParse * wavparse, int len)
 {
   gst_riff_chunk *temp_chunk, chunk;
   GstByteStream *bs = wavparse->bs;
   guint8 *tempdata;
   guint32 got_bytes;
   char *name, *type;
-  
+
   while (len > 0) {
-    got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_chunk));
+    got_bytes =
+       gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_chunk));
     temp_chunk = (gst_riff_chunk *) tempdata;
-    
+
     chunk.id = GUINT32_FROM_LE (temp_chunk->id);
     chunk.size = GUINT32_FROM_LE (temp_chunk->size);
 
@@ -412,87 +411,87 @@ gst_wavparse_parse_info (GstWavParse *wavparse,
     if (got_bytes != sizeof (gst_riff_chunk)) {
       return;
     }
-                                                
+
     /* move our pointer on past the header */
     len -= sizeof (gst_riff_chunk);
-    
+
     if (chunk.size == 0) {
       continue;
     }
-    
+
     got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, chunk.size);
     name = (char *) tempdata;
     if (got_bytes != chunk.size) {
       return;
     }
-    
+
     /* move our pointer on past the data ... on an even boundary */
-               gst_bytestream_flush (bs, (chunk.size + 1) & ~1);
+    gst_bytestream_flush (bs, (chunk.size + 1) & ~1);
     len -= ((chunk.size + 1) & ~1);
 
     /* We now have an info string in 'name' of type chunk.id
        - find type */
     switch (chunk.id) {
-    case GST_RIFF_INFO_IARL:
-      type = "Location";
-      break;
-      
-    case GST_RIFF_INFO_IART:
-      type = "Artist";
-      break;
-      
-    case GST_RIFF_INFO_ICMS:
-      type = "Commissioner";
-      break;
-      
-    case GST_RIFF_INFO_ICMT:
-      type = "Comment";
-      break;
-      
-    case GST_RIFF_INFO_ICOP:
-      type = "Copyright";
-      break;
-      
-    case GST_RIFF_INFO_ICRD:
-      type = "Creation Date";
-      break;
-      
-    case GST_RIFF_INFO_IENG:
-      type = "Engineer";
-      break;
-      
-    case GST_RIFF_INFO_IGNR:
-      type = "Genre";
-      break;
-      
-    case GST_RIFF_INFO_IKEY:
-      type = "Keywords";
-      break;
-      
-    case GST_RIFF_INFO_INAM:
-      type = "Title"; /* name */
-      break;
-      
-    case GST_RIFF_INFO_IPRD:
-      type = "Product";
-      break;
-      
-    case GST_RIFF_INFO_ISBJ:
-      type = "Subject";
-      break;
-      
-    case GST_RIFF_INFO_ISFT:
-      type = "Software";
-      break;
-      
-    case GST_RIFF_INFO_ITCH:
-      type = "Technician";
-      break;
-      
-    default:
-      g_print ("Unknown: %4.4s\n", (char *) &chunk.id);
-      type = NULL;
-      break;
+      case GST_RIFF_INFO_IARL:
+       type = "Location";
+       break;
+
+      case GST_RIFF_INFO_IART:
+       type = "Artist";
+       break;
+
+      case GST_RIFF_INFO_ICMS:
+       type = "Commissioner";
+       break;
+
+      case GST_RIFF_INFO_ICMT:
+       type = "Comment";
+       break;
+
+      case GST_RIFF_INFO_ICOP:
+       type = "Copyright";
+       break;
+
+      case GST_RIFF_INFO_ICRD:
+       type = "Creation Date";
+       break;
+
+      case GST_RIFF_INFO_IENG:
+       type = "Engineer";
+       break;
+
+      case GST_RIFF_INFO_IGNR:
+       type = "Genre";
+       break;
+
+      case GST_RIFF_INFO_IKEY:
+       type = "Keywords";
+       break;
+
+      case GST_RIFF_INFO_INAM:
+       type = "Title";         /* name */
+       break;
+
+      case GST_RIFF_INFO_IPRD:
+       type = "Product";
+       break;
+
+      case GST_RIFF_INFO_ISBJ:
+       type = "Subject";
+       break;
+
+      case GST_RIFF_INFO_ISFT:
+       type = "Software";
+       break;
+
+      case GST_RIFF_INFO_ITCH:
+       type = "Technician";
+       break;
+
+      default:
+       g_print ("Unknown: %4.4s\n", (char *) &chunk.id);
+       type = NULL;
+       break;
     }
 
     if (type) {
@@ -509,8 +508,7 @@ gst_wavparse_parse_info (GstWavParse *wavparse,
 
 #if 0
 static void
-gst_wavparse_parse_cues (GstWavParse *wavparse,
-                        int len)
+gst_wavparse_parse_cues (GstWavParse * wavparse, int len)
 {
   guint32 got_bytes;
   GstByteStream *bs = wavparse->bs;
@@ -523,8 +521,10 @@ gst_wavparse_parse_cues (GstWavParse *wavparse,
 
   while (len > 0) {
     int required;
-    
-    got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (struct _gst_riff_cue));
+
+    got_bytes =
+       gst_bytestream_peek_bytes (bs, &tempdata,
+       sizeof (struct _gst_riff_cue));
     temp_cue = (struct _gst_riff_cue *) tempdata;
 
     /* fixup for our big endian friends */
@@ -548,33 +548,31 @@ gst_wavparse_parse_cues (GstWavParse *wavparse,
       return;
     }
 
-    len -= ( ((cue.size - 4) + 1) & ~1);
+    len -= (((cue.size - 4) + 1) & ~1);
 
     /* now we have an array of struct _gst_riff_cuepoints in tempdata */
     points = (struct _gst_riff_cuepoints *) tempdata;
-    
+
     for (i = 0; i < cue.cuepoints; i++) {
       GstCaps *caps;
 
       caps = gst_caps_new ("cues",
-                                                                                                        "application/x-gst-metadata",
-                                                                                                        gst_props_new (
-                                                                                                                "identifier", G_TYPE_INT (points[i].identifier),
-                                                                                                                "position", G_TYPE_INT (points[i].offset),
-                                                                                                                NULL));
+         "application/x-gst-metadata",
+         gst_props_new ("identifier", G_TYPE_INT (points[i].identifier),
+             "position", G_TYPE_INT (points[i].offset), NULL));
       cues = g_list_append (cues, caps);
     }
-    
+
     entry = gst_props_entry_new ("cues", GST_PROPS_GLIST (cues));
     gst_props_add_entry (wavparse->metadata->properties, entry);
   }
-  
+
   g_object_notify (G_OBJECT (wavparse), "metadata");
 }
 #endif
 
 static void
-gst_wavparse_parse_fmt (GstWavParse *wavparse, guint size)
+gst_wavparse_parse_fmt (GstWavParse * wavparse, guint size)
 {
   GstWavParseFormat *format;
   GstCaps *caps = NULL;
@@ -582,7 +580,8 @@ gst_wavparse_parse_fmt (GstWavParse *wavparse, guint size)
   GstByteStream *bs = wavparse->bs;
   guint32 got_bytes;
 
-  got_bytes = gst_bytestream_peek_bytes (bs, &fmtdata, sizeof (GstWavParseFormat));
+  got_bytes =
+      gst_bytestream_peek_bytes (bs, &fmtdata, sizeof (GstWavParseFormat));
   format = (GstWavParseFormat *) fmtdata;
 
   if (got_bytes == sizeof (GstWavParseFormat)) {
@@ -596,49 +595,47 @@ gst_wavparse_parse_fmt (GstWavParse *wavparse, guint size)
     /* set the caps on the src pad */
     /* FIXME: handle all of the other formats as well */
     switch (wavparse->format) {
-    case GST_RIFF_WAVE_FORMAT_ALAW:
-    case GST_RIFF_WAVE_FORMAT_MULAW: {
-      char *mime = (wavparse->format == GST_RIFF_WAVE_FORMAT_ALAW) ?
-                               "audio/x-alaw" : "audio/x-mulaw";
-      if (wavparse->width != 8) {
-                               g_warning ("Ignoring invalid width %d", wavparse->width);
-                               return;
+      case GST_RIFF_WAVE_FORMAT_ALAW:
+      case GST_RIFF_WAVE_FORMAT_MULAW:{
+       char *mime = (wavparse->format == GST_RIFF_WAVE_FORMAT_ALAW) ?
+           "audio/x-alaw" : "audio/x-mulaw";
+       if (wavparse->width != 8) {
+         g_warning ("Ignoring invalid width %d", wavparse->width);
+         return;
+       }
+
+       caps = gst_caps_new_simple (mime,
+           "rate", G_TYPE_INT, wavparse->rate,
+           "channels", G_TYPE_INT, wavparse->channels, NULL);
       }
-                       
-      caps = gst_caps_new_simple (mime,
-        "rate", G_TYPE_INT, wavparse->rate,
-        "channels", G_TYPE_INT, wavparse->channels,
-        NULL);
-    }
-      break;
-                       
-    case GST_RIFF_WAVE_FORMAT_PCM:
-      caps = gst_caps_new_simple ("audio/x-raw-int",
-        "endianness", G_TYPE_INT, G_LITTLE_ENDIAN,
-        "signed", G_TYPE_BOOLEAN, (wavparse->width > 8) ? TRUE : FALSE,
-        "width", G_TYPE_INT, wavparse->width,
-        "depth", G_TYPE_INT, wavparse->width,
-        "rate", G_TYPE_INT, wavparse->rate,
-        "channels", G_TYPE_INT, wavparse->channels,
-        NULL);
-      break;
-                       
-    case GST_RIFF_WAVE_FORMAT_MPEGL12:
-    case GST_RIFF_WAVE_FORMAT_MPEGL3: {
-      int layer = (wavparse->format == GST_RIFF_WAVE_FORMAT_MPEGL12) ? 2 : 3;
-                       
-      caps = gst_caps_new_simple ("audio/mpeg",
-          "mpegversion", G_TYPE_INT, 1,
-          "layer", G_TYPE_INT, layer,
-          "rate", G_TYPE_INT, wavparse->rate,
-          "channels", G_TYPE_INT, wavparse->channels,
-          NULL);
-    }
-      break;
-                       
-    default:
-      GST_ELEMENT_ERROR (wavparse, STREAM, NOT_IMPLEMENTED, (NULL), ("format %d not handled", wavparse->format));
-      return;
+       break;
+
+      case GST_RIFF_WAVE_FORMAT_PCM:
+       caps = gst_caps_new_simple ("audio/x-raw-int",
+           "endianness", G_TYPE_INT, G_LITTLE_ENDIAN,
+           "signed", G_TYPE_BOOLEAN, (wavparse->width > 8) ? TRUE : FALSE,
+           "width", G_TYPE_INT, wavparse->width,
+           "depth", G_TYPE_INT, wavparse->width,
+           "rate", G_TYPE_INT, wavparse->rate,
+           "channels", G_TYPE_INT, wavparse->channels, NULL);
+       break;
+
+      case GST_RIFF_WAVE_FORMAT_MPEGL12:
+      case GST_RIFF_WAVE_FORMAT_MPEGL3:{
+       int layer = (wavparse->format == GST_RIFF_WAVE_FORMAT_MPEGL12) ? 2 : 3;
+
+       caps = gst_caps_new_simple ("audio/mpeg",
+           "mpegversion", G_TYPE_INT, 1,
+           "layer", G_TYPE_INT, layer,
+           "rate", G_TYPE_INT, wavparse->rate,
+           "channels", G_TYPE_INT, wavparse->channels, NULL);
+      }
+       break;
+
+      default:
+       GST_ELEMENT_ERROR (wavparse, STREAM, NOT_IMPLEMENTED, (NULL),
+           ("format %d not handled", wavparse->format));
+       return;
     }
 
     if (caps) {
@@ -651,42 +648,42 @@ gst_wavparse_parse_fmt (GstWavParse *wavparse, guint size)
 }
 
 static gboolean
-gst_wavparse_handle_sink_event (GstWavParse *wavparse)
+gst_wavparse_handle_sink_event (GstWavParse * wavparse)
 {
   guint32 remaining;
   GstEvent *event;
   GstEventType type;
   gboolean res = TRUE;
-       
+
   gst_bytestream_get_status (wavparse->bs, &remaining, &event);
-       
+
   type = event ? GST_EVENT_TYPE (event) : GST_EVENT_UNKNOWN;
   GST_DEBUG ("wavparse: event %p %d", event, type);
-       
+
   switch (type) {
-  case GST_EVENT_EOS:
-    gst_bytestream_flush (wavparse->bs, remaining);
-    gst_pad_event_default (wavparse->sinkpad, event);
-    res = FALSE;
-    goto done;
-
-  case GST_EVENT_FLUSH:
-    g_warning ("Wavparse: Flush event");
-    break;
-
-  default:
-    g_warning ("Wavparse: Unhandled event %d", type);
-    break;
+    case GST_EVENT_EOS:
+      gst_bytestream_flush (wavparse->bs, remaining);
+      gst_pad_event_default (wavparse->sinkpad, event);
+      res = FALSE;
+      goto done;
+
+    case GST_EVENT_FLUSH:
+      g_warning ("Wavparse: Flush event");
+      break;
+
+    default:
+      g_warning ("Wavparse: Unhandled event %d", type);
+      break;
   }
 
   gst_event_unref (event);
 
- done:
+done:
   return res;
 }
-    
+
 static void
-gst_wavparse_loop (GstElement *element)
+gst_wavparse_loop (GstElement * element)
 {
   GstWavParse *wavparse;
   gst_riff_riff chunk;
@@ -700,25 +697,24 @@ gst_wavparse_loop (GstElement *element)
 
   if (wavparse->seek_pending) {
     GST_DEBUG ("wavparse: seek pending to %" G_GINT64_FORMAT " %08llx",
-              wavparse->seek_offset,
-              (unsigned long long) wavparse->seek_offset);
-    
+       wavparse->seek_offset, (unsigned long long) wavparse->seek_offset);
+
     if (!gst_bytestream_seek (bs, wavparse->seek_offset, GST_SEEK_METHOD_SET)) {
       GST_INFO ("wavparse: Could not seek");
     }
-               
+
     wavparse->seek_pending = FALSE;
   }
-       
+
   if (wavparse->state == GST_WAVPARSE_DATA) {
     GstBuffer *buf;
     int desired;
-    
+
     /* This seems to want the whole chunk,
        Will this screw up streaming?
        Does anyone care about streaming wavs?
        FIXME: Should we have a decent buffer size? */
-               
+
 #define MAX_BUFFER_SIZE 1024
 
     if (wavparse->dataleft > 0) {
@@ -726,15 +722,16 @@ gst_wavparse_loop (GstElement *element)
       got_bytes = gst_bytestream_peek (bs, &buf, desired);
 
       if (got_bytes != desired) {
-        /* EOS? */
-        GstEvent *event;
-        guint32 remaining;
-        gst_bytestream_get_status (bs, &remaining, &event);
-        if (event && GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
-          gst_pad_event_default (wavparse->sinkpad, event);
-        } else {
-          GST_ELEMENT_ERROR (element, RESOURCE, READ, (NULL), (NULL));
-        }
+       /* EOS? */
+       GstEvent *event;
+       guint32 remaining;
+
+       gst_bytestream_get_status (bs, &remaining, &event);
+       if (event && GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
+         gst_pad_event_default (wavparse->sinkpad, event);
+       } else {
+         GST_ELEMENT_ERROR (element, RESOURCE, READ, (NULL), (NULL));
+       }
        return;
       }
 
@@ -742,7 +739,7 @@ gst_wavparse_loop (GstElement *element)
       wavparse->byteoffset += got_bytes;
 
       gst_bytestream_flush (bs, got_bytes);
-                       
+
       gst_pad_push (wavparse->srcpad, GST_DATA (buf));
       return;
     } else {
@@ -754,51 +751,53 @@ gst_wavparse_loop (GstElement *element)
     gst_riff_riff *temp_chunk;
     guint8 *tempdata;
     guint32 skipsize;
-               
+
     /* read first two dwords to get chunktype and size */
     while (TRUE) {
-      got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_chunk));
+      got_bytes =
+         gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_chunk));
       temp_chunk = (gst_riff_riff *) tempdata;
 
       if (got_bytes < sizeof (gst_riff_chunk)) {
-                               if (!gst_wavparse_handle_sink_event (wavparse)) {
-                                       return;
-                               }
+       if (!gst_wavparse_handle_sink_event (wavparse)) {
+         return;
+       }
       } else {
-                               break;
+       break;
       }
     }
-               
+
     chunk.id = GUINT32_FROM_LE (temp_chunk->id);
     chunk.size = GUINT32_FROM_LE (temp_chunk->size);
 
     switch (chunk.id) {
-    case GST_RIFF_TAG_RIFF:
-    case GST_RIFF_TAG_LIST:
-      /* Read complete list chunk */
-      while (TRUE) {
-       got_bytes = gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_list));
-       temp_chunk = (gst_riff_riff *) tempdata;
-       if (got_bytes < sizeof (gst_riff_list)) {
-         if (!gst_wavparse_handle_sink_event (wavparse)) {
-           return;
+      case GST_RIFF_TAG_RIFF:
+      case GST_RIFF_TAG_LIST:
+       /* Read complete list chunk */
+       while (TRUE) {
+         got_bytes =
+             gst_bytestream_peek_bytes (bs, &tempdata, sizeof (gst_riff_list));
+         temp_chunk = (gst_riff_riff *) tempdata;
+         if (got_bytes < sizeof (gst_riff_list)) {
+           if (!gst_wavparse_handle_sink_event (wavparse)) {
+             return;
+           }
+         } else {
+           break;
          }
-       } else {
-         break;
        }
-      }
-                       
-      chunk.type = GUINT32_FROM_LE (temp_chunk->type);
-      skipsize = sizeof (gst_riff_list);
-      break;
 
-    case GST_RIFF_TAG_cue:
-      skipsize = 0;
-      break;
-      
-    default:
-      skipsize = sizeof (gst_riff_chunk);
-      break;
+       chunk.type = GUINT32_FROM_LE (temp_chunk->type);
+       skipsize = sizeof (gst_riff_list);
+       break;
+
+      case GST_RIFF_TAG_cue:
+       skipsize = 0;
+       break;
+
+      default:
+       skipsize = sizeof (gst_riff_chunk);
+       break;
     }
     gst_bytestream_flush (bs, skipsize);
   } while (FALSE);
@@ -807,75 +806,74 @@ gst_wavparse_loop (GstElement *element)
   flush = (chunk.size + 1) & ~1;
 
   switch (wavparse->state) {
-  case GST_WAVPARSE_START:
-    if (chunk.id != GST_RIFF_TAG_RIFF &&
-                               chunk.type != GST_RIFF_RIFF_WAVE) {
-      GST_ELEMENT_ERROR (element, STREAM, WRONG_TYPE, (NULL),
-                           ("chunk.id %08x chunk.type %08x", chunk.id, chunk.type));
-      return;
-    }
-               
-    wavparse->state = GST_WAVPARSE_OTHER;
-    /* We are not going to flush lists */
-    flush = 0;
-    break;
-
-  case GST_WAVPARSE_OTHER:
-    GST_DEBUG ("riff tag: %4.4s %08x", (char *) &chunk.id, chunk.size);
-               
-    switch (chunk.id) {
-    case GST_RIFF_TAG_data:
-      wavparse->state = GST_WAVPARSE_DATA;
-      wavparse->dataleft = chunk.size;
-      wavparse->byteoffset = 0;
-      flush = 0;
-      break;
-      
-    case GST_RIFF_TAG_fmt:
-      gst_wavparse_parse_fmt (wavparse, chunk.size);
+    case GST_WAVPARSE_START:
+      if (chunk.id != GST_RIFF_TAG_RIFF && chunk.type != GST_RIFF_RIFF_WAVE) {
+       GST_ELEMENT_ERROR (element, STREAM, WRONG_TYPE, (NULL),
+           ("chunk.id %08x chunk.type %08x", chunk.id, chunk.type));
+       return;
+      }
+
+      wavparse->state = GST_WAVPARSE_OTHER;
+      /* We are not going to flush lists */
       flush = 0;
       break;
 
-    case GST_RIFF_TAG_cue:
-      //gst_wavparse_parse_cues (wavparse, chunk.size);
-      break;
-      
-    case GST_RIFF_TAG_LIST:
-      GST_DEBUG ("list type: %4.4s", (char *) &chunk.type);
-      switch (chunk.type) {
-      case GST_RIFF_LIST_INFO:
-       //gst_wavparse_parse_info (wavparse, chunk.size - 4);
-       //flush = 0;
+    case GST_WAVPARSE_OTHER:
+      GST_DEBUG ("riff tag: %4.4s %08x", (char *) &chunk.id, chunk.size);
 
-       break;
-                               
-      case GST_RIFF_LIST_adtl:
-       //gst_wavparse_parse_adtl (wavparse, chunk.size - 4);
-       //flush = 0;
-       break;
+      switch (chunk.id) {
+       case GST_RIFF_TAG_data:
+         wavparse->state = GST_WAVPARSE_DATA;
+         wavparse->dataleft = chunk.size;
+         wavparse->byteoffset = 0;
+         flush = 0;
+         break;
 
-      default:
-       //flush = 0;
-       break;
+       case GST_RIFF_TAG_fmt:
+         gst_wavparse_parse_fmt (wavparse, chunk.size);
+         flush = 0;
+         break;
+
+       case GST_RIFF_TAG_cue:
+         //gst_wavparse_parse_cues (wavparse, chunk.size);
+         break;
+
+       case GST_RIFF_TAG_LIST:
+         GST_DEBUG ("list type: %4.4s", (char *) &chunk.type);
+         switch (chunk.type) {
+           case GST_RIFF_LIST_INFO:
+             //gst_wavparse_parse_info (wavparse, chunk.size - 4);
+             //flush = 0;
+
+             break;
+
+           case GST_RIFF_LIST_adtl:
+             //gst_wavparse_parse_adtl (wavparse, chunk.size - 4);
+             //flush = 0;
+             break;
+
+           default:
+             //flush = 0;
+             break;
+         }
+
+       default:
+         GST_DEBUG ("  *****  unknown chunkid %08x", chunk.id);
+         //flush = 0;
+         break;
       }
-      
+      break;
+
+    case GST_WAVPARSE_DATA:
+      /* Should have been handled up there ^^^^ */
+      flush = 0;
+      break;
+
     default:
-      GST_DEBUG ("  *****  unknown chunkid %08x", chunk.id);
-      //flush = 0;
-      break;      
-    }
-    break;
-               
-  case GST_WAVPARSE_DATA:
-               /* Should have been handled up there ^^^^ */
-               flush = 0;
-    break;
-               
-  default:
-    /* Unknown */
-    g_warning ("Unknown state %d\n", wavparse->state);
-    //GST_DEBUG ("  *****  unknown chunkid %08x", chunk.id);
-    break;
+      /* Unknown */
+      g_warning ("Unknown state %d\n", wavparse->state);
+      //GST_DEBUG ("  *****  unknown chunkid %08x", chunk.id);
+      break;
   }
 
   if (flush > 0) {
@@ -888,18 +886,18 @@ gst_wavparse_loop (GstElement *element)
 
       gst_bytestream_get_status (bs, &remaining, &event);
       gst_event_unref (event);
-    } 
+    }
   }
 }
 
 /* convert and query stuff */
 static const GstFormat *
-gst_wavparse_get_formats (GstPad *pad)
+gst_wavparse_get_formats (GstPad * pad)
 {
   static GstFormat formats[] = {
     GST_FORMAT_TIME,
     GST_FORMAT_BYTES,
-    GST_FORMAT_DEFAULT,        /* a "frame", ie a set of samples per Hz */
+    GST_FORMAT_DEFAULT,                /* a "frame", ie a set of samples per Hz */
     0,
     0
   };
@@ -907,9 +905,9 @@ gst_wavparse_get_formats (GstPad *pad)
 }
 
 static gboolean
-gst_wavparse_pad_convert (GstPad *pad,
-                         GstFormat src_format, gint64 src_value,
-                         GstFormat *dest_format, gint64 *dest_value)
+gst_wavparse_pad_convert (GstPad * pad,
+    GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value)
 {
   gint bytes_per_sample;
   glong byterate;
@@ -919,11 +917,11 @@ gst_wavparse_pad_convert (GstPad *pad,
   gboolean dest_format_ok = FALSE;
 
   wavparse = GST_WAVPARSE (gst_pad_get_parent (pad));
-  
+
   bytes_per_sample = wavparse->channels * wavparse->width / 8;
   if (bytes_per_sample == 0) {
     GST_DEBUG ("bytes_per_sample 0, probably an mp3 - channels %d, width %d",
-              wavparse->channels, wavparse->width);
+       wavparse->channels, wavparse->width);
     return FALSE;
   }
   byterate = (glong) (bytes_per_sample * wavparse->rate);
@@ -936,8 +934,12 @@ gst_wavparse_pad_convert (GstPad *pad,
   formats = gst_pad_get_formats (pad);
 
   while (formats && *formats) {
-    if (src_format == *formats) { src_format_ok = TRUE; }
-    if (*dest_format == *formats) { dest_format_ok = TRUE; }
+    if (src_format == *formats) {
+      src_format_ok = TRUE;
+    }
+    if (*dest_format == *formats) {
+      dest_format_ok = TRUE;
+    }
     formats++;
   }
   if (!src_format_ok || !dest_format_ok) {
@@ -949,23 +951,23 @@ gst_wavparse_pad_convert (GstPad *pad,
   switch (src_format) {
     case GST_FORMAT_BYTES:
       if (*dest_format == GST_FORMAT_DEFAULT)
-        *dest_value = src_value / bytes_per_sample;
+       *dest_value = src_value / bytes_per_sample;
       else if (*dest_format == GST_FORMAT_TIME)
-        *dest_value = src_value * GST_SECOND / byterate;
+       *dest_value = src_value * GST_SECOND / byterate;
       else {
-        GST_DEBUG ("can't convert from bytes to other than units/time");
-         return FALSE;
+       GST_DEBUG ("can't convert from bytes to other than units/time");
+       return FALSE;
       }
 
       break;
     case GST_FORMAT_DEFAULT:
       if (*dest_format == GST_FORMAT_BYTES)
-        *dest_value = src_value * bytes_per_sample;
+       *dest_value = src_value * bytes_per_sample;
       else if (*dest_format == GST_FORMAT_TIME)
-        *dest_value = src_value * GST_SECOND / wavparse->rate;
+       *dest_value = src_value * GST_SECOND / wavparse->rate;
       else {
-        GST_DEBUG ("can't convert from units to other than bytes/time");
-         return FALSE;
+       GST_DEBUG ("can't convert from units to other than bytes/time");
+       return FALSE;
       }
       break;
     case GST_FORMAT_TIME:
@@ -974,8 +976,8 @@ gst_wavparse_pad_convert (GstPad *pad,
       else if (*dest_format == GST_FORMAT_DEFAULT)
        *dest_value = src_value * wavparse->rate / GST_SECOND;
       else {
-        GST_DEBUG ("can't convert from time to other than bytes/units");
-         return FALSE;
+       GST_DEBUG ("can't convert from time to other than bytes/units");
+       return FALSE;
       }
 
       *dest_value = *dest_value & ~(bytes_per_sample - 1);
@@ -986,9 +988,9 @@ gst_wavparse_pad_convert (GstPad *pad,
   }
   return TRUE;
 }
-      
+
 static const GstQueryType *
-gst_wavparse_get_query_types (GstPad *pad)
+gst_wavparse_get_query_types (GstPad * pad)
 {
   static const GstQueryType types[] = {
     GST_QUERY_TOTAL,
@@ -1000,8 +1002,8 @@ gst_wavparse_get_query_types (GstPad *pad)
 
 /* handle queries for location and length in requested format */
 static gboolean
-gst_wavparse_pad_query (GstPad *pad, GstQueryType type,
-                       GstFormat *format, gint64 *value)
+gst_wavparse_pad_query (GstPad * pad, GstQueryType type,
+    GstFormat * format, gint64 * value)
 {
   GstFormat peer_format = GST_FORMAT_BYTES;
   gint64 peer_value;
@@ -1010,16 +1012,16 @@ gst_wavparse_pad_query (GstPad *pad, GstQueryType type,
   /* probe sink's peer pad, convert value, and that's it :) */
   /* FIXME: ideally we'd loop over possible formats of peer instead
    * of only using BYTE */
-  
+
   /* only support byte, time and unit queries */
   wavparse = GST_WAVPARSE (gst_pad_get_parent (pad));
-  if (!gst_pad_query (GST_PAD_PEER (wavparse->sinkpad), type, 
-                     &peer_format, &peer_value)) {
+  if (!gst_pad_query (GST_PAD_PEER (wavparse->sinkpad), type,
+         &peer_format, &peer_value)) {
     GST_DEBUG ("Could not query sink pad's peer");
     return FALSE;
   }
   if (!gst_pad_convert (wavparse->sinkpad, peer_format, peer_value,
-                       format, value)) {
+         format, value)) {
     GST_DEBUG ("Could not convert sink pad's peer");
     return FALSE;
   }
@@ -1027,19 +1029,18 @@ gst_wavparse_pad_query (GstPad *pad, GstQueryType type,
   return TRUE;
 }
 
-static const GstEventMask*
-gst_wavparse_get_event_masks (GstPad *pad)
-{ 
+static const GstEventMask *
+gst_wavparse_get_event_masks (GstPad * pad)
+{
   static const GstEventMask gst_wavparse_src_event_masks[] = {
-    { GST_EVENT_SEEK, GST_SEEK_METHOD_SET |
-                      GST_SEEK_FLAG_FLUSH },
-    { 0, }
+    {GST_EVENT_SEEK, GST_SEEK_METHOD_SET | GST_SEEK_FLAG_FLUSH},
+    {0,}
   };
   return gst_wavparse_src_event_masks;
-}   
+}
 
 static gboolean
-gst_wavparse_srcpad_event (GstPad *pad, GstEvent *event)
+gst_wavparse_srcpad_event (GstPad * pad, GstEvent * event)
 {
 #if 0
   GstWavParse *wavparse = GST_WAVPARSE (GST_PAD_PARENT (pad));
@@ -1059,15 +1060,13 @@ gst_wavparse_srcpad_event (GstPad *pad, GstEvent *event)
       }
 
       format = GST_FORMAT_BYTES;
-      
+
       /* bring format to bytes for the peer element, 
        * FIXME be smarter here */
-      res = gst_pad_convert (pad, 
-                            GST_EVENT_SEEK_FORMAT (event),
-                            GST_EVENT_SEEK_OFFSET (event),
-                            &format,
-                            &byteoffset);
-      
+      res = gst_pad_convert (pad,
+         GST_EVENT_SEEK_FORMAT (event),
+         GST_EVENT_SEEK_OFFSET (event), &format, &byteoffset);
+
       if (res) {
        /* ok, seek worked, update our state */
        wavparse->seek_offset = byteoffset;
@@ -1088,7 +1087,7 @@ gst_wavparse_srcpad_event (GstPad *pad, GstEvent *event)
 }
 
 static GstElementStateReturn
-gst_wavparse_change_state (GstElement *element)
+gst_wavparse_change_state (GstElement * element)
 {
   GstWavParse *wavparse = GST_WAVPARSE (element);
 
@@ -1121,23 +1120,18 @@ gst_wavparse_change_state (GstElement *element)
 }
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_library_load ("gstbytestream")) {
     return FALSE;
   }
 
-  return gst_element_register (plugin, "wavparse", GST_RANK_SECONDARY, GST_TYPE_WAVPARSE);
+  return gst_element_register (plugin, "wavparse", GST_RANK_SECONDARY,
+      GST_TYPE_WAVPARSE);
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "wavparse",
-  "Parse a .wav file into raw audio",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "wavparse",
+    "Parse a .wav file into raw audio",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 3893a29..b8cdd2d 100644 (file)
@@ -27,8 +27,9 @@
 #include <gst/bytestream/bytestream.h>
 
 #ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+extern "C"
+{
+#endif                         /* __cplusplus */
 
 
 #define GST_TYPE_WAVPARSE \
@@ -44,59 +45,62 @@ extern "C" {
 
 
 #define GST_WAVPARSE_UNKNOWN   0       /* initialized state */
-#define GST_WAVPARSE_START      1       /* At the start */
+#define GST_WAVPARSE_START      1      /* At the start */
 #define GST_WAVPARSE_DATA      2       /* in data region */
 #define GST_WAVPARSE_OTHER     3       /* in unknown region */
-  
-typedef struct _GstWavParse GstWavParse;
-typedef struct _GstWavParseClass GstWavParseClass;
-
-struct _GstWavParse {
-  GstElement element;
-
-  GstByteStream *bs;
-  /* pads */
-  GstPad *sinkpad,*srcpad;
-
-  /* WAVE decoding state */
-  gint state;
-
-  /* format of audio, see defines below */
-  gint format;
-
-  /* useful audio data */
-  gint bps;
-  gint rate;
-  gint channels;
-  gint width;
-
-  int dataleft;
-  int byteoffset;
-  
-  gboolean seek_pending;
-  guint64 seek_offset;
-  
-  GstBuffer *buf;
-};
-
-struct _GstWavParseClass {
-  GstElementClass parent_class;
-};
-
-GType gst_wavparse_get_type(void);
-
-typedef struct _GstWavParseFormat GstWavParseFormat;
-
-struct _GstWavParseFormat {
-  gint16 wFormatTag;
-  guint16 wChannels;
-  guint32 dwSamplesPerSec;
-  guint32 dwAvgBytesPerSec;
-  guint16 wBlockAlign;
-  guint16 wBitsPerSample;
-};
-  
-  
+
+  typedef struct _GstWavParse GstWavParse;
+  typedef struct _GstWavParseClass GstWavParseClass;
+
+  struct _GstWavParse
+  {
+    GstElement element;
+
+    GstByteStream *bs;
+    /* pads */
+    GstPad *sinkpad, *srcpad;
+
+    /* WAVE decoding state */
+    gint state;
+
+    /* format of audio, see defines below */
+    gint format;
+
+    /* useful audio data */
+    gint bps;
+    gint rate;
+    gint channels;
+    gint width;
+
+    int dataleft;
+    int byteoffset;
+
+    gboolean seek_pending;
+    guint64 seek_offset;
+
+    GstBuffer *buf;
+  };
+
+  struct _GstWavParseClass
+  {
+    GstElementClass parent_class;
+  };
+
+  GType gst_wavparse_get_type (void);
+
+  typedef struct _GstWavParseFormat GstWavParseFormat;
+
+  struct _GstWavParseFormat
+  {
+    gint16 wFormatTag;
+    guint16 wChannels;
+    guint32 dwSamplesPerSec;
+    guint32 dwAvgBytesPerSec;
+    guint16 wBlockAlign;
+    guint16 wBitsPerSample;
+  };
+
+
 /**** from public Microsoft RIFF docs ******/
 #define GST_RIFF_WAVE_FORMAT_UNKNOWN        (0x0000)
 #define GST_RIFF_WAVE_FORMAT_PCM            (0x0001)
@@ -129,7 +133,7 @@ struct _GstWavParseFormat {
 
 #ifdef __cplusplus
 }
-#endif /* __cplusplus */
+#endif                         /* __cplusplus */
 
 
-#endif /* __GST_WAVPARSE_H__ */
+#endif                         /* __GST_WAVPARSE_H__ */
index 141ed1f..bf18a1f 100644 (file)
 
 #include <gst/gst.h>
 
-typedef enum {
-  GST_RIFF_OK      =  0,               
+typedef enum
+{
+  GST_RIFF_OK = 0,
   GST_RIFF_ENOTRIFF = -1,
-  GST_RIFF_EINVAL   = -2,
-  GST_RIFF_ENOMEM   = -3
+  GST_RIFF_EINVAL = -2,
+  GST_RIFF_ENOMEM = -3
 } GstRiffReturn;
 
 #define MAKE_FOUR_CC(a,b,c,d) GST_MAKE_FOURCC(a,b,c,d)
@@ -81,29 +82,29 @@ typedef enum {
 #define GST_RIFF_FCCH_MSVC MAKE_FOUR_CC('M','S','V','C')
 
 /* INFO types - see http://www.saettler.com/RIFFMCI/riffmci.html */
-#define GST_RIFF_INFO_IARL MAKE_FOUR_CC('I','A','R','L') /* location */
-#define GST_RIFF_INFO_IART MAKE_FOUR_CC('I','A','R','T') /* artist */
-#define GST_RIFF_INFO_ICMS MAKE_FOUR_CC('I','C','M','S') /* commissioned */
-#define GST_RIFF_INFO_ICMT MAKE_FOUR_CC('I','C','M','T') /* comment */
-#define GST_RIFF_INFO_ICOP MAKE_FOUR_CC('I','C','O','P') /* copyright */
-#define GST_RIFF_INFO_ICRD MAKE_FOUR_CC('I','C','R','D') /* creation date */
-#define GST_RIFF_INFO_ICRP MAKE_FOUR_CC('I','C','R','P') /* cropped */
-#define GST_RIFF_INFO_IDIM MAKE_FOUR_CC('I','D','I','M') /* dimensions */
-#define GST_RIFF_INFO_IDPI MAKE_FOUR_CC('I','D','P','I') /* dots-per-inch */
-#define GST_RIFF_INFO_IENG MAKE_FOUR_CC('I','E','N','G') /* engineer(s) */
-#define GST_RIFF_INFO_IGNR MAKE_FOUR_CC('I','G','N','R') /* genre */
-#define GST_RIFF_INFO_IKEY MAKE_FOUR_CC('I','K','E','Y') /* keywords */
-#define GST_RIFF_INFO_ILGT MAKE_FOUR_CC('I','L','G','T') /* lightness */
-#define GST_RIFF_INFO_IMED MAKE_FOUR_CC('I','M','E','D') /* medium */
-#define GST_RIFF_INFO_INAM MAKE_FOUR_CC('I','N','A','M') /* name */
-#define GST_RIFF_INFO_IPLT MAKE_FOUR_CC('I','P','L','T') /* palette setting */
-#define GST_RIFF_INFO_IPRD MAKE_FOUR_CC('I','P','R','D') /* product */
-#define GST_RIFF_INFO_ISBJ MAKE_FOUR_CC('I','S','B','J') /* subject */
-#define GST_RIFF_INFO_ISFT MAKE_FOUR_CC('I','S','F','T') /* software */
-#define GST_RIFF_INFO_ISHP MAKE_FOUR_CC('I','S','H','P') /* sharpness */
-#define GST_RIFF_INFO_ISRC MAKE_FOUR_CC('I','S','R','C') /* source */
-#define GST_RIFF_INFO_ISRF MAKE_FOUR_CC('I','S','R','F') /* source form */
-#define GST_RIFF_INFO_ITCH MAKE_FOUR_CC('I','T','C','H') /* technician(s) */
+#define GST_RIFF_INFO_IARL MAKE_FOUR_CC('I','A','R','L')       /* location */
+#define GST_RIFF_INFO_IART MAKE_FOUR_CC('I','A','R','T')       /* artist */
+#define GST_RIFF_INFO_ICMS MAKE_FOUR_CC('I','C','M','S')       /* commissioned */
+#define GST_RIFF_INFO_ICMT MAKE_FOUR_CC('I','C','M','T')       /* comment */
+#define GST_RIFF_INFO_ICOP MAKE_FOUR_CC('I','C','O','P')       /* copyright */
+#define GST_RIFF_INFO_ICRD MAKE_FOUR_CC('I','C','R','D')       /* creation date */
+#define GST_RIFF_INFO_ICRP MAKE_FOUR_CC('I','C','R','P')       /* cropped */
+#define GST_RIFF_INFO_IDIM MAKE_FOUR_CC('I','D','I','M')       /* dimensions */
+#define GST_RIFF_INFO_IDPI MAKE_FOUR_CC('I','D','P','I')       /* dots-per-inch */
+#define GST_RIFF_INFO_IENG MAKE_FOUR_CC('I','E','N','G')       /* engineer(s) */
+#define GST_RIFF_INFO_IGNR MAKE_FOUR_CC('I','G','N','R')       /* genre */
+#define GST_RIFF_INFO_IKEY MAKE_FOUR_CC('I','K','E','Y')       /* keywords */
+#define GST_RIFF_INFO_ILGT MAKE_FOUR_CC('I','L','G','T')       /* lightness */
+#define GST_RIFF_INFO_IMED MAKE_FOUR_CC('I','M','E','D')       /* medium */
+#define GST_RIFF_INFO_INAM MAKE_FOUR_CC('I','N','A','M')       /* name */
+#define GST_RIFF_INFO_IPLT MAKE_FOUR_CC('I','P','L','T')       /* palette setting */
+#define GST_RIFF_INFO_IPRD MAKE_FOUR_CC('I','P','R','D')       /* product */
+#define GST_RIFF_INFO_ISBJ MAKE_FOUR_CC('I','S','B','J')       /* subject */
+#define GST_RIFF_INFO_ISFT MAKE_FOUR_CC('I','S','F','T')       /* software */
+#define GST_RIFF_INFO_ISHP MAKE_FOUR_CC('I','S','H','P')       /* sharpness */
+#define GST_RIFF_INFO_ISRC MAKE_FOUR_CC('I','S','R','C')       /* source */
+#define GST_RIFF_INFO_ISRF MAKE_FOUR_CC('I','S','R','F')       /* source form */
+#define GST_RIFF_INFO_ITCH MAKE_FOUR_CC('I','T','C','H')       /* technician(s) */
 
 /*********Chunk Names***************/
 #define GST_RIFF_FF00 MAKE_FOUR_CC(0xFF,0xFF,0x00,0x00)
@@ -182,7 +183,7 @@ typedef enum {
 #define GST_RIFF_v422 MAKE_FOUR_CC( 'v', '4', '2', '2')
 #define GST_RIFF_V422 MAKE_FOUR_CC( 'V', '4', '2', '2')
 #define GST_RIFF_mvi1 MAKE_FOUR_CC( 'm', 'v', 'i', '1')
-#define GST_RIFF_MPIX MAKE_FOUR_CC(0x04,0x00, 'i', '1')     /* MotionPixels munged their id */
+#define GST_RIFF_MPIX MAKE_FOUR_CC(0x04,0x00, 'i', '1')        /* MotionPixels munged their id */
 #define GST_RIFF_AURA MAKE_FOUR_CC( 'A', 'U', 'R', 'A')
 #define GST_RIFF_DMB1 MAKE_FOUR_CC( 'D', 'M', 'B', '1')
 #define GST_RIFF_dmb1 MAKE_FOUR_CC( 'd', 'm', 'b', '1')
@@ -218,7 +219,7 @@ typedef enum {
 
 #define GST_RIFF_rpza MAKE_FOUR_CC( 'r', 'p', 'z', 'a')
 /* And this here's the mistakes that need to be supported */
-#define GST_RIFF_azpr MAKE_FOUR_CC( 'a', 'z', 'p', 'r')  /* recognize Apple's rpza mangled? */
+#define GST_RIFF_azpr MAKE_FOUR_CC( 'a', 'z', 'p', 'r')        /* recognize Apple's rpza mangled? */
 
 /*********** FND in MJPG **********/
 #define GST_RIFF_ISFT MAKE_FOUR_CC( 'I', 'S', 'F', 'T')
@@ -231,21 +232,22 @@ typedef enum {
 #define GST_RIFF_rec  MAKE_FOUR_CC( 'r', 'e', 'c', ' ')
 
 /* common data structures */
-struct _gst_riff_avih {
-  guint32 us_frame;          /* microsec per frame */
-  guint32 max_bps;           /* byte/s overall */
-  guint32 pad_gran;          /* pad_gran (???) */
+struct _gst_riff_avih
+{
+  guint32 us_frame;            /* microsec per frame */
+  guint32 max_bps;             /* byte/s overall */
+  guint32 pad_gran;            /* pad_gran (???) */
   guint32 flags;
 /* flags values */
-#define GST_RIFF_AVIH_HASINDEX       0x00000010 /* has idx1 chunk */
-#define GST_RIFF_AVIH_MUSTUSEINDEX   0x00000020 /* must use idx1 chunk to determine order */
-#define GST_RIFF_AVIH_ISINTERLEAVED  0x00000100 /* AVI file is interleaved */
-#define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000 /* specially allocated used for capturing real time video */
-#define GST_RIFF_AVIH_COPYRIGHTED    0x00020000 /* contains copyrighted data */
-  guint32 tot_frames;        /* # of frames (all) */
-  guint32 init_frames;       /* initial frames (???) */
+#define GST_RIFF_AVIH_HASINDEX       0x00000010        /* has idx1 chunk */
+#define GST_RIFF_AVIH_MUSTUSEINDEX   0x00000020        /* must use idx1 chunk to determine order */
+#define GST_RIFF_AVIH_ISINTERLEAVED  0x00000100        /* AVI file is interleaved */
+#define GST_RIFF_AVIH_WASCAPTUREFILE 0x00010000        /* specially allocated used for capturing real time video */
+#define GST_RIFF_AVIH_COPYRIGHTED    0x00020000        /* contains copyrighted data */
+  guint32 tot_frames;          /* # of frames (all) */
+  guint32 init_frames;         /* initial frames (???) */
   guint32 streams;
-  guint32 bufsize;           /* suggested buffer size */
+  guint32 bufsize;             /* suggested buffer size */
   guint32 width;
   guint32 height;
   guint32 scale;
@@ -254,26 +256,28 @@ struct _gst_riff_avih {
   guint32 length;
 };
 
-struct _gst_riff_strh {
-  guint32 type;             /* stream type */
-  guint32 fcc_handler;       /* fcc_handler */
+struct _gst_riff_strh
+{
+  guint32 type;                        /* stream type */
+  guint32 fcc_handler;         /* fcc_handler */
   guint32 flags;
 /* flags values */
 #define GST_RIFF_STRH_DISABLED        0x000000001
 #define GST_RIFF_STRH_VIDEOPALCHANGES 0x000010000
   guint32 priority;
-  guint32 init_frames;       /* initial frames (???) */
+  guint32 init_frames;         /* initial frames (???) */
   guint32 scale;
   guint32 rate;
   guint32 start;
   guint32 length;
-  guint32 bufsize;           /* suggested buffer size */
+  guint32 bufsize;             /* suggested buffer size */
   guint32 quality;
   guint32 samplesize;
   /* XXX 16 bytes ? */
 };
 
-struct _gst_riff_strf_vids {       /* == BitMapInfoHeader */
+struct _gst_riff_strf_vids
+{                              /* == BitMapInfoHeader */
   guint32 size;
   guint32 width;
   guint32 height;
@@ -283,13 +287,14 @@ struct _gst_riff_strf_vids {       /* == BitMapInfoHeader */
   guint32 image_size;
   guint32 xpels_meter;
   guint32 ypels_meter;
-  guint32 num_colors;        /* used colors */
-  guint32 imp_colors;        /* important colors */
+  guint32 num_colors;          /* used colors */
+  guint32 imp_colors;          /* important colors */
   /* may be more for some codecs */
 };
 
 
-struct _gst_riff_strf_auds {       /* == WaveHeader (?) */
+struct _gst_riff_strf_auds
+{                              /* == WaveHeader (?) */
   guint16 format;
 /**** from public Microsoft RIFF docs ******/
 #define GST_RIFF_WAVE_FORMAT_UNKNOWN        (0x0000)
@@ -328,7 +333,8 @@ struct _gst_riff_strf_auds {       /* == WaveHeader (?) */
   guint16 size;
 };
 
-struct _gst_riff_strf_iavs {    
+struct _gst_riff_strf_iavs
+{
   guint32 DVAAuxSrc;
   guint32 DVAAuxCtl;
   guint32 DVAAuxSrc1;
@@ -339,26 +345,30 @@ struct _gst_riff_strf_iavs {
   guint32 DVReserved2;
 };
 
-struct _gst_riff_riff {  
+struct _gst_riff_riff
+{
   guint32 id;
   guint32 size;
   guint32 type;
 };
 
-struct _gst_riff_list {  
+struct _gst_riff_list
+{
   guint32 id;
   guint32 size;
   guint32 type;
 };
 
-struct _gst_riff_labl {
+struct _gst_riff_labl
+{
   guint32 id;
   guint32 size;
 
   guint32 identifier;
 };
 
-struct _gst_riff_ltxt {
+struct _gst_riff_ltxt
+{
   guint32 id;
   guint32 size;
 
@@ -371,14 +381,16 @@ struct _gst_riff_ltxt {
   guint16 codepage;
 };
 
-struct _gst_riff_note {
+struct _gst_riff_note
+{
   guint32 id;
   guint32 size;
 
   guint32 identifier;
 };
 
-struct _gst_riff_cuepoints {
+struct _gst_riff_cuepoints
+{
   guint32 identifier;
   guint32 position;
   guint32 id;
@@ -387,19 +399,22 @@ struct _gst_riff_cuepoints {
   guint32 offset;
 };
 
-struct _gst_riff_cue {
+struct _gst_riff_cue
+{
   guint32 id;
   guint32 size;
 
-  guint32 cuepoints; /* Number of cue points held in the data */
+  guint32 cuepoints;           /* Number of cue points held in the data */
 };
 
-struct _gst_riff_chunk {  
+struct _gst_riff_chunk
+{
   guint32 id;
   guint32 size;
 };
 
-struct _gst_riff_index_entry {  
+struct _gst_riff_index_entry
+{
   guint32 id;
   guint32 flags;
 #define GST_RIFF_IF_LIST               (0x00000001L)
@@ -410,29 +425,31 @@ struct _gst_riff_index_entry {
   guint32 size;
 };
 
-struct _gst_riff_dmlh {
+struct _gst_riff_dmlh
+{
   guint32 totalframes;
 };
 
-typedef struct _gst_riff_riff          gst_riff_riff;
-typedef struct _gst_riff_list          gst_riff_list;
-typedef struct _gst_riff_chunk                 gst_riff_chunk;
-typedef struct _gst_riff_index_entry   gst_riff_index_entry;
-
-typedef struct _gst_riff_avih          gst_riff_avih;
-typedef struct _gst_riff_strh          gst_riff_strh;
-typedef struct _gst_riff_strf_vids     gst_riff_strf_vids;
-typedef struct _gst_riff_strf_auds     gst_riff_strf_auds;
-typedef struct _gst_riff_strf_iavs     gst_riff_strf_iavs;
-typedef struct _gst_riff_dmlh           gst_riff_dmlh;
-typedef struct _GstRiffChunk           GstRiffChunk;
-
-struct _GstRiffChunk {
+typedef struct _gst_riff_riff gst_riff_riff;
+typedef struct _gst_riff_list gst_riff_list;
+typedef struct _gst_riff_chunk gst_riff_chunk;
+typedef struct _gst_riff_index_entry gst_riff_index_entry;
+
+typedef struct _gst_riff_avih gst_riff_avih;
+typedef struct _gst_riff_strh gst_riff_strh;
+typedef struct _gst_riff_strf_vids gst_riff_strf_vids;
+typedef struct _gst_riff_strf_auds gst_riff_strf_auds;
+typedef struct _gst_riff_strf_iavs gst_riff_strf_iavs;
+typedef struct _gst_riff_dmlh gst_riff_dmlh;
+typedef struct _GstRiffChunk GstRiffChunk;
+
+struct _GstRiffChunk
+{
   gulong offset;
 
   guint32 id;
   guint32 size;
-  guint32 form; /* for list chunks */
+  guint32 form;                        /* for list chunks */
 
   gchar *data;
 };
index 4387eb0..ecbbd9b 100644 (file)
@@ -32,17 +32,17 @@ extern gchar *__gst_oss_plugin_dir;
 GST_DEBUG_CATEGORY (oss_debug);
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   if (!gst_library_load ("gstaudio"))
     return FALSE;
 
   if (!gst_element_register (plugin, "ossmixer", GST_RANK_PRIMARY,
-                            GST_TYPE_OSSELEMENT) ||
+         GST_TYPE_OSSELEMENT) ||
       !gst_element_register (plugin, "osssrc", GST_RANK_PRIMARY,
-                            GST_TYPE_OSSSRC) ||
+         GST_TYPE_OSSSRC) ||
       !gst_element_register (plugin, "osssink", GST_RANK_PRIMARY,
-                            GST_TYPE_OSSSINK)) {
+         GST_TYPE_OSSSINK)) {
     return FALSE;
   }
 
@@ -56,14 +56,8 @@ plugin_init (GstPlugin *plugin)
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "ossaudio",
-  "OSS (Open Sound System) support for GStreamer",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "ossaudio",
+    "OSS (Open Sound System) support for GStreamer",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 7dfac62..56dd20d 100644 (file)
@@ -39,7 +39,8 @@
 #include "gstosselement.h"
 #include "gstossmixer.h"
 
-enum {
+enum
+{
   ARG_0,
   ARG_DEVICE,
   ARG_MIXERDEV,
@@ -47,49 +48,45 @@ enum {
 };
 
 /* elementfactory information */
-static GstElementDetails gst_osselement_details = GST_ELEMENT_DETAILS (
-  "Audio Mixer (OSS)",
-  "Generic/Audio",
-  "OSS-based mixer element",
-  "Ronald Bultje <rbultje@ronald.bitfreak.net>"
-);
-
-static void                    gst_osselement_base_init        (GstOssElementClass *klass);
-static void                    gst_osselement_class_init       (GstOssElementClass *klass);
-
-static void                    gst_ossprobe_interface_init     (GstPropertyProbeInterface *iface);
-static void                    gst_osselement_init             (GstOssElement *oss);
-static void                    gst_osselement_dispose          (GObject *object);
-
-static void                    gst_osselement_set_property     (GObject *object,
-                                                                guint prop_id, 
-                                                                const GValue *value,
-                                                                GParamSpec *pspec);
-static void                    gst_osselement_get_property     (GObject *object,
-                                                                guint prop_id,
-                                                                GValue *value,
-                                                                GParamSpec *pspec);
-static GstElementStateReturn   gst_osselement_change_state     (GstElement *element);
+static GstElementDetails gst_osselement_details =
+GST_ELEMENT_DETAILS ("Audio Mixer (OSS)",
+    "Generic/Audio",
+    "OSS-based mixer element",
+    "Ronald Bultje <rbultje@ronald.bitfreak.net>");
+
+static void gst_osselement_base_init (GstOssElementClass * klass);
+static void gst_osselement_class_init (GstOssElementClass * klass);
+
+static void gst_ossprobe_interface_init (GstPropertyProbeInterface * iface);
+static void gst_osselement_init (GstOssElement * oss);
+static void gst_osselement_dispose (GObject * object);
+
+static void gst_osselement_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_osselement_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_osselement_change_state (GstElement * element);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_osssrc_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_osselement_get_type (void) 
+gst_osselement_get_type (void)
 {
   static GType osselement_type = 0;
 
   if (!osselement_type) {
     static const GTypeInfo osselement_info = {
-      sizeof(GstOssElementClass),
-      (GBaseInitFunc)gst_osselement_base_init,
+      sizeof (GstOssElementClass),
+      (GBaseInitFunc) gst_osselement_base_init,
       NULL,
-      (GClassInitFunc)gst_osselement_class_init,
+      (GClassInitFunc) gst_osselement_class_init,
       NULL,
       NULL,
-      sizeof(GstOssElement),
+      sizeof (GstOssElement),
       0,
-      (GInstanceInitFunc)gst_osselement_init
+      (GInstanceInitFunc) gst_osselement_init
     };
     static const GInterfaceInfo ossiface_info = {
       (GInterfaceInitFunc) gst_oss_interface_init,
@@ -108,24 +105,20 @@ gst_osselement_get_type (void)
     };
 
     osselement_type = g_type_register_static (GST_TYPE_ELEMENT,
-                                             "GstOssElement",
-                                             &osselement_info, 0);
+       "GstOssElement", &osselement_info, 0);
     g_type_add_interface_static (osselement_type,
-                                GST_TYPE_IMPLEMENTS_INTERFACE,
-                                &ossiface_info);
+       GST_TYPE_IMPLEMENTS_INTERFACE, &ossiface_info);
     g_type_add_interface_static (osselement_type,
-                                GST_TYPE_MIXER,
-                                &ossmixer_info);
+       GST_TYPE_MIXER, &ossmixer_info);
     g_type_add_interface_static (osselement_type,
-                                GST_TYPE_PROPERTY_PROBE,
-                                &ossprobe_info);
+       GST_TYPE_PROPERTY_PROBE, &ossprobe_info);
   }
 
   return osselement_type;
 }
 
 static void
-gst_osselement_base_init (GstOssElementClass *klass)
+gst_osselement_base_init (GstOssElementClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
 
@@ -135,36 +128,36 @@ gst_osselement_base_init (GstOssElementClass *klass)
 }
 
 static void
-gst_osselement_class_init (GstOssElementClass *klass) 
+gst_osselement_class_init (GstOssElementClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_ELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DEVICE,
-    g_param_spec_string ("device", "Device", "OSS device (/dev/dspN usually)",
-                         "default", G_PARAM_READWRITE));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MIXERDEV,
-    g_param_spec_string ("mixerdev", "Mixer device",
-                        "OSS mixer device (/dev/mixerN usually)",
-                         "default", G_PARAM_READWRITE));
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DEVICE_NAME,
-    g_param_spec_string ("device_name", "Device name", "Name of the device",
-                         NULL, G_PARAM_READABLE));
-  
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DEVICE,
+      g_param_spec_string ("device", "Device", "OSS device (/dev/dspN usually)",
+         "default", G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MIXERDEV,
+      g_param_spec_string ("mixerdev", "Mixer device",
+         "OSS mixer device (/dev/mixerN usually)",
+         "default", G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DEVICE_NAME,
+      g_param_spec_string ("device_name", "Device name", "Name of the device",
+         NULL, G_PARAM_READABLE));
+
   gobject_class->set_property = gst_osselement_set_property;
   gobject_class->get_property = gst_osselement_get_property;
-  gobject_class->dispose      = gst_osselement_dispose;
+  gobject_class->dispose = gst_osselement_dispose;
 
   gstelement_class->change_state = gst_osselement_change_state;
 }
 
 static const GList *
-gst_ossprobe_get_properties (GstPropertyProbe *probe)
+gst_ossprobe_get_properties (GstPropertyProbe * probe)
 {
   GObjectClass *klass = G_OBJECT_GET_CLASS (probe);
   static GList *list = NULL;
@@ -180,10 +173,8 @@ gst_ossprobe_get_properties (GstPropertyProbe *probe)
 #define MAX_OSS_DEVICES 16
 
 static void
-gst_osselement_probe (gchar  *device_base,
-                     gint    device_num,
-                     gchar **name,
-                     dev_t  *devno)
+gst_osselement_probe (gchar * device_base,
+    gint device_num, gchar ** name, dev_t * devno)
 {
   gchar *device = NULL;
   struct stat s;
@@ -208,22 +199,22 @@ gst_osselement_probe (gchar  *device_base,
 
   *name = device;
   *devno = s.st_rdev;
-  return; 
+  return;
 
 end:
   g_free (device);
 }
 
-static GList
-device_combination_append (GList *device_combinations,
-                          GstOssDeviceCombination *combi)
+static GList *
+device_combination_append (GList * device_combinations,
+    GstOssDeviceCombination * combi)
 {
   GList *it;
 
   for (it = device_combinations; it != NULL; it = it->next) {
     GstOssDeviceCombination *cur;
 
-    cur = (GstOssDeviceCombination*)it->data;
+    cur = (GstOssDeviceCombination *) it->data;
     if (cur->dev == combi->dev) {
       return device_combinations;
     }
@@ -233,8 +224,7 @@ device_combination_append (GList *device_combinations,
 }
 
 static gboolean
-gst_osselement_class_probe_devices (GstOssElementClass *klass,
-                                   gboolean            check)
+gst_osselement_class_probe_devices (GstOssElementClass * klass, gboolean check)
 {
   GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
   static gboolean init = FALSE;
@@ -249,6 +239,7 @@ gst_osselement_class_probe_devices (GstOssElementClass *klass,
   padtempllist = gst_element_class_get_pad_template_list (eklass);
   if (padtempllist != NULL) {
     GstPadTemplate *firstpadtempl = padtempllist->data;
+
     if (GST_PAD_TEMPLATE_DIRECTION (firstpadtempl) == GST_PAD_SINK) {
       openmode = O_WRONLY;
     }
@@ -258,9 +249,12 @@ gst_osselement_class_probe_devices (GstOssElementClass *klass,
   if (!init && !check) {
 #define MIXER 0
 #define DSP   1
-    gchar *dev_base[][2] = { {"/dev/mixer", "/dev/dsp"}, 
-                            {"/dev/sound/mixer", "/dev/sound/dsp"},
-                            {NULL, NULL}};
+    gchar *dev_base[][2] = { {"/dev/mixer", "/dev/dsp"}
+    ,
+    {"/dev/sound/mixer", "/dev/sound/dsp"}
+    ,
+    {NULL, NULL}
+    };
     gint n;
     gint base;
 
@@ -285,36 +279,36 @@ gst_osselement_class_probe_devices (GstOssElementClass *klass,
        dev_t dsp_dev;
        dev_t mixer_dev;
 
-        gst_osselement_probe (dev_base[base][DSP], n, &dsp, &dsp_dev);
+       gst_osselement_probe (dev_base[base][DSP], n, &dsp, &dsp_dev);
        if (dsp == NULL) {
          continue;
        }
        gst_osselement_probe (dev_base[base][MIXER], n, &mixer, &mixer_dev);
        /* does the device exist (can we open them)? */
-       
+
        /* we just check the dsp. we assume the mixer always works.
         * we don't need a mixer anyway (says OSS)... If we are a
         * mixer element, we use the mixer anyway. */
        if ((fd = open (mixer ? mixer :
-                       dsp, openmode | O_NONBLOCK)) > 0 || errno == EBUSY) {
+                   dsp, openmode | O_NONBLOCK)) > 0 || errno == EBUSY) {
          GstOssDeviceCombination *combi;
-         
+
          if (fd > 0)
            close (fd);
-         
+
          /* yay! \o/ */
          combi = g_new0 (GstOssDeviceCombination, 1);
-         combi->dsp   = dsp;
+         combi->dsp = dsp;
          combi->mixer = mixer;
          device_combinations = device_combination_append (device_combinations,
-                                                          combi);
+             combi);
        } else {
          g_free (dsp);
          g_free (mixer);
        }
       }
     }
-      
+
     init = TRUE;
   }
 
@@ -324,7 +318,7 @@ gst_osselement_class_probe_devices (GstOssElementClass *klass,
 }
 
 static GValueArray *
-gst_osselement_class_list_devices (GstOssElementClass *klass)
+gst_osselement_class_list_devices (GstOssElementClass * klass)
 {
   GValueArray *array;
   GValue value = { 0 };
@@ -350,9 +344,8 @@ gst_osselement_class_list_devices (GstOssElementClass *klass)
 }
 
 static void
-gst_ossprobe_probe_property (GstPropertyProbe *probe,
-                            guint             prop_id,
-                            const GParamSpec *pspec)
+gst_ossprobe_probe_property (GstPropertyProbe * probe,
+    guint prop_id, const GParamSpec * pspec)
 {
   GstOssElementClass *klass = GST_OSSELEMENT_GET_CLASS (probe);
 
@@ -367,9 +360,8 @@ gst_ossprobe_probe_property (GstPropertyProbe *probe,
 }
 
 static gboolean
-gst_ossprobe_needs_probe (GstPropertyProbe *probe,
-                         guint             prop_id,
-                         const GParamSpec *pspec)
+gst_ossprobe_needs_probe (GstPropertyProbe * probe,
+    guint prop_id, const GParamSpec * pspec)
 {
   GstOssElementClass *klass = GST_OSSELEMENT_GET_CLASS (probe);
   gboolean ret = FALSE;
@@ -387,9 +379,8 @@ gst_ossprobe_needs_probe (GstPropertyProbe *probe,
 }
 
 static GValueArray *
-gst_ossprobe_get_values (GstPropertyProbe *probe,
-                        guint             prop_id,
-                        const GParamSpec *pspec)
+gst_ossprobe_get_values (GstPropertyProbe * probe,
+    guint prop_id, const GParamSpec * pspec)
 {
   GstOssElementClass *klass = GST_OSSELEMENT_GET_CLASS (probe);
   GValueArray *array = NULL;
@@ -407,16 +398,16 @@ gst_ossprobe_get_values (GstPropertyProbe *probe,
 }
 
 static void
-gst_ossprobe_interface_init (GstPropertyProbeInterface *iface)
+gst_ossprobe_interface_init (GstPropertyProbeInterface * iface)
 {
   iface->get_properties = gst_ossprobe_get_properties;
   iface->probe_property = gst_ossprobe_probe_property;
-  iface->needs_probe    = gst_ossprobe_needs_probe;
-  iface->get_values     = gst_ossprobe_get_values;
+  iface->needs_probe = gst_ossprobe_needs_probe;
+  iface->get_values = gst_ossprobe_get_values;
 }
 
-static void 
-gst_osselement_init (GstOssElement *oss) 
+static void
+gst_osselement_init (GstOssElement * oss)
 {
   oss->device = g_strdup ("/dev/dsp");
   oss->mixer_dev = g_strdup ("/dev/mixer");
@@ -429,7 +420,7 @@ gst_osselement_init (GstOssElement *oss)
 }
 
 static void
-gst_osselement_dispose (GObject *object)
+gst_osselement_dispose (GObject * object)
 {
   GstOssElement *oss = (GstOssElement *) object;
 
@@ -439,8 +430,8 @@ gst_osselement_dispose (GObject *object)
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
-void 
-gst_osselement_reset (GstOssElement *oss) 
+void
+gst_osselement_reset (GstOssElement * oss)
 {
   oss->law = 0;
   oss->endianness = G_BYTE_ORDER;
@@ -457,14 +448,14 @@ gst_osselement_reset (GstOssElement *oss)
   oss->format = AFMT_S16_BE;
 #else
   oss->format = AFMT_S16_LE;
-#endif /* WORDS_BIGENDIAN */  
+#endif /* WORDS_BIGENDIAN */
 }
 
-static gboolean 
-gst_ossformat_get (gint law, gint endianness, gboolean sign, gint width, gint depth,
-                  gint *format, gint *bps) 
+static gboolean
+gst_ossformat_get (gint law, gint endianness, gboolean sign, gint width,
+    gint depth, gint * format, gint * bps)
 {
-  if (width != depth) 
+  if (width != depth)
     return FALSE;
 
   *bps = 1;
@@ -472,52 +463,39 @@ gst_ossformat_get (gint law, gint endianness, gboolean sign, gint width, gint de
   if (law == 0) {
     if (width == 16) {
       if (sign == TRUE) {
-        if (endianness == G_LITTLE_ENDIAN) {
+       if (endianness == G_LITTLE_ENDIAN) {
          *format = AFMT_S16_LE;
-         GST_DEBUG (
-                    "16 bit signed LE, no law (%d)", *format);
-       }
-        else if (endianness == G_BIG_ENDIAN) {
+         GST_DEBUG ("16 bit signed LE, no law (%d)", *format);
+       } else if (endianness == G_BIG_ENDIAN) {
          *format = AFMT_S16_BE;
-         GST_DEBUG (
-                    "16 bit signed BE, no law (%d)", *format);
+         GST_DEBUG ("16 bit signed BE, no law (%d)", *format);
        }
-      }
-      else {
-        if (endianness == G_LITTLE_ENDIAN) {
+      } else {
+       if (endianness == G_LITTLE_ENDIAN) {
          *format = AFMT_U16_LE;
-         GST_DEBUG (
-                    "16 bit unsigned LE, no law (%d)", *format);
-       }
-        else if (endianness == G_BIG_ENDIAN) {
+         GST_DEBUG ("16 bit unsigned LE, no law (%d)", *format);
+       } else if (endianness == G_BIG_ENDIAN) {
          *format = AFMT_U16_BE;
-         GST_DEBUG (
-                    "16 bit unsigned BE, no law (%d)", *format);
+         GST_DEBUG ("16 bit unsigned BE, no law (%d)", *format);
        }
       }
       *bps = 2;
-    }
-    else if (width == 8) {
+    } else if (width == 8) {
       if (sign == TRUE) {
        *format = AFMT_S8;
-       GST_DEBUG (
-                  "8 bit signed, no law (%d)", *format);
-      }
-      else {
-        *format = AFMT_U8;
-       GST_DEBUG (
-                  "8 bit unsigned, no law (%d)", *format);
+       GST_DEBUG ("8 bit signed, no law (%d)", *format);
+      } else {
+       *format = AFMT_U8;
+       GST_DEBUG ("8 bit unsigned, no law (%d)", *format);
       }
       *bps = 1;
     }
   } else if (law == 1) {
     *format = AFMT_MU_LAW;
-    GST_DEBUG (
-              "mu law (%d)", *format);
+    GST_DEBUG ("mu law (%d)", *format);
   } else if (law == 2) {
     *format = AFMT_A_LAW;
-    GST_DEBUG (
-              "a law (%d)", *format);
+    GST_DEBUG ("a law (%d)", *format);
   } else {
     g_critical ("unknown law");
     return FALSE;
@@ -526,34 +504,33 @@ gst_ossformat_get (gint law, gint endianness, gboolean sign, gint width, gint de
   return TRUE;
 }
 
-gboolean 
-gst_osselement_parse_caps (GstOssElement *oss, const GstCaps *caps) 
+gboolean
+gst_osselement_parse_caps (GstOssElement * oss, const GstCaps * caps)
 {
   gint bps, format;
   GstStructure *structure;
 
   structure = gst_caps_get_structure (caps, 0);
 
-  gst_structure_get_int  (structure, "width", &oss->width);
-  gst_structure_get_int  (structure, "depth", &oss->depth);
-               
-  if (oss->width != oss->depth) 
+  gst_structure_get_int (structure, "width", &oss->width);
+  gst_structure_get_int (structure, "depth", &oss->depth);
+
+  if (oss->width != oss->depth)
+    return FALSE;
+
+  gst_structure_get_int (structure, "law", &oss->law);
+  gst_structure_get_int (structure, "endianness", &oss->endianness);
+  gst_structure_get_boolean (structure, "signed", &oss->sign);
+
+  if (!gst_ossformat_get (oss->law, oss->endianness, oss->sign,
+         oss->width, oss->depth, &format, &bps)) {
+    GST_DEBUG ("could not get format");
     return FALSE;
-                 
-  gst_structure_get_int  (structure, "law", &oss->law); 
-  gst_structure_get_int  (structure, "endianness", &oss->endianness);
-  gst_structure_get_boolean  (structure, "signed", &oss->sign);
-                           
-  if (!gst_ossformat_get (oss->law, oss->endianness, oss->sign, 
-                          oss->width, oss->depth, &format, &bps))
-  { 
-     GST_DEBUG ("could not get format");
-     return FALSE;
   }
 
-  gst_structure_get_int  (structure, "channels", &oss->channels);
-  gst_structure_get_int  (structure, "rate", &oss->rate);
-                             
+  gst_structure_get_int (structure, "channels", &oss->channels);
+  gst_structure_get_int (structure, "rate", &oss->rate);
+
   oss->bps = bps * oss->channels * oss->rate;
   oss->format = format;
 
@@ -571,38 +548,37 @@ G_STMT_START {                                  \
     gst_structure_get_boolean  (structure, name, dest);    \
 } G_STMT_END
 
-gboolean 
-gst_osselement_merge_fixed_caps (GstOssElement *oss, GstCaps *caps) 
+gboolean
+gst_osselement_merge_fixed_caps (GstOssElement * oss, GstCaps * caps)
 {
   gint bps, format;
   GstStructure *structure;
 
   structure = gst_caps_get_structure (caps, 0);
-  
+
   /* peel off fixed stuff from the caps */
-  gst_structure_get_int (structure, "law",        &oss->law);
+  gst_structure_get_int (structure, "law", &oss->law);
   gst_structure_get_int (structure, "endianness", &oss->endianness);
-  gst_structure_get_boolean (structure, "signed",     &oss->sign);
-  gst_structure_get_int (structure, "width",      &oss->width);
-  gst_structure_get_int (structure, "depth",      &oss->depth);
-
-  if (!gst_ossformat_get (oss->law, oss->endianness, oss->sign, 
-                          oss->width, oss->depth, &format, &bps))
-  { 
-     return FALSE;
+  gst_structure_get_boolean (structure, "signed", &oss->sign);
+  gst_structure_get_int (structure, "width", &oss->width);
+  gst_structure_get_int (structure, "depth", &oss->depth);
+
+  if (!gst_ossformat_get (oss->law, oss->endianness, oss->sign,
+         oss->width, oss->depth, &format, &bps)) {
+    return FALSE;
   }
 
-  gst_structure_get_int (structure, "rate",       &oss->rate);
-  gst_structure_get_int (structure, "channels",   &oss->channels);
-                             
+  gst_structure_get_int (structure, "rate", &oss->rate);
+  gst_structure_get_int (structure, "channels", &oss->channels);
+
   oss->bps = bps * oss->channels * oss->rate;
   oss->format = format;
-                                         
+
   return TRUE;
 }
 
-gboolean 
-gst_osselement_sync_parms (GstOssElement *oss) 
+gboolean
+gst_osselement_sync_parms (GstOssElement * oss)
 {
   audio_buf_info space;
   int frag;
@@ -613,33 +589,32 @@ gst_osselement_sync_parms (GstOssElement *oss)
 
   if (oss->fd == -1)
     return FALSE;
-  
+
   if (oss->fragment >> 16)
     frag = oss->fragment;
   else
     frag = 0x7FFF0000 | oss->fragment;
-  
-  GST_INFO ("osselement: setting sound card to %dHz %d format %s (%08x fragment)",
-            oss->rate, oss->format,
-            (oss->channels == 2) ? "stereo" : "mono", frag);
+
+  GST_INFO
+      ("osselement: setting sound card to %dHz %d format %s (%08x fragment)",
+      oss->rate, oss->format, (oss->channels == 2) ? "stereo" : "mono", frag);
 
   ioctl (oss->fd, SNDCTL_DSP_SETFRAGMENT, &frag);
   ioctl (oss->fd, SNDCTL_DSP_RESET, 0);
 
-  target_format   = oss->format;
+  target_format = oss->format;
   target_channels = oss->channels;
-  target_rate     = oss->rate;
+  target_rate = oss->rate;
 
-  ioctl (oss->fd, SNDCTL_DSP_SETFMT,   &oss->format);
+  ioctl (oss->fd, SNDCTL_DSP_SETFMT, &oss->format);
   ioctl (oss->fd, SNDCTL_DSP_CHANNELS, &oss->channels);
-  ioctl (oss->fd, SNDCTL_DSP_SPEED,    &oss->rate);
+  ioctl (oss->fd, SNDCTL_DSP_SPEED, &oss->rate);
 
   ioctl (oss->fd, SNDCTL_DSP_GETBLKSIZE, &oss->fragment_size);
 
   if (oss->mode == GST_OSSELEMENT_WRITE) {
     ioctl (oss->fd, SNDCTL_DSP_GETOSPACE, &space);
-  }
-  else {
+  } else {
     ioctl (oss->fd, SNDCTL_DSP_GETISPACE, &space);
   }
 
@@ -651,25 +626,26 @@ gst_osselement_sync_parms (GstOssElement *oss)
     frag_ln++;
   }
   oss->fragment = space.fragstotal << 16 | frag_ln;
-         
+
   GST_INFO ("osselement: set sound card to %dHz, %d format, %s "
-           "(%d bytes buffer, %08x fragment)",
-            oss->rate, oss->format,
-            (oss->channels == 2) ? "stereo" : "mono", 
-           space.bytes, oss->fragment);
+      "(%d bytes buffer, %08x fragment)",
+      oss->rate, oss->format,
+      (oss->channels == 2) ? "stereo" : "mono", space.bytes, oss->fragment);
 
   oss->fragment_time = (GST_SECOND * oss->fragment_size) / oss->bps;
-  GST_INFO ("fragment time %u %" G_GUINT64_FORMAT "\n", 
-            oss->bps, oss->fragment_time);
+  GST_INFO ("fragment time %u %" G_GUINT64_FORMAT "\n",
+      oss->bps, oss->fragment_time);
 
-  if (target_format   != oss->format   ||
-      target_channels != oss->channels ||
-      target_rate     != oss->rate) 
-  {
+  if (target_format != oss->format ||
+      target_channels != oss->channels || target_rate != oss->rate) {
     if (target_channels != oss->channels)
-      g_warning ("couldn't set the right number of channels (wanted %d, got %d), enjoy the tone difference", target_channels, oss->channels);
+      g_warning
+         ("couldn't set the right number of channels (wanted %d, got %d), enjoy the tone difference",
+         target_channels, oss->channels);
     if (target_rate != oss->rate)
-      g_warning ("couldn't set the right sample rate (wanted %d, got %d), enjoy the speed difference", target_rate, oss->rate);
+      g_warning
+         ("couldn't set the right sample rate (wanted %d, got %d), enjoy the speed difference",
+         target_rate, oss->rate);
     if (target_format != oss->format)
       g_warning ("couldn't set requested OSS format, enjoy the noise :)");
     /* we could eventually return FALSE here, or just do some additional tests
@@ -679,7 +655,7 @@ gst_osselement_sync_parms (GstOssElement *oss)
 }
 
 static gboolean
-gst_osselement_open_audio (GstOssElement *oss)
+gst_osselement_open_audio (GstOssElement * oss)
 {
   gint caps;
   GstOssOpenMode mode = GST_OSSELEMENT_READ;
@@ -693,6 +669,7 @@ gst_osselement_open_audio (GstOssElement *oss)
   padlist = gst_element_get_pad_list (GST_ELEMENT (oss));
   if (padlist != NULL) {
     GstPad *firstpad = padlist->data;
+
     if (GST_PAD_IS_SINK (firstpad)) {
       mode = GST_OSSELEMENT_WRITE;
     }
@@ -708,12 +685,11 @@ gst_osselement_open_audio (GstOssElement *oss)
 
     if (oss->fd >= 0) {
       close (oss->fd);
-                         
+
       /* re-open the sound device in blocking mode */
       oss->fd = open (oss->device, O_WRONLY);
     }
-  }
-  else {
+  } else {
     oss->fd = open (oss->device, O_RDONLY);
   }
 
@@ -721,37 +697,37 @@ gst_osselement_open_audio (GstOssElement *oss)
     switch (errno) {
       case EBUSY:
        GST_ELEMENT_ERROR (oss, RESOURCE, BUSY,
-                           (_("OSS device \"%s\" is already in use by another program."), oss->device),
-                           (NULL));
+           (_("OSS device \"%s\" is already in use by another program."),
+               oss->device), (NULL));
        break;
       case EACCES:
       case ETXTBSY:
-        if (mode == GST_OSSELEMENT_WRITE)
+       if (mode == GST_OSSELEMENT_WRITE)
          GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE,
-                            (_("Could not access device \"%s\", check its permissions."), oss->device),
-                             GST_ERROR_SYSTEM);
-        else
+             (_("Could not access device \"%s\", check its permissions."),
+                 oss->device), GST_ERROR_SYSTEM);
+       else
          GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_READ,
-                            (_("Could not access device \"%s\", check its permissions."), oss->device),
-                             GST_ERROR_SYSTEM);
+             (_("Could not access device \"%s\", check its permissions."),
+                 oss->device), GST_ERROR_SYSTEM);
        break;
       case ENXIO:
       case ENODEV:
       case ENOENT:
        GST_ELEMENT_ERROR (oss, RESOURCE, NOT_FOUND,
-                          (_("Device \"%s\" does not exist."), oss->device),
-                           GST_ERROR_SYSTEM);
+           (_("Device \"%s\" does not exist."), oss->device),
+           GST_ERROR_SYSTEM);
        break;
       default:
        /* FIXME: strerror is not threadsafe */
-        if (mode == GST_OSSELEMENT_WRITE)
+       if (mode == GST_OSSELEMENT_WRITE)
          GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE,
-                            (_("Could not open device \"%s\" for writing."), oss->device),
-                             GST_ERROR_SYSTEM);
-        else
+             (_("Could not open device \"%s\" for writing."), oss->device),
+             GST_ERROR_SYSTEM);
+       else
          GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_READ,
-                            (_("Could not open device \"%s\" for reading."), oss->device),
-                             GST_ERROR_SYSTEM);
+             (_("Could not open device \"%s\" for reading."), oss->device),
+             GST_ERROR_SYSTEM);
        break;
     }
     return FALSE;
@@ -765,40 +741,58 @@ gst_osselement_open_audio (GstOssElement *oss)
 
   GST_INFO ("osselement: Capabilities %08x", caps);
 
-  if (caps & DSP_CAP_DUPLEX)   GST_INFO ( "osselement:   Full duplex");
-  if (caps & DSP_CAP_REALTIME)         GST_INFO ( "osselement:   Realtime");
-  if (caps & DSP_CAP_BATCH)            GST_INFO ( "osselement:   Batch");
-  if (caps & DSP_CAP_COPROC)           GST_INFO ( "osselement:   Has coprocessor");
-  if (caps & DSP_CAP_TRIGGER)          GST_INFO ( "osselement:   Trigger");
-  if (caps & DSP_CAP_MMAP)             GST_INFO ( "osselement:   Direct access");
+  if (caps & DSP_CAP_DUPLEX)
+    GST_INFO ("osselement:   Full duplex");
+  if (caps & DSP_CAP_REALTIME)
+    GST_INFO ("osselement:   Realtime");
+  if (caps & DSP_CAP_BATCH)
+    GST_INFO ("osselement:   Batch");
+  if (caps & DSP_CAP_COPROC)
+    GST_INFO ("osselement:   Has coprocessor");
+  if (caps & DSP_CAP_TRIGGER)
+    GST_INFO ("osselement:   Trigger");
+  if (caps & DSP_CAP_MMAP)
+    GST_INFO ("osselement:   Direct access");
 
 #ifdef DSP_CAP_MULTI
-  if (caps & DSP_CAP_MULTI)            GST_INFO ( "osselement:   Multiple open");
+  if (caps & DSP_CAP_MULTI)
+    GST_INFO ("osselement:   Multiple open");
 #endif /* DSP_CAP_MULTI */
 
 #ifdef DSP_CAP_BIND
-  if (caps & DSP_CAP_BIND)             GST_INFO ( "osselement:   Channel binding");
+  if (caps & DSP_CAP_BIND)
+    GST_INFO ("osselement:   Channel binding");
 #endif /* DSP_CAP_BIND */
 
-  ioctl(oss->fd, SNDCTL_DSP_GETFMTS, &caps);
-
-  GST_INFO ( "osselement: Formats %08x", caps);
-  if (caps & AFMT_MU_LAW)      GST_INFO ( "osselement:   MU_LAW");
-  if (caps & AFMT_A_LAW)       GST_INFO ( "osselement:   A_LAW");
-  if (caps & AFMT_IMA_ADPCM)           GST_INFO ( "osselement:   IMA_ADPCM");
-  if (caps & AFMT_U8)          GST_INFO ( "osselement:   U8");
-  if (caps & AFMT_S16_LE)      GST_INFO ( "osselement:   S16_LE");
-  if (caps & AFMT_S16_BE)      GST_INFO ( "osselement:   S16_BE");
-  if (caps & AFMT_S8)          GST_INFO ( "osselement:   S8");
-  if (caps & AFMT_U16_LE)       GST_INFO ( "osselement:   U16_LE");
-  if (caps & AFMT_U16_BE)      GST_INFO ( "osselement:   U16_BE");
-  if (caps & AFMT_MPEG)        GST_INFO ( "osselement:   MPEG");
+  ioctl (oss->fd, SNDCTL_DSP_GETFMTS, &caps);
+
+  GST_INFO ("osselement: Formats %08x", caps);
+  if (caps & AFMT_MU_LAW)
+    GST_INFO ("osselement:   MU_LAW");
+  if (caps & AFMT_A_LAW)
+    GST_INFO ("osselement:   A_LAW");
+  if (caps & AFMT_IMA_ADPCM)
+    GST_INFO ("osselement:   IMA_ADPCM");
+  if (caps & AFMT_U8)
+    GST_INFO ("osselement:   U8");
+  if (caps & AFMT_S16_LE)
+    GST_INFO ("osselement:   S16_LE");
+  if (caps & AFMT_S16_BE)
+    GST_INFO ("osselement:   S16_BE");
+  if (caps & AFMT_S8)
+    GST_INFO ("osselement:   S8");
+  if (caps & AFMT_U16_LE)
+    GST_INFO ("osselement:   U16_LE");
+  if (caps & AFMT_U16_BE)
+    GST_INFO ("osselement:   U16_BE");
+  if (caps & AFMT_MPEG)
+    GST_INFO ("osselement:   MPEG");
 #ifdef AFMT_AC3
-  if (caps & AFMT_AC3)         GST_INFO ( "osselement:   AC3");
+  if (caps & AFMT_AC3)
+    GST_INFO ("osselement:   AC3");
 #endif
 
-  GST_INFO ("osselement: opened audio (%s) with fd=%d",
-           oss->device, oss->fd);
+  GST_INFO ("osselement: opened audio (%s) with fd=%d", oss->device, oss->fd);
 
   oss->caps = caps;
 
@@ -809,23 +803,21 @@ do_mixer:
 }
 
 static void
-gst_osselement_close_audio (GstOssElement *oss)
+gst_osselement_close_audio (GstOssElement * oss)
 {
   gst_ossmixer_free_list (oss);
 
-  if (oss->fd < 0) 
+  if (oss->fd < 0)
     return;
 
-  close(oss->fd);
+  close (oss->fd);
   oss->fd = -1;
 }
 
 gboolean
-gst_osselement_convert (GstOssElement *oss,
-                       GstFormat      src_format,
-                       gint64         src_value,
-                       GstFormat     *dest_format,
-                       gint64        *dest_value)
+gst_osselement_convert (GstOssElement * oss,
+    GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
 {
   gboolean res = TRUE;
 
@@ -840,38 +832,38 @@ gst_osselement_convert (GstOssElement *oss,
   switch (src_format) {
     case GST_FORMAT_BYTES:
       switch (*dest_format) {
-        case GST_FORMAT_TIME:
+       case GST_FORMAT_TIME:
          *dest_value = src_value * GST_SECOND / oss->bps;
-          break;
-        case GST_FORMAT_DEFAULT:
+         break;
+       case GST_FORMAT_DEFAULT:
          *dest_value = src_value / (oss->width * oss->channels / 8);
-          break;
-        default:
-          res = FALSE;
+         break;
+       default:
+         res = FALSE;
       }
       break;
     case GST_FORMAT_TIME:
       switch (*dest_format) {
-        case GST_FORMAT_BYTES:
+       case GST_FORMAT_BYTES:
          *dest_value = src_value * oss->bps / GST_SECOND;
-          break;
-        case GST_FORMAT_DEFAULT:
+         break;
+       case GST_FORMAT_DEFAULT:
          *dest_value = src_value * oss->rate / GST_SECOND;
-          break;
-        default:
-          res = FALSE;
+         break;
+       default:
+         res = FALSE;
       }
       break;
     case GST_FORMAT_DEFAULT:
       switch (*dest_format) {
-        case GST_FORMAT_TIME:
+       case GST_FORMAT_TIME:
          *dest_value = src_value * GST_SECOND / oss->rate;
-          break;
-        case GST_FORMAT_BYTES:
+         break;
+       case GST_FORMAT_BYTES:
          *dest_value = src_value * oss->width * oss->channels / 8;
-          break;
-        default:
-          res = FALSE;
+         break;
+       default:
+         res = FALSE;
       }
       break;
     default:
@@ -881,11 +873,9 @@ gst_osselement_convert (GstOssElement *oss,
   return res;
 }
 
-static void 
-gst_osselement_set_property (GObject *object,
-                            guint prop_id,
-                            const GValue *value,
-                            GParamSpec *pspec) 
+static void
+gst_osselement_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
 {
   GstOssElement *oss = GST_OSSELEMENT (object);
 
@@ -894,34 +884,34 @@ gst_osselement_set_property (GObject *object,
       /* disallow changing the device while it is opened
          get_property("device") should return the right one */
       if (gst_element_get_state (GST_ELEMENT (oss)) == GST_STATE_NULL) {
-        g_free (oss->device);
-        oss->device = g_strdup (g_value_get_string (value));
+       g_free (oss->device);
+       oss->device = g_strdup (g_value_get_string (value));
 
-        /* let's assume that if we have a device map for the mixer,
+       /* let's assume that if we have a device map for the mixer,
         * we're allowed to do all that automagically here */
-        if (GST_OSSELEMENT_GET_CLASS (oss)->device_combinations != NULL) {
-          GList *list = GST_OSSELEMENT_GET_CLASS (oss)->device_combinations;
+       if (GST_OSSELEMENT_GET_CLASS (oss)->device_combinations != NULL) {
+         GList *list = GST_OSSELEMENT_GET_CLASS (oss)->device_combinations;
 
-          while (list) {
-            GstOssDeviceCombination *combi = list->data;
+         while (list) {
+           GstOssDeviceCombination *combi = list->data;
 
-            if (!strcmp (combi->dsp, oss->device)) {
-              g_free (oss->mixer_dev);
-              oss->mixer_dev = g_strdup (combi->mixer);
-              break;
-            }
+           if (!strcmp (combi->dsp, oss->device)) {
+             g_free (oss->mixer_dev);
+             oss->mixer_dev = g_strdup (combi->mixer);
+             break;
+           }
 
-            list = list->next;
-          }
-        }
+           list = list->next;
+         }
+       }
       }
       break;
     case ARG_MIXERDEV:
       /* disallow changing the device while it is opened
          get_property("mixerdev") should return the right one */
       if (gst_element_get_state (GST_ELEMENT (oss)) == GST_STATE_NULL) {
-        g_free (oss->mixer_dev);
-        oss->mixer_dev = g_strdup (g_value_get_string (value));
+       g_free (oss->mixer_dev);
+       oss->mixer_dev = g_strdup (g_value_get_string (value));
       }
       break;
     default:
@@ -929,11 +919,9 @@ gst_osselement_set_property (GObject *object,
   }
 }
 
-static void 
-gst_osselement_get_property (GObject *object,
-                            guint prop_id,
-                            GValue *value,
-                            GParamSpec *pspec) 
+static void
+gst_osselement_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
   GstOssElement *oss = GST_OSSELEMENT (object);
 
@@ -953,15 +941,15 @@ gst_osselement_get_property (GObject *object,
   }
 }
 
-static GstElementStateReturn 
-gst_osselement_change_state (GstElement *element) 
+static GstElementStateReturn
+gst_osselement_change_state (GstElement * element)
 {
   GstOssElement *oss = GST_OSSELEMENT (element);
 
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
       if (!gst_osselement_open_audio (oss)) {
-        return GST_STATE_FAILURE;
+       return GST_STATE_FAILURE;
       }
       GST_INFO ("osselement: opened sound device");
       break;
@@ -973,7 +961,7 @@ gst_osselement_change_state (GstElement *element)
     default:
       break;
   }
-      
+
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
     return GST_ELEMENT_CLASS (parent_class)->change_state (element);
 
index 3ce84a2..1b73ec4 100644 (file)
@@ -30,7 +30,6 @@ GST_DEBUG_CATEGORY_EXTERN (oss_debug);
 #define GST_CAT_DEFAULT oss_debug
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_OSSELEMENT \
   (gst_osselement_get_type())
 #define GST_OSSELEMENT(obj) \
@@ -43,16 +42,17 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_OSSELEMENT))
 #define GST_OSSELEMENT_GET_CLASS(obj) \
   (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_OSSELEMENT, GstOssElementClass))
-
 typedef struct _GstOssElement GstOssElement;
 typedef struct _GstOssElementClass GstOssElementClass;
 
-typedef enum {
+typedef enum
+{
   GST_OSSELEMENT_READ,
   GST_OSSELEMENT_WRITE,
 } GstOssOpenMode;
 
-typedef struct _GstOssDeviceCombination {
+typedef struct _GstOssDeviceCombination
+{
   gchar *dsp, *mixer;
   dev_t dev;
 } GstOssDeviceCombination;
@@ -60,65 +60,57 @@ typedef struct _GstOssDeviceCombination {
 struct _GstOssElement
 {
   /* yes, we're a gstelement too */
-  GstElement     parent;
+  GstElement parent;
 
-  gchar                *device,
-               *mixer_dev;
+  gchar *device, *mixer_dev;
 
   /* device state */
-  int           fd;
-  int           caps; /* the capabilities */
-  gint          format;
-  gint          fragment;
-  guint64       fragment_time;
-  gint          fragment_size;
+  int fd;
+  int caps;                    /* the capabilities */
+  gint format;
+  gint fragment;
+  guint64 fragment_time;
+  gint fragment_size;
   GstOssOpenMode mode;
 
   /* stats bytes per *second* */
-  guint                 bps;
+  guint bps;
 
   /* parameters */
-  gint                  law;
-  gint                  endianness;
-  gboolean      sign;
-  gint          width;
-  gint          depth;
-  gint          channels;
-  gint          rate;
+  gint law;
+  gint endianness;
+  gboolean sign;
+  gint width;
+  gint depth;
+  gint channels;
+  gint rate;
 
   /* mixer stuff */
-  GList                *tracklist;
-  guint32       stereomask,
-                recdevs,
-                recmask,
-                mixcaps;
-  gint          mixer_fd;
-  gchar                *device_name;
+  GList *tracklist;
+  guint32 stereomask, recdevs, recmask, mixcaps;
+  gint mixer_fd;
+  gchar *device_name;
 };
 
-struct _GstOssElementClass {
+struct _GstOssElementClass
+{
   GstElementClass klass;
 
-  GList                *device_combinations;
+  GList *device_combinations;
 };
 
-GType          gst_osselement_get_type         (void);
+GType gst_osselement_get_type (void);
 
 /* some useful functions */
-gboolean       gst_osselement_parse_caps       (GstOssElement *oss,
-                                                const GstCaps      *caps);
-gboolean       gst_osselement_merge_fixed_caps (GstOssElement *oss,
-                                                GstCaps      *caps);
-       
-gboolean       gst_osselement_sync_parms       (GstOssElement *oss);
-void           gst_osselement_reset            (GstOssElement *oss);
-
-gboolean       gst_osselement_convert          (GstOssElement *oss, 
-                                                GstFormat      src_format,
-                                                gint64         src_value,
-                                                GstFormat     *dest_format,
-                                                gint64        *dest_value);
+gboolean gst_osselement_parse_caps (GstOssElement * oss, const GstCaps * caps);
+gboolean gst_osselement_merge_fixed_caps (GstOssElement * oss, GstCaps * caps);
 
-G_END_DECLS
+gboolean gst_osselement_sync_parms (GstOssElement * oss);
+void gst_osselement_reset (GstOssElement * oss);
 
+gboolean gst_osselement_convert (GstOssElement * oss,
+    GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value);
+
+G_END_DECLS
 #endif /* __GST_OSS_ELEMENT_H__ */
index 6bc89cc..a9e7222 100644 (file)
 #define MASK_BIT_IS_SET(mask, bit) \
   (mask & (1 << bit))
 
-static void    gst_ossmixer_track_class_init (GstOssMixerTrackClass *klass);
-static void    gst_ossmixer_track_init    (GstOssMixerTrack *track);
+static void gst_ossmixer_track_class_init (GstOssMixerTrackClass * klass);
+static void gst_ossmixer_track_init (GstOssMixerTrack * track);
 
-static gboolean        gst_ossmixer_supported     (GstImplementsInterface *iface,
-                                           GType           iface_type);
-static const GList *
-               gst_ossmixer_list_tracks   (GstMixer       *ossmixer);
-
-static void    gst_ossmixer_set_volume    (GstMixer       *ossmixer,
-                                           GstMixerTrack  *track,
-                                           gint           *volumes);
-static void    gst_ossmixer_get_volume    (GstMixer       *ossmixer,
-                                           GstMixerTrack  *track,
-                                           gint           *volumes);
-
-static void    gst_ossmixer_set_record    (GstMixer       *ossmixer,
-                                           GstMixerTrack  *track,
-                                           gboolean        record);
-static void    gst_ossmixer_set_mute      (GstMixer       *ossmixer,
-                                           GstMixerTrack  *track,
-                                           gboolean        mute);
+static gboolean gst_ossmixer_supported (GstImplementsInterface * iface,
+    GType iface_type);
+static const GList *gst_ossmixer_list_tracks (GstMixer * ossmixer);
+
+static void gst_ossmixer_set_volume (GstMixer * ossmixer,
+    GstMixerTrack * track, gint * volumes);
+static void gst_ossmixer_get_volume (GstMixer * ossmixer,
+    GstMixerTrack * track, gint * volumes);
+
+static void gst_ossmixer_set_record (GstMixer * ossmixer,
+    GstMixerTrack * track, gboolean record);
+static void gst_ossmixer_set_mute (GstMixer * ossmixer,
+    GstMixerTrack * track, gboolean mute);
 
 static const gchar **labels = NULL;
 static GstMixerTrackClass *parent_class = NULL;
@@ -76,39 +71,41 @@ fill_labels (void)
 {
   gint i, pos;
   gchar *origs[SOUND_MIXER_NRDEVICES] = SOUND_DEVICE_LABELS;
-  struct {
+  struct
+  {
     gchar *given, *wanted;
   } cases[] = {
     /* Note: this list is simply ripped from soundcard.h. For
      * some people, some values might be missing (3D surround,
      * etc.) - feel free to add them. That's the reason why
      * I'm doing this in such a horribly complicated way. */
-    { "Vol  ",    _("Volume")     },
-    { "Bass ",    _("Bass")       },
-    { "Trebl",    _("Treble")     },
-    { "Synth",    _("Synth")      },
-    { "Pcm  ",    _("PCM")        },
-    { "Spkr ",    _("Speaker")    },
-    { "Line ",    _("Line-in")    },
-    { "Mic  ",    _("Microphone") },
-    { "CD   ",    _("CD")         },
-    { "Mix  ",    _("Mixer")      },
-    { "Pcm2 ",    _("PCM-2")      },
-    { "Rec  ",    _("Record")     },
-    { "IGain",    _("In-gain")    },
-    { "OGain",    _("Out-gain")   },
-    { "Line1",    _("Line-1")     },
-    { "Line2",    _("Line-2")     },
-    { "Line3",    _("Line-3")     },
-    { "Digital1", _("Digital-1")  },
-    { "Digital2", _("Digital-2")  },
-    { "Digital3", _("Digital-3")  },
-    { "PhoneIn",  _("Phone-in")   },
-    { "PhoneOut", _("Phone-out")  },
-    { "Video",    _("Video")      },
-    { "Radio",    _("Radio")      },
-    { "Monitor",  _("Monitor")    },
-    { NULL, NULL }
+    {
+    "Vol  ", _("Volume")}, {
+    "Bass ", _("Bass")}, {
+    "Trebl", _("Treble")}, {
+    "Synth", _("Synth")}, {
+    "Pcm  ", _("PCM")}, {
+    "Spkr ", _("Speaker")}, {
+    "Line ", _("Line-in")}, {
+    "Mic  ", _("Microphone")}, {
+    "CD   ", _("CD")}, {
+    "Mix  ", _("Mixer")}, {
+    "Pcm2 ", _("PCM-2")}, {
+    "Rec  ", _("Record")}, {
+    "IGain", _("In-gain")}, {
+    "OGain", _("Out-gain")}, {
+    "Line1", _("Line-1")}, {
+    "Line2", _("Line-2")}, {
+    "Line3", _("Line-3")}, {
+    "Digital1", _("Digital-1")}, {
+    "Digital2", _("Digital-2")}, {
+    "Digital3", _("Digital-3")}, {
+    "PhoneIn", _("Phone-in")}, {
+    "PhoneOut", _("Phone-out")}, {
+    "Video", _("Video")}, {
+    "Radio", _("Radio")}, {
+    "Monitor", _("Monitor")}, {
+    NULL, NULL}
   };
 
   labels = g_malloc (sizeof (gchar *) * SOUND_MIXER_NRDEVICES);
@@ -116,8 +113,8 @@ fill_labels (void)
   for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
     for (pos = 0; cases[pos].given != NULL; pos++) {
       if (!strcmp (cases[pos].given, origs[i])) {
-        labels[i] = g_strdup (cases[pos].wanted);
-        break;
+       labels[i] = g_strdup (cases[pos].wanted);
+       break;
       }
     }
     if (cases[pos].given == NULL)
@@ -146,31 +143,28 @@ gst_ossmixer_track_get_type (void)
 
     gst_ossmixer_track_type =
        g_type_register_static (GST_TYPE_MIXER_TRACK,
-                               "GstOssMixerTrack",
-                               &ossmixer_track_info, 0);
+       "GstOssMixerTrack", &ossmixer_track_info, 0);
   }
 
   return gst_ossmixer_track_type;
 }
 
 static void
-gst_ossmixer_track_class_init (GstOssMixerTrackClass *klass)
+gst_ossmixer_track_class_init (GstOssMixerTrackClass * klass)
 {
   parent_class = g_type_class_ref (GST_TYPE_MIXER_TRACK);
 }
 
 static void
-gst_ossmixer_track_init (GstOssMixerTrack *track)
+gst_ossmixer_track_init (GstOssMixerTrack * track)
 {
   track->lvol = track->rvol = 0;
   track->track_num = 0;
 }
 
 GstMixerTrack *
-gst_ossmixer_track_new (GstOssElement *oss,
-                        gint track_num,
-                        gint max_chans,
-                        gint flags)
+gst_ossmixer_track_new (GstOssElement * oss,
+    gint track_num, gint max_chans, gint flags)
 {
   GstOssMixerTrack *osstrack;
   GstMixerTrack *track;
@@ -189,9 +183,9 @@ gst_ossmixer_track_new (GstOssElement *oss,
   osstrack->track_num = track_num;
 
   /* volume */
-  if (ioctl(oss->mixer_fd, MIXER_READ (osstrack->track_num), &volume) < 0) {
-    g_warning("Error getting device (%d) volume: %s",
-             osstrack->track_num, strerror(errno));
+  if (ioctl (oss->mixer_fd, MIXER_READ (osstrack->track_num), &volume) < 0) {
+    g_warning ("Error getting device (%d) volume: %s",
+       osstrack->track_num, strerror (errno));
     volume = 0;
   }
   osstrack->lvol = (volume & 0xff);
@@ -203,17 +197,17 @@ gst_ossmixer_track_new (GstOssElement *oss,
 }
 
 void
-gst_oss_interface_init (GstImplementsInterfaceClass *klass)
+gst_oss_interface_init (GstImplementsInterfaceClass * klass)
 {
   /* default virtual functions */
   klass->supported = gst_ossmixer_supported;
 }
 
 void
-gst_ossmixer_interface_init (GstMixerClass *klass)
+gst_ossmixer_interface_init (GstMixerClass * klass)
 {
   GST_MIXER_TYPE (klass) = GST_MIXER_HARDWARE;
-  
+
   /* default virtual functions */
   klass->list_tracks = gst_ossmixer_list_tracks;
   klass->set_volume = gst_ossmixer_set_volume;
@@ -223,8 +217,7 @@ gst_ossmixer_interface_init (GstMixerClass *klass)
 }
 
 static gboolean
-gst_ossmixer_supported (GstImplementsInterface *iface,
-                       GType                   iface_type)
+gst_ossmixer_supported (GstImplementsInterface * iface, GType iface_type)
 {
   g_assert (iface_type == GST_TYPE_MIXER);
 
@@ -232,8 +225,7 @@ gst_ossmixer_supported (GstImplementsInterface *iface,
 }
 
 static gboolean
-gst_ossmixer_contains_track (GstOssElement    *oss,
-                            GstOssMixerTrack *osstrack)
+gst_ossmixer_contains_track (GstOssElement * oss, GstOssMixerTrack * osstrack)
 {
   const GList *item;
 
@@ -245,15 +237,14 @@ gst_ossmixer_contains_track (GstOssElement    *oss,
 }
 
 static const GList *
-gst_ossmixer_list_tracks (GstMixer *mixer)
+gst_ossmixer_list_tracks (GstMixer * mixer)
 {
   return (const GList *) GST_OSSELEMENT (mixer)->tracklist;
 }
 
 static void
-gst_ossmixer_get_volume (GstMixer      *mixer,
-                        GstMixerTrack *track,
-                        gint          *volumes)
+gst_ossmixer_get_volume (GstMixer * mixer,
+    GstMixerTrack * track, gint * volumes)
 {
   gint volume;
   GstOssElement *oss = GST_OSSELEMENT (mixer);
@@ -270,9 +261,9 @@ gst_ossmixer_get_volume (GstMixer      *mixer,
     }
   } else {
     /* get */
-    if (ioctl(oss->mixer_fd, MIXER_READ (osstrack->track_num), &volume) < 0) {
-      g_warning("Error getting recording device (%d) volume: %s",
-               osstrack->track_num, strerror(errno));
+    if (ioctl (oss->mixer_fd, MIXER_READ (osstrack->track_num), &volume) < 0) {
+      g_warning ("Error getting recording device (%d) volume: %s",
+         osstrack->track_num, strerror (errno));
       volume = 0;
     }
 
@@ -284,9 +275,8 @@ gst_ossmixer_get_volume (GstMixer      *mixer,
 }
 
 static void
-gst_ossmixer_set_volume (GstMixer      *mixer,
-                        GstMixerTrack *track,
-                        gint          *volumes)
+gst_ossmixer_set_volume (GstMixer * mixer,
+    GstMixerTrack * track, gint * volumes)
 {
   gint volume;
   GstOssElement *oss = GST_OSSELEMENT (mixer);
@@ -304,9 +294,9 @@ gst_ossmixer_set_volume (GstMixer      *mixer,
     }
 
     /* set */
-    if (ioctl(oss->mixer_fd, MIXER_WRITE (osstrack->track_num), &volume) < 0) {
-      g_warning("Error setting recording device (%d) volume (0x%x): %s",
-               osstrack->track_num, volume, strerror(errno));
+    if (ioctl (oss->mixer_fd, MIXER_WRITE (osstrack->track_num), &volume) < 0) {
+      g_warning ("Error setting recording device (%d) volume (0x%x): %s",
+         osstrack->track_num, volume, strerror (errno));
       return;
     }
   }
@@ -318,9 +308,7 @@ gst_ossmixer_set_volume (GstMixer      *mixer,
 }
 
 static void
-gst_ossmixer_set_mute (GstMixer      *mixer,
-                      GstMixerTrack *track,
-                      gboolean       mute)
+gst_ossmixer_set_mute (GstMixer * mixer, GstMixerTrack * track, gboolean mute)
 {
   int volume;
   GstOssElement *oss = GST_OSSELEMENT (mixer);
@@ -339,9 +327,9 @@ gst_ossmixer_set_mute (GstMixer      *mixer,
     }
   }
 
-  if (ioctl(oss->mixer_fd, MIXER_WRITE(osstrack->track_num), &volume) < 0) {
-    g_warning("Error setting mixer recording device volume (0x%x): %s",
-             volume, strerror(errno));
+  if (ioctl (oss->mixer_fd, MIXER_WRITE (osstrack->track_num), &volume) < 0) {
+    g_warning ("Error setting mixer recording device volume (0x%x): %s",
+       volume, strerror (errno));
     return;
   }
 
@@ -353,9 +341,8 @@ gst_ossmixer_set_mute (GstMixer      *mixer,
 }
 
 static void
-gst_ossmixer_set_record (GstMixer      *mixer,
-                        GstMixerTrack *track,
-                        gboolean       record)
+gst_ossmixer_set_record (GstMixer * mixer,
+    GstMixerTrack * track, gboolean record)
 {
   GstOssElement *oss = GST_OSSELEMENT (mixer);
   GstOssMixerTrack *osstrack = GST_OSSMIXER_TRACK (track);
@@ -372,8 +359,10 @@ gst_ossmixer_set_record (GstMixer      *mixer,
   /* if we're exclusive, then we need to unset the current one(s) */
   if (oss->mixcaps & SOUND_CAP_EXCL_INPUT) {
     GList *track;
+
     for (track = oss->tracklist; track != NULL; track = track->next) {
       GstMixerTrack *turn = (GstMixerTrack *) track->data;
+
       turn->flags &= ~GST_MIXER_TRACK_RECORD;
     }
     oss->recdevs = 0;
@@ -387,9 +376,9 @@ gst_ossmixer_set_record (GstMixer      *mixer,
   }
 
   /* set it to the device */
-  if (ioctl(oss->mixer_fd, SOUND_MIXER_WRITE_RECSRC, &oss->recdevs) < 0) {
-    g_warning("Error setting mixer recording devices (0x%x): %s",
-             oss->recdevs, strerror(errno));
+  if (ioctl (oss->mixer_fd, SOUND_MIXER_WRITE_RECSRC, &oss->recdevs) < 0) {
+    g_warning ("Error setting mixer recording devices (0x%x): %s",
+       oss->recdevs, strerror (errno));
     return;
   }
 
@@ -401,11 +390,12 @@ gst_ossmixer_set_record (GstMixer      *mixer,
 }
 
 void
-gst_ossmixer_build_list (GstOssElement *oss)
+gst_ossmixer_build_list (GstOssElement * oss)
 {
   gint i, devmask, master = -1;
   const GList *pads = gst_element_get_pad_list (GST_ELEMENT (oss));
   GstPadDirection dir = GST_PAD_UNKNOWN;
+
 #ifdef SOUND_MIXER_INFO
   struct mixer_info minfo;
 #endif
@@ -416,7 +406,7 @@ gst_ossmixer_build_list (GstOssElement *oss)
   if (oss->mixer_fd == -1) {
     /* this is valid. OSS devices don't need to expose a mixer */
     GST_DEBUG ("Failed to open mixer device %s, mixing disabled: %s",
-              oss->mixer_dev, strerror (errno));
+       oss->mixer_dev, strerror (errno));
     return;
   }
 
@@ -427,9 +417,9 @@ gst_ossmixer_build_list (GstOssElement *oss)
   /* get masks */
   if (ioctl (oss->mixer_fd, SOUND_MIXER_READ_RECMASK, &oss->recmask) < 0 ||
       ioctl (oss->mixer_fd, SOUND_MIXER_READ_RECSRC, &oss->recdevs) < 0 ||
-      ioctl (oss->mixer_fd, SOUND_MIXER_READ_STEREODEVS, &oss->stereomask) < 0 ||
-      ioctl (oss->mixer_fd, SOUND_MIXER_READ_DEVMASK, &devmask) < 0 ||
-      ioctl (oss->mixer_fd, SOUND_MIXER_READ_CAPS, &oss->mixcaps) < 0) {
+      ioctl (oss->mixer_fd, SOUND_MIXER_READ_STEREODEVS, &oss->stereomask) < 0
+      || ioctl (oss->mixer_fd, SOUND_MIXER_READ_DEVMASK, &devmask) < 0
+      || ioctl (oss->mixer_fd, SOUND_MIXER_READ_CAPS, &oss->mixcaps) < 0) {
     GST_DEBUG ("Failed to get device masks - disabling mixer");
     close (oss->mixer_fd);
     oss->mixer_fd = -1;
@@ -451,7 +441,7 @@ gst_ossmixer_build_list (GstOssElement *oss)
   else if (devmask & SOUND_MASK_PCM)
     master = SOUND_MIXER_PCM;
   else if (devmask & SOUND_MASK_SPEAKER)
-    master = SOUND_MIXER_SPEAKER; /* doubtful... */
+    master = SOUND_MIXER_SPEAKER;      /* doubtful... */
   /* else: no master, so we won't set any */
 
   /* build track list */
@@ -462,31 +452,30 @@ gst_ossmixer_build_list (GstOssElement *oss)
 
       /* track exists, make up capabilities */
       if (MASK_BIT_IS_SET (oss->stereomask, i))
-        stereo = TRUE;
+       stereo = TRUE;
       if (MASK_BIT_IS_SET (oss->recmask, i))
-        input = TRUE;
+       input = TRUE;
       if (MASK_BIT_IS_SET (oss->recdevs, i))
-        record = TRUE;
+       record = TRUE;
 
       /* do we want this in our list? */
       if ((dir == GST_PAD_SRC && input == FALSE) ||
-          (dir == GST_PAD_SINK && i != SOUND_MIXER_PCM))
-        continue;
+         (dir == GST_PAD_SINK && i != SOUND_MIXER_PCM))
+       continue;
 
       /* add track to list */
       track = gst_ossmixer_track_new (oss, i, stereo ? 2 : 1,
-                                         (record ? GST_MIXER_TRACK_RECORD : 0) |
-                                         (input ? GST_MIXER_TRACK_INPUT :
-                                                  GST_MIXER_TRACK_OUTPUT) |
-                                         ((master != i) ? 0 :
-                                                  GST_MIXER_TRACK_MASTER));
+         (record ? GST_MIXER_TRACK_RECORD : 0) |
+         (input ? GST_MIXER_TRACK_INPUT :
+             GST_MIXER_TRACK_OUTPUT) |
+         ((master != i) ? 0 : GST_MIXER_TRACK_MASTER));
       oss->tracklist = g_list_append (oss->tracklist, track);
     }
   }
 }
 
 void
-gst_ossmixer_free_list (GstOssElement *oss)
+gst_ossmixer_free_list (GstOssElement * oss)
 {
   if (oss->mixer_fd == -1)
     return;
index dd2fb4f..100d6af 100644 (file)
@@ -27,7 +27,6 @@
 #include "gstosselement.h"
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_OSSMIXER_TRACK \
   (gst_ossmixer_track_get_type ())
 #define GST_OSSMIXER_TRACK(obj) \
@@ -40,25 +39,25 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_OSSMIXER_TRACK))
 #define GST_IS_OSSMIXER_TRACK_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_OSSMIXER_TRACK))
-
-typedef struct _GstOssMixerTrack {
+    typedef struct _GstOssMixerTrack
+{
   GstMixerTrack parent;
 
-  gint          lvol, rvol;
-  gint          track_num;
+  gint lvol, rvol;
+  gint track_num;
 } GstOssMixerTrack;
 
-typedef struct _GstOssMixerTrackClass {
+typedef struct _GstOssMixerTrackClass
+{
   GstMixerTrackClass parent;
 } GstOssMixerTrackClass;
 
-GType  gst_ossmixer_track_get_type     (void);
+GType gst_ossmixer_track_get_type (void);
 
-void   gst_ossmixer_interface_init     (GstMixerClass *klass);
-void   gst_oss_interface_init          (GstImplementsInterfaceClass *klass);
-void   gst_ossmixer_build_list         (GstOssElement *oss);
-void   gst_ossmixer_free_list          (GstOssElement *oss);
+void gst_ossmixer_interface_init (GstMixerClass * klass);
+void gst_oss_interface_init (GstImplementsInterfaceClass * klass);
+void gst_ossmixer_build_list (GstOssElement * oss);
+void gst_ossmixer_free_list (GstOssElement * oss);
 
 G_END_DECLS
-
 #endif /* __GST_OSS_MIXER_H__ */
index ab56274..053eba4 100644 (file)
 #include "gstosssink.h"
 
 /* elementfactory information */
-static GstElementDetails gst_osssink_details = GST_ELEMENT_DETAILS (
-  "Audio Sink (OSS)",
-  "Sink/Audio",
-  "Output to a sound card via OSS",
-  "Erik Walthinsen <omega@cse.ogi.edu>, "
-  "Wim Taymans <wim.taymans@chello.be>"
-);
-
-static void                    gst_osssink_base_init           (gpointer g_class);
-static void                    gst_osssink_class_init          (GstOssSinkClass *klass);
-static void                    gst_osssink_init                (GstOssSink *osssink);
-static void                    gst_osssink_dispose             (GObject *object);
-
-static GstElementStateReturn   gst_osssink_change_state        (GstElement *element);
-static void                    gst_osssink_set_clock           (GstElement *element, GstClock *clock);
-static GstClock*               gst_osssink_get_clock           (GstElement *element);
-static GstClockTime            gst_osssink_get_time            (GstClock *clock, gpointer data);
-
-static const GstFormat*        gst_osssink_get_formats         (GstPad *pad);
-static gboolean                gst_osssink_convert             (GstPad *pad, GstFormat src_format, gint64 src_value,
-                                                                GstFormat *dest_format, gint64 *dest_value);
-static const GstQueryType*     gst_osssink_get_query_types     (GstPad *pad);
-static gboolean                gst_osssink_query               (GstElement *element, GstQueryType type, 
-                                                                GstFormat *format, gint64 *value);
-static gboolean                gst_osssink_sink_query          (GstPad *pad, GstQueryType type,
-                                                                GstFormat *format, gint64 *value);
-
-static GstCaps *                gst_osssink_sink_fixate         (GstPad *pad, const GstCaps *caps);
-static GstPadLinkReturn                gst_osssink_sinkconnect         (GstPad *pad, const GstCaps *caps);
-
-static void                    gst_osssink_set_property        (GObject *object, guint prop_id, const GValue *value, 
-                                                                GParamSpec *pspec);
-static void                    gst_osssink_get_property        (GObject *object, guint prop_id, GValue *value, 
-                                                                GParamSpec *pspec);
-
-static void                    gst_osssink_chain               (GstPad *pad,GstData *_data);
+static GstElementDetails gst_osssink_details =
+GST_ELEMENT_DETAILS ("Audio Sink (OSS)",
+    "Sink/Audio",
+    "Output to a sound card via OSS",
+    "Erik Walthinsen <omega@cse.ogi.edu>, "
+    "Wim Taymans <wim.taymans@chello.be>");
+
+static void gst_osssink_base_init (gpointer g_class);
+static void gst_osssink_class_init (GstOssSinkClass * klass);
+static void gst_osssink_init (GstOssSink * osssink);
+static void gst_osssink_dispose (GObject * object);
+
+static GstElementStateReturn gst_osssink_change_state (GstElement * element);
+static void gst_osssink_set_clock (GstElement * element, GstClock * clock);
+static GstClock *gst_osssink_get_clock (GstElement * element);
+static GstClockTime gst_osssink_get_time (GstClock * clock, gpointer data);
+
+static const GstFormat *gst_osssink_get_formats (GstPad * pad);
+static gboolean gst_osssink_convert (GstPad * pad, GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value);
+static const GstQueryType *gst_osssink_get_query_types (GstPad * pad);
+static gboolean gst_osssink_query (GstElement * element, GstQueryType type,
+    GstFormat * format, gint64 * value);
+static gboolean gst_osssink_sink_query (GstPad * pad, GstQueryType type,
+    GstFormat * format, gint64 * value);
+
+static GstCaps *gst_osssink_sink_fixate (GstPad * pad, const GstCaps * caps);
+static GstPadLinkReturn gst_osssink_sinkconnect (GstPad * pad,
+    const GstCaps * caps);
+
+static void gst_osssink_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_osssink_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static void gst_osssink_chain (GstPad * pad, GstData * _data);
 
 /* OssSink signals and args */
-enum {
+enum
+{
   SIGNAL_HANDOFF,
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_MUTE,
   ARG_FRAGMENT,
@@ -86,19 +88,16 @@ enum {
 };
 
 static GstStaticPadTemplate osssink_sink_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "sink",
-  GST_PAD_SINK,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) { TRUE, FALSE }, "
-      "width = (int) { 8, 16 }, "
-      "depth = (int) { 8, 16 }, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-  )
-);
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) { TRUE, FALSE }, "
+       "width = (int) { 8, 16 }, "
+       "depth = (int) { 8, 16 }, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
 
 static GstElementClass *parent_class = NULL;
 static guint gst_osssink_signals[LAST_SIGNAL] = { 0 };
@@ -110,24 +109,26 @@ gst_osssink_get_type (void)
 
   if (!osssink_type) {
     static const GTypeInfo osssink_info = {
-      sizeof(GstOssSinkClass),
+      sizeof (GstOssSinkClass),
       gst_osssink_base_init,
       NULL,
-      (GClassInitFunc)gst_osssink_class_init,
+      (GClassInitFunc) gst_osssink_class_init,
       NULL,
       NULL,
-      sizeof(GstOssSink),
+      sizeof (GstOssSink),
       0,
-      (GInstanceInitFunc)gst_osssink_init,
+      (GInstanceInitFunc) gst_osssink_init,
     };
-    osssink_type = g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSink", &osssink_info, 0);
+    osssink_type =
+       g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSink",
+       &osssink_info, 0);
   }
 
   return osssink_type;
 }
 
 static void
-gst_osssink_dispose (GObject *object)
+gst_osssink_dispose (GObject * object)
 {
   GstOssSink *osssink = (GstOssSink *) object;
 
@@ -140,65 +141,71 @@ static void
 gst_osssink_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  
+
   gst_element_class_set_details (element_class, &gst_osssink_details);
-  gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&osssink_sink_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&osssink_sink_factory));
 }
 static void
-gst_osssink_class_init (GstOssSinkClass *klass) 
+gst_osssink_class_init (GstOssSinkClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
-  parent_class = g_type_class_ref(GST_TYPE_OSSELEMENT);
+  parent_class = g_type_class_ref (GST_TYPE_OSSELEMENT);
 
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MUTE,
-    g_param_spec_boolean ("mute", "Mute", "Mute the audio",
-                          FALSE, G_PARAM_READWRITE)); 
+      g_param_spec_boolean ("mute", "Mute", "Mute the audio",
+         FALSE, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SYNC,
-    g_param_spec_boolean ("sync", "Sync", "If syncing on timestamps should be enabled",
-                          TRUE, G_PARAM_READWRITE)); 
+      g_param_spec_boolean ("sync", "Sync",
+         "If syncing on timestamps should be enabled", TRUE,
+         G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FRAGMENT,
-    g_param_spec_int ("fragment", "Fragment", 
-                     "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)",
-                      0, G_MAXINT, 6, G_PARAM_READWRITE));
+      g_param_spec_int ("fragment", "Fragment",
+         "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)",
+         0, G_MAXINT, 6, G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BUFFER_SIZE,
-    g_param_spec_uint ("buffer_size", "Buffer size", "Size of buffers in osssink's bufferpool (bytes)",
-                       0, G_MAXINT, 4096, G_PARAM_READWRITE));
+      g_param_spec_uint ("buffer_size", "Buffer size",
+         "Size of buffers in osssink's bufferpool (bytes)", 0, G_MAXINT, 4096,
+         G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_CHUNK_SIZE,
-    g_param_spec_uint ("chunk_size", "Chunk size", "Write data in chunk sized buffers",
-                       0, G_MAXUINT, 4096, G_PARAM_READWRITE));
+      g_param_spec_uint ("chunk_size", "Chunk size",
+         "Write data in chunk sized buffers", 0, G_MAXUINT, 4096,
+         G_PARAM_READWRITE));
 
   gst_osssink_signals[SIGNAL_HANDOFF] =
-    g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GstOssSinkClass, handoff), NULL, NULL,
-                  g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
-  
+      g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstOssSinkClass, handoff), NULL, NULL,
+      g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
   gobject_class->set_property = gst_osssink_set_property;
   gobject_class->get_property = gst_osssink_get_property;
-  gobject_class->dispose      = gst_osssink_dispose;
-  
+  gobject_class->dispose = gst_osssink_dispose;
+
   gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_osssink_change_state);
-  gstelement_class->query       = GST_DEBUG_FUNCPTR (gst_osssink_query);
-  gstelement_class->set_clock   = gst_osssink_set_clock;
-  gstelement_class->get_clock   = gst_osssink_get_clock;
-  
+  gstelement_class->query = GST_DEBUG_FUNCPTR (gst_osssink_query);
+  gstelement_class->set_clock = gst_osssink_set_clock;
+  gstelement_class->get_clock = gst_osssink_get_clock;
+
 }
 
-static void 
-gst_osssink_init (GstOssSink *osssink) 
+static void
+gst_osssink_init (GstOssSink * osssink)
 {
-  osssink->sinkpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&osssink_sink_factory), "sink");
+  osssink->sinkpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&osssink_sink_factory), "sink");
   gst_element_add_pad (GST_ELEMENT (osssink), osssink->sinkpad);
   gst_pad_set_link_function (osssink->sinkpad, gst_osssink_sinkconnect);
   gst_pad_set_fixate_function (osssink->sinkpad, gst_osssink_sink_fixate);
   gst_pad_set_convert_function (osssink->sinkpad, gst_osssink_convert);
   gst_pad_set_query_function (osssink->sinkpad, gst_osssink_sink_query);
-  gst_pad_set_query_type_function (osssink->sinkpad, gst_osssink_get_query_types);
+  gst_pad_set_query_type_function (osssink->sinkpad,
+      gst_osssink_get_query_types);
   gst_pad_set_formats_function (osssink->sinkpad, gst_osssink_get_formats);
 
   gst_pad_set_chain_function (osssink->sinkpad, gst_osssink_chain);
@@ -209,8 +216,10 @@ gst_osssink_init (GstOssSink *osssink)
   osssink->mute = FALSE;
   osssink->sync = TRUE;
   osssink->resync = TRUE;
-  osssink->provided_clock = gst_audio_clock_new ("ossclock", gst_osssink_get_time, osssink);
-  gst_object_set_parent (GST_OBJECT (osssink->provided_clock), GST_OBJECT (osssink));
+  osssink->provided_clock =
+      gst_audio_clock_new ("ossclock", gst_osssink_get_time, osssink);
+  gst_object_set_parent (GST_OBJECT (osssink->provided_clock),
+      GST_OBJECT (osssink));
   osssink->handled = 0;
 
   GST_FLAG_SET (osssink, GST_ELEMENT_THREAD_SUGGESTED);
@@ -218,12 +227,14 @@ gst_osssink_init (GstOssSink *osssink)
 }
 
 static GstCaps *
-gst_osssink_sink_fixate (GstPad *pad, const GstCaps *caps)
+gst_osssink_sink_fixate (GstPad * pad, const GstCaps * caps)
 {
   GstCaps *newcaps;
   GstStructure *structure;
 
-  newcaps = gst_caps_new_full (gst_structure_copy(gst_caps_get_structure (caps, 0)), NULL);
+  newcaps =
+      gst_caps_new_full (gst_structure_copy (gst_caps_get_structure (caps, 0)),
+      NULL);
   structure = gst_caps_get_structure (newcaps, 0);
 
   if (gst_caps_structure_fixate_field_nearest_int (structure, "rate", 44100)) {
@@ -244,8 +255,8 @@ gst_osssink_sink_fixate (GstPad *pad, const GstCaps *caps)
   return NULL;
 }
 
-static GstPadLinkReturn 
-gst_osssink_sinkconnect (GstPad *pad, const GstCaps *caps) 
+static GstPadLinkReturn
+gst_osssink_sinkconnect (GstPad * pad, const GstCaps * caps)
 {
   GstOssSink *osssink = GST_OSSSINK (gst_pad_get_parent (pad));
 
@@ -260,7 +271,7 @@ gst_osssink_sinkconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static inline gint
-gst_osssink_get_delay (GstOssSink *osssink) 
+gst_osssink_get_delay (GstOssSink * osssink)
 {
   gint delay = 0;
   gint ret;
@@ -275,19 +286,19 @@ gst_osssink_get_delay (GstOssSink *osssink)
 #endif
   if (ret < 0) {
     audio_buf_info info;
+
     if (ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_GETOSPACE, &info) < 0) {
       delay = 0;
-    }
-    else {
-      delay = (info.fragstotal * info.fragsize) - info.bytes;    
+    } else {
+      delay = (info.fragstotal * info.fragsize) - info.bytes;
     }
   }
 
   return delay;
 }
 
-static GstClockTime 
-gst_osssink_get_time (GstClock *clock, gpointer data) 
+static GstClockTime
+gst_osssink_get_time (GstClock * clock, gpointer data)
 {
   GstOssSink *osssink = GST_OSSSINK (data);
   gint delay;
@@ -305,39 +316,41 @@ gst_osssink_get_time (GstClock *clock, gpointer data)
    * happen anymore, so remove the second code path after april 2004 */
   if (delay > (gint64) osssink->handled) {
     /*g_warning ("Delay %d > osssink->handled %" G_GUINT64_FORMAT
-               ", setting to osssink->handled",
-               delay, osssink->handled);*/
+       ", setting to osssink->handled",
+       delay, osssink->handled); */
     delay = osssink->handled;
   }
-  res = ((gint64) osssink->handled - delay) * GST_SECOND / GST_OSSELEMENT (osssink)->bps;
+  res =
+      ((gint64) osssink->handled -
+      delay) * GST_SECOND / GST_OSSELEMENT (osssink)->bps;
   if (res < 0)
     res = 0;
 
   return res;
 }
 
-static GstClock*
-gst_osssink_get_clock (GstElement *element)
+static GstClock *
+gst_osssink_get_clock (GstElement * element)
 {
   GstOssSink *osssink;
-           
+
   osssink = GST_OSSSINK (element);
 
   return GST_CLOCK (osssink->provided_clock);
 }
 
 static void
-gst_osssink_set_clock (GstElement *element, GstClock *clock)
+gst_osssink_set_clock (GstElement * element, GstClock * clock)
 {
   GstOssSink *osssink;
-  
+
   osssink = GST_OSSSINK (element);
 
-  osssink->clock = clock;  
+  osssink->clock = clock;
 }
 
-static void 
-gst_osssink_chain (GstPad *pad, GstData *_data) 
+static void
+gst_osssink_chain (GstPad * pad, GstData * _data)
 {
   GstBuffer *buf = GST_BUFFER (_data);
   GstOssSink *osssink;
@@ -354,23 +367,25 @@ gst_osssink_chain (GstPad *pad, GstData *_data)
 
     switch (GST_EVENT_TYPE (event)) {
       case GST_EVENT_EOS:
-        ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_SYNC, 0);
-       gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock), FALSE);
+       ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_SYNC, 0);
+       gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock),
+           FALSE);
        gst_pad_event_default (pad, event);
-        return;
+       return;
       case GST_EVENT_DISCONTINUOUS:
-        osssink->resync = TRUE;
-        /* pass-through */
+       osssink->resync = TRUE;
+       /* pass-through */
       default:
        gst_pad_event_default (pad, event);
-        return;
+       return;
     }
     g_assert_not_reached ();
   }
 
   if (!GST_OSSELEMENT (osssink)->bps) {
     gst_buffer_unref (buf);
-    GST_ELEMENT_ERROR (osssink, CORE, NEGOTIATION, (NULL), ("format wasn't negotiated before chain function"));
+    GST_ELEMENT_ERROR (osssink, CORE, NEGOTIATION, (NULL),
+       ("format wasn't negotiated before chain function"));
     return;
   }
 
@@ -388,11 +403,13 @@ gst_osssink_chain (GstPad *pad, GstData *_data)
   } else {
     buftime = soundtime;
   }
-  GST_LOG_OBJECT (osssink, "time: real %"G_GUINT64_FORMAT", buffer: %"G_GUINT64_FORMAT,
-      soundtime, buftime);
+  GST_LOG_OBJECT (osssink,
+      "time: real %" G_GUINT64_FORMAT ", buffer: %" G_GUINT64_FORMAT, soundtime,
+      buftime);
   if (MAX (buftime, soundtime) - MIN (buftime, soundtime) > (GST_SECOND / 10)) {
     /* we need to adjust to the buffers here */
-    GST_INFO_OBJECT (osssink, "need sync: real %"G_GUINT64_FORMAT", buffer: %"G_GUINT64_FORMAT, 
+    GST_INFO_OBJECT (osssink,
+       "need sync: real %" G_GUINT64_FORMAT ", buffer: %" G_GUINT64_FORMAT,
        soundtime, buftime);
     if (soundtime > buftime) {
       /* do *not* throw frames out. It's useless. The next frame will come in
@@ -400,29 +417,35 @@ gst_osssink_chain (GstPad *pad, GstData *_data)
        * This is a placeholder for what - some day - should become QoS, i.e.
        * sending events upstream to drop buffers. */
     } else {
-      guint64 to_handle = (((buftime - soundtime) * GST_OSSELEMENT(osssink)->bps / GST_SECOND) /
-               ((GST_OSSELEMENT (osssink)->width / 8) * GST_OSSELEMENT (osssink)->channels)) *
-               (GST_OSSELEMENT (osssink)->width / 8) * GST_OSSELEMENT (osssink)->channels;
+      guint64 to_handle =
+         (((buftime -
+                 soundtime) * GST_OSSELEMENT (osssink)->bps / GST_SECOND) /
+         ((GST_OSSELEMENT (osssink)->width / 8) *
+             GST_OSSELEMENT (osssink)->channels)) *
+         (GST_OSSELEMENT (osssink)->width / 8) *
+         GST_OSSELEMENT (osssink)->channels;
 
       if (!osssink->resync) {
-        guint8 *buf = g_new (guint8, to_handle);
-
-        memset (buf, (GST_OSSELEMENT (osssink)->width == 8) ? 0 : 128, to_handle);
-        while (to_handle > 0) {
-          gint done = write (GST_OSSELEMENT (osssink)->fd, buf,
-                            MIN (to_handle, osssink->chunk_size));
-          if (done == -1 && errno != EINTR) { 
-            break;
-          } else {
-            to_handle -= done;
-            osssink->handled += done;
-          }
-        }
-        g_free(buf);
+       guint8 *buf = g_new (guint8, to_handle);
+
+       memset (buf, (GST_OSSELEMENT (osssink)->width == 8) ? 0 : 128,
+           to_handle);
+       while (to_handle > 0) {
+         gint done = write (GST_OSSELEMENT (osssink)->fd, buf,
+             MIN (to_handle, osssink->chunk_size));
+
+         if (done == -1 && errno != EINTR) {
+           break;
+         } else {
+           to_handle -= done;
+           osssink->handled += done;
+         }
+       }
+       g_free (buf);
       } else {
-        /* Timestamps at start-of-stream (MPEG) or after seek (hey,
-         * again MPEG!) can be borken, therefore this hacklet. */
-        osssink->handled += to_handle;
+       /* Timestamps at start-of-stream (MPEG) or after seek (hey,
+        * again MPEG!) can be borken, therefore this hacklet. */
+       osssink->handled += to_handle;
       }
     }
   }
@@ -431,13 +454,13 @@ gst_osssink_chain (GstPad *pad, GstData *_data)
     if (!osssink->mute) {
 
       while (to_write > 0) {
-        gint done = write (GST_OSSELEMENT (osssink)->fd, data, 
-                           MIN (to_write, osssink->chunk_size));
-        if (done == -1) {
-          if (errno != EINTR)
+       gint done = write (GST_OSSELEMENT (osssink)->fd, data,
+           MIN (to_write, osssink->chunk_size));
+
+       if (done == -1) {
+         if (errno != EINTR)
            break;
-       }
-       else {
+       } else {
          to_write -= done;
          data += done;
          osssink->handled += done;
@@ -448,13 +471,14 @@ gst_osssink_chain (GstPad *pad, GstData *_data)
     }
   }
 
-  gst_audio_clock_update_time ((GstAudioClock*)osssink->provided_clock, gst_osssink_get_time (osssink->provided_clock, osssink));
+  gst_audio_clock_update_time ((GstAudioClock *) osssink->provided_clock,
+      gst_osssink_get_time (osssink->provided_clock, osssink));
 
   gst_buffer_unref (buf);
 }
 
-static const GstFormat*
-gst_osssink_get_formats (GstPad *pad)
+static const GstFormat *
+gst_osssink_get_formats (GstPad * pad)
 {
   static const GstFormat formats[] = {
     GST_FORMAT_TIME,
@@ -466,20 +490,19 @@ gst_osssink_get_formats (GstPad *pad)
 }
 
 static gboolean
-gst_osssink_convert (GstPad *pad, GstFormat src_format, gint64 src_value,
-                    GstFormat *dest_format, gint64 *dest_value)
+gst_osssink_convert (GstPad * pad, GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value)
 {
   GstOssSink *osssink;
 
   osssink = GST_OSSSINK (gst_pad_get_parent (pad));
-  
+
   return gst_osselement_convert (GST_OSSELEMENT (osssink),
-                                src_format, src_value,
-                                dest_format, dest_value);
+      src_format, src_value, dest_format, dest_value);
 }
 
-static const GstQueryType*
-gst_osssink_get_query_types (GstPad *pad)
+static const GstQueryType *
+gst_osssink_get_query_types (GstPad * pad)
 {
   static const GstQueryType query_types[] = {
     GST_QUERY_LATENCY,
@@ -490,32 +513,33 @@ gst_osssink_get_query_types (GstPad *pad)
 }
 
 static gboolean
-gst_osssink_sink_query (GstPad *pad, GstQueryType type, GstFormat *format, gint64 *value) 
+gst_osssink_sink_query (GstPad * pad, GstQueryType type, GstFormat * format,
+    gint64 * value)
 {
   gboolean res = TRUE;
   GstOssSink *osssink;
 
   osssink = GST_OSSSINK (gst_pad_get_parent (pad));
-  
+
   switch (type) {
     case GST_QUERY_LATENCY:
-      if (!gst_osssink_convert (pad, 
-                               GST_FORMAT_BYTES, gst_osssink_get_delay (osssink),
-                               format, value)) 
-      {
-        res = FALSE;
+      if (!gst_osssink_convert (pad,
+             GST_FORMAT_BYTES, gst_osssink_get_delay (osssink),
+             format, value)) {
+       res = FALSE;
       }
       break;
     case GST_QUERY_POSITION:
-      if (!gst_osssink_convert (pad, 
-                               GST_FORMAT_TIME, gst_element_get_time (GST_ELEMENT (osssink)),
-                               format, value)) 
-      {
-        res = FALSE;
+      if (!gst_osssink_convert (pad,
+             GST_FORMAT_TIME, gst_element_get_time (GST_ELEMENT (osssink)),
+             format, value)) {
+       res = FALSE;
       }
       break;
     default:
-      res = gst_pad_query (gst_pad_get_peer (osssink->sinkpad), type, format, value);
+      res =
+         gst_pad_query (gst_pad_get_peer (osssink->sinkpad), type, format,
+         value);
       break;
   }
 
@@ -523,15 +547,17 @@ gst_osssink_sink_query (GstPad *pad, GstQueryType type, GstFormat *format, gint6
 }
 
 static gboolean
-gst_osssink_query (GstElement *element, GstQueryType type, GstFormat *format, gint64 *value) 
+gst_osssink_query (GstElement * element, GstQueryType type, GstFormat * format,
+    gint64 * value)
 {
   GstOssSink *osssink = GST_OSSSINK (element);
 
   return gst_osssink_sink_query (osssink->sinkpad, type, format, value);
 }
 
-static void 
-gst_osssink_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) 
+static void
+gst_osssink_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstOssSink *osssink;
 
@@ -563,8 +589,9 @@ gst_osssink_set_property (GObject *object, guint prop_id, const GValue *value, G
   }
 }
 
-static void 
-gst_osssink_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) 
+static void
+gst_osssink_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstOssSink *osssink;
 
@@ -592,8 +619,8 @@ gst_osssink_get_property (GObject *object, guint prop_id, GValue *value, GParamS
   }
 }
 
-static GstElementStateReturn 
-gst_osssink_change_state (GstElement *element) 
+static GstElementStateReturn
+gst_osssink_change_state (GstElement * element)
 {
   GstOssSink *osssink;
 
@@ -603,16 +630,18 @@ gst_osssink_change_state (GstElement *element)
     case GST_STATE_READY_TO_PAUSED:
       break;
     case GST_STATE_PAUSED_TO_PLAYING:
-      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock), TRUE);
+      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock),
+         TRUE);
       break;
     case GST_STATE_PLAYING_TO_PAUSED:
-      if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) 
-        ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0);
-      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock), FALSE);
+      if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN))
+       ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0);
+      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock),
+         FALSE);
       break;
     case GST_STATE_PAUSED_TO_READY:
       if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN))
-        ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0);
+       ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0);
       gst_osselement_reset (GST_OSSELEMENT (osssink));
       osssink->handled = 0;
       osssink->resync = TRUE;
@@ -620,7 +649,7 @@ gst_osssink_change_state (GstElement *element)
     default:
       break;
   }
-      
+
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
     return GST_ELEMENT_CLASS (parent_class)->change_state (element);
 
index f484007..e633ac5 100644 (file)
@@ -31,7 +31,6 @@
 #include <gst/audio/audioclock.h>
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_OSSSINK \
   (gst_osssink_get_type())
 #define GST_OSSSINK(obj) \
@@ -42,41 +41,42 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_OSSSINK))
 #define GST_IS_OSSSINK_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_OSSSINK))
+    typedef enum
+{
+  GST_OSSSINK_OPEN = GST_ELEMENT_FLAG_LAST,
 
-typedef enum {
-  GST_OSSSINK_OPEN             = GST_ELEMENT_FLAG_LAST,
-
-  GST_OSSSINK_FLAG_LAST        = GST_ELEMENT_FLAG_LAST+2,
+  GST_OSSSINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
 } GstOssSinkFlags;
 
 typedef struct _GstOssSink GstOssSink;
 typedef struct _GstOssSinkClass GstOssSinkClass;
 
-struct _GstOssSink {
-  GstOssElement         element;
+struct _GstOssSink
+{
+  GstOssElement element;
 
-  GstPad       *sinkpad;
+  GstPad *sinkpad;
 
-  GstClock     *provided_clock;
-  GstClock     *clock;
-  gboolean      resync;
-  gboolean      sync;
-  guint64       handled;
+  GstClock *provided_clock;
+  GstClock *clock;
+  gboolean resync;
+  gboolean sync;
+  guint64 handled;
 
-  gboolean      mute;
-  guint         bufsize;
-  guint         chunk_size;
+  gboolean mute;
+  guint bufsize;
+  guint chunk_size;
 };
 
-struct _GstOssSinkClass {
+struct _GstOssSinkClass
+{
   GstOssElementClass parent_class;
 
   /* signals */
-  void (*handoff) (GstElement *element,GstPad *pad);
+  void (*handoff) (GstElement * element, GstPad * pad);
 };
 
-GType gst_osssink_get_type(void);
+GType gst_osssink_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_OSSSINK_H__ */
index 4bdcb0d..5803865 100644 (file)
 #include <gst/audio/audioclock.h>
 
 /* elementfactory information */
-static GstElementDetails gst_osssrc_details = GST_ELEMENT_DETAILS (
-  "Audio Source (OSS)",
-  "Source/Audio",
-  "Read from the sound card",
-  "Erik Walthinsen <omega@cse.ogi.edu>"
-);
+static GstElementDetails gst_osssrc_details =
+GST_ELEMENT_DETAILS ("Audio Source (OSS)",
+    "Source/Audio",
+    "Read from the sound card",
+    "Erik Walthinsen <omega@cse.ogi.edu>");
 
 
 /* OssSrc signals and args */
-enum {
+enum
+{
   /* FILL ME */
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_BUFFERSIZE,
   ARG_FRAGMENT,
 };
 
-static GstStaticPadTemplate osssrc_src_factory =
-GST_STATIC_PAD_TEMPLATE (
-  "src",
-  GST_PAD_SRC,
-  GST_PAD_ALWAYS,
-  GST_STATIC_CAPS ("audio/x-raw-int, "
-      "endianness = (int) BYTE_ORDER, "
-      "signed = (boolean) { TRUE, FALSE }, "
-      "width = (int) { 8, 16 }, "
-      "depth = (int) { 8, 16 }, "
-      "rate = (int) [ 1000, 48000 ], "
-      "channels = (int) [ 1, 2 ]"
-  )
-);
-
-static void                    gst_osssrc_base_init    (gpointer g_class);
-static void                    gst_osssrc_class_init   (GstOssSrcClass *klass);
-static void                    gst_osssrc_init         (GstOssSrc *osssrc);
-static void                    gst_osssrc_dispose      (GObject *object);
-
-static GstPadLinkReturn        gst_osssrc_srcconnect   (GstPad *pad, const GstCaps *caps);
-static const GstFormat*        gst_osssrc_get_formats  (GstPad *pad);
-static gboolean                gst_osssrc_convert      (GstPad *pad, 
-                                                        GstFormat src_format, gint64 src_value,
-                                                        GstFormat *dest_format, gint64 *dest_value);
-
-static void                    gst_osssrc_set_property (GObject *object, guint prop_id, 
-                                                        const GValue *value, GParamSpec *pspec);
-static void                    gst_osssrc_get_property (GObject *object, guint prop_id,
-                                                        GValue *value, GParamSpec *pspec);
-static GstElementStateReturn   gst_osssrc_change_state (GstElement *element);
-
-static void                    gst_osssrc_set_clock    (GstElement *element, GstClock *clock);
-static GstClock*               gst_osssrc_get_clock    (GstElement *element);
-static GstClockTime            gst_osssrc_get_time     (GstClock *clock, gpointer data);
-
-static const GstEventMask*     gst_osssrc_get_event_masks (GstPad *pad);
-static gboolean                gst_osssrc_src_event    (GstPad *pad, GstEvent *event);
-static gboolean                 gst_osssrc_send_event  (GstElement *element, GstEvent *event);
-static const GstQueryType*     gst_osssrc_get_query_types (GstPad *pad);
-static gboolean                gst_osssrc_src_query    (GstPad *pad, GstQueryType type, 
-                                                        GstFormat *format, gint64 *value);
-
-static GstData *               gst_osssrc_get          (GstPad *pad);
+static GstStaticPadTemplate osssrc_src_factory = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw-int, "
+       "endianness = (int) BYTE_ORDER, "
+       "signed = (boolean) { TRUE, FALSE }, "
+       "width = (int) { 8, 16 }, "
+       "depth = (int) { 8, 16 }, "
+       "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]")
+    );
+
+static void gst_osssrc_base_init (gpointer g_class);
+static void gst_osssrc_class_init (GstOssSrcClass * klass);
+static void gst_osssrc_init (GstOssSrc * osssrc);
+static void gst_osssrc_dispose (GObject * object);
+
+static GstPadLinkReturn gst_osssrc_srcconnect (GstPad * pad,
+    const GstCaps * caps);
+static const GstFormat *gst_osssrc_get_formats (GstPad * pad);
+static gboolean gst_osssrc_convert (GstPad * pad,
+    GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value);
+
+static void gst_osssrc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_osssrc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static GstElementStateReturn gst_osssrc_change_state (GstElement * element);
+
+static void gst_osssrc_set_clock (GstElement * element, GstClock * clock);
+static GstClock *gst_osssrc_get_clock (GstElement * element);
+static GstClockTime gst_osssrc_get_time (GstClock * clock, gpointer data);
+
+static const GstEventMask *gst_osssrc_get_event_masks (GstPad * pad);
+static gboolean gst_osssrc_src_event (GstPad * pad, GstEvent * event);
+static gboolean gst_osssrc_send_event (GstElement * element, GstEvent * event);
+static const GstQueryType *gst_osssrc_get_query_types (GstPad * pad);
+static gboolean gst_osssrc_src_query (GstPad * pad, GstQueryType type,
+    GstFormat * format, gint64 * value);
+
+static GstData *gst_osssrc_get (GstPad * pad);
 
 static GstElementClass *parent_class = NULL;
+
 /*static guint gst_osssrc_signals[LAST_SIGNAL] = { 0 }; */
 
 GType
-gst_osssrc_get_type (void) 
+gst_osssrc_get_type (void)
 {
   static GType osssrc_type = 0;
 
   if (!osssrc_type) {
     static const GTypeInfo osssrc_info = {
-      sizeof(GstOssSrcClass),
+      sizeof (GstOssSrcClass),
       gst_osssrc_base_init,
       NULL,
-      (GClassInitFunc)gst_osssrc_class_init,
+      (GClassInitFunc) gst_osssrc_class_init,
       NULL,
       NULL,
-      sizeof(GstOssSrc),
+      sizeof (GstOssSrc),
       0,
-      (GInstanceInitFunc)gst_osssrc_init,
+      (GInstanceInitFunc) gst_osssrc_init,
     };
-    osssrc_type = g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSrc", &osssrc_info, 0);
+    osssrc_type =
+       g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSrc", &osssrc_info,
+       0);
   }
   return osssrc_type;
 }
@@ -131,32 +132,34 @@ static void
 gst_osssrc_base_init (gpointer g_class)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-  
+
   gst_element_class_set_details (element_class, &gst_osssrc_details);
-  gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&osssrc_src_factory));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&osssrc_src_factory));
 }
 static void
-gst_osssrc_class_init (GstOssSrcClass *klass) 
+gst_osssrc_class_init (GstOssSrcClass * klass)
 {
   GObjectClass *gobject_class;
   GstElementClass *gstelement_class;
 
-  gobject_class = (GObjectClass*)klass;
-  gstelement_class = (GstElementClass*)klass;
+  gobject_class = (GObjectClass *) klass;
+  gstelement_class = (GstElementClass *) klass;
 
   parent_class = g_type_class_ref (GST_TYPE_OSSELEMENT);
 
-  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFERSIZE,
-    g_param_spec_ulong ("buffersize","Buffer Size","The size of the buffers with samples",
-                        0, G_MAXULONG, 0, G_PARAM_READWRITE));
+  g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BUFFERSIZE,
+      g_param_spec_ulong ("buffersize", "Buffer Size",
+         "The size of the buffers with samples", 0, G_MAXULONG, 0,
+         G_PARAM_READWRITE));
   g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FRAGMENT,
-    g_param_spec_int ("fragment", "Fragment",
-                      "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)",
-                      0, G_MAXINT, 6, G_PARAM_READWRITE));
-  
+      g_param_spec_int ("fragment", "Fragment",
+         "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)",
+         0, G_MAXINT, 6, G_PARAM_READWRITE));
+
   gobject_class->set_property = gst_osssrc_set_property;
   gobject_class->get_property = gst_osssrc_get_property;
-  gobject_class->dispose      = gst_osssrc_dispose;
+  gobject_class->dispose = gst_osssrc_dispose;
 
   gstelement_class->change_state = gst_osssrc_change_state;
   gstelement_class->send_event = gst_osssrc_send_event;
@@ -165,11 +168,12 @@ gst_osssrc_class_init (GstOssSrcClass *klass)
   gstelement_class->get_clock = gst_osssrc_get_clock;
 }
 
-static void 
-gst_osssrc_init (GstOssSrc *osssrc) 
+static void
+gst_osssrc_init (GstOssSrc * osssrc)
 {
-  osssrc->srcpad = gst_pad_new_from_template (
-                 gst_static_pad_template_get (&osssrc_src_factory), "src");
+  osssrc->srcpad =
+      gst_pad_new_from_template (gst_static_pad_template_get
+      (&osssrc_src_factory), "src");
   gst_pad_set_get_function (osssrc->srcpad, gst_osssrc_get);
   gst_pad_set_link_function (osssrc->srcpad, gst_osssrc_srcconnect);
   gst_pad_set_convert_function (osssrc->srcpad, gst_osssrc_convert);
@@ -185,14 +189,16 @@ gst_osssrc_init (GstOssSrc *osssrc)
   osssrc->buffersize = 4096;
   osssrc->curoffset = 0;
 
-  osssrc->provided_clock = gst_audio_clock_new ("ossclock", gst_osssrc_get_time, osssrc);
-  gst_object_set_parent (GST_OBJECT (osssrc->provided_clock), GST_OBJECT (osssrc));
-  
+  osssrc->provided_clock =
+      gst_audio_clock_new ("ossclock", gst_osssrc_get_time, osssrc);
+  gst_object_set_parent (GST_OBJECT (osssrc->provided_clock),
+      GST_OBJECT (osssrc));
+
   osssrc->clock = NULL;
 }
 
 static void
-gst_osssrc_dispose (GObject *object)
+gst_osssrc_dispose (GObject * object)
 {
   GstOssSrc *osssrc = (GstOssSrc *) object;
 
@@ -201,12 +207,12 @@ gst_osssrc_dispose (GObject *object)
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
-static GstPadLinkReturn 
-gst_osssrc_srcconnect (GstPad *pad, const GstCaps *caps)
+static GstPadLinkReturn
+gst_osssrc_srcconnect (GstPad * pad, const GstCaps * caps)
 {
   GstOssSrc *src;
 
-  src = GST_OSSSRC(gst_pad_get_parent (pad));
+  src = GST_OSSSRC (gst_pad_get_parent (pad));
 
   if (!gst_osselement_parse_caps (GST_OSSELEMENT (src), caps))
     return GST_PAD_LINK_REFUSED;
@@ -218,12 +224,12 @@ gst_osssrc_srcconnect (GstPad *pad, const GstCaps *caps)
 }
 
 static gboolean
-gst_osssrc_negotiate (GstPad *pad)
+gst_osssrc_negotiate (GstPad * pad)
 {
   GstOssSrc *src;
   GstCaps *allowed;
 
-  src = GST_OSSSRC(gst_pad_get_parent (pad));
+  src = GST_OSSSRC (gst_pad_get_parent (pad));
 
   allowed = gst_pad_get_allowed_caps (pad);
 
@@ -232,24 +238,24 @@ gst_osssrc_negotiate (GstPad *pad)
 
   if (!gst_osselement_sync_parms (GST_OSSELEMENT (src)))
     return FALSE;
-    
+
   /* set caps on src pad */
-  if (gst_pad_try_set_caps (src->srcpad, 
-       gst_caps_new_simple("audio/x-raw-int",
-           "endianness", G_TYPE_INT, GST_OSSELEMENT (src)->endianness,
-           "signed",     G_TYPE_BOOLEAN, GST_OSSELEMENT (src)->sign,
-           "width",      G_TYPE_INT, GST_OSSELEMENT (src)->width,
-           "depth",      G_TYPE_INT, GST_OSSELEMENT (src)->depth,
-           "rate",       G_TYPE_INT, GST_OSSELEMENT (src)->rate,
-           "channels",   G_TYPE_INT, GST_OSSELEMENT (src)->channels,
-           NULL)) <= 0) {
+  if (gst_pad_try_set_caps (src->srcpad,
+         gst_caps_new_simple ("audio/x-raw-int",
+             "endianness", G_TYPE_INT, GST_OSSELEMENT (src)->endianness,
+             "signed", G_TYPE_BOOLEAN, GST_OSSELEMENT (src)->sign,
+             "width", G_TYPE_INT, GST_OSSELEMENT (src)->width,
+             "depth", G_TYPE_INT, GST_OSSELEMENT (src)->depth,
+             "rate", G_TYPE_INT, GST_OSSELEMENT (src)->rate,
+             "channels", G_TYPE_INT, GST_OSSELEMENT (src)->channels,
+             NULL)) <= 0) {
     return FALSE;
   }
   return TRUE;
 }
 
-static GstClockTime 
-gst_osssrc_get_time (GstClock *clock, gpointer data) 
+static GstClockTime
+gst_osssrc_get_time (GstClock * clock, gpointer data)
 {
   GstOssSrc *osssrc = GST_OSSSRC (data);
   audio_buf_info info;
@@ -257,40 +263,41 @@ gst_osssrc_get_time (GstClock *clock, gpointer data)
   if (!GST_OSSELEMENT (osssrc)->bps)
     return 0;
 
-  if (ioctl(GST_OSSELEMENT (osssrc)->fd, SNDCTL_DSP_GETISPACE, &info) < 0)
+  if (ioctl (GST_OSSELEMENT (osssrc)->fd, SNDCTL_DSP_GETISPACE, &info) < 0)
     return 0;
 
-  return (osssrc->curoffset + info.bytes) * GST_SECOND / GST_OSSELEMENT (osssrc)->bps;
+  return (osssrc->curoffset +
+      info.bytes) * GST_SECOND / GST_OSSELEMENT (osssrc)->bps;
 }
 
-static GstClock*
-gst_osssrc_get_clock (GstElement *element)
+static GstClock *
+gst_osssrc_get_clock (GstElement * element)
 {
   GstOssSrc *osssrc;
-           
+
   osssrc = GST_OSSSRC (element);
 
   return GST_CLOCK (osssrc->provided_clock);
 }
 
 static void
-gst_osssrc_set_clock (GstElement *element, GstClock *clock)
+gst_osssrc_set_clock (GstElement * element, GstClock * clock)
 {
   GstOssSrc *osssrc;
-  
+
   osssrc = GST_OSSSRC (element);
 
   osssrc->clock = clock;
 }
-       
+
 static GstData *
-gst_osssrc_get (GstPad *pad)
+gst_osssrc_get (GstPad * pad)
 {
   GstOssSrc *src;
   GstBuffer *buf;
   glong readbytes;
 
-  src = GST_OSSSRC(gst_pad_get_parent (pad));
+  src = GST_OSSSRC (gst_pad_get_parent (pad));
 
   GST_DEBUG ("attempting to read something from the soundcard");
 
@@ -298,9 +305,9 @@ gst_osssrc_get (GstPad *pad)
     src->need_eos = FALSE;
     return GST_DATA (gst_event_new (GST_EVENT_EOS));
   }
-  
+
   buf = gst_buffer_new_and_alloc (src->buffersize);
-  
+
   if (!GST_PAD_CAPS (pad)) {
     /* nothing was negotiated, we can decide on a format */
     if (!gst_osssrc_negotiate (pad)) {
@@ -312,12 +319,12 @@ gst_osssrc_get (GstPad *pad)
   if (GST_OSSELEMENT (src)->bps == 0) {
     gst_buffer_unref (buf);
     GST_ELEMENT_ERROR (src, CORE, NEGOTIATION, (NULL),
-                       ("format wasn't negotiated before chain function"));
+       ("format wasn't negotiated before chain function"));
     return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT));
   }
 
-  readbytes = read (GST_OSSELEMENT (src)->fd,GST_BUFFER_DATA (buf),
-                    src->buffersize);
+  readbytes = read (GST_OSSELEMENT (src)->fd, GST_BUFFER_DATA (buf),
+      src->buffersize);
   if (readbytes < 0) {
     gst_buffer_unref (buf);
     GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), GST_ERROR_SYSTEM);
@@ -334,20 +341,23 @@ gst_osssrc_get (GstPad *pad)
   GST_BUFFER_OFFSET (buf) = src->curoffset;
 
   /* FIXME: we are falsely assuming that we are the master clock here */
-  GST_BUFFER_TIMESTAMP (buf) = src->curoffset * GST_SECOND / GST_OSSELEMENT (src)->bps;
-  GST_BUFFER_DURATION (buf) = (GST_SECOND * GST_BUFFER_SIZE (buf)) /
-                              (GST_OSSELEMENT (src)->bps * GST_OSSELEMENT (src)->rate);
+  GST_BUFFER_TIMESTAMP (buf) =
+      src->curoffset * GST_SECOND / GST_OSSELEMENT (src)->bps;
+  GST_BUFFER_DURATION (buf) =
+      (GST_SECOND * GST_BUFFER_SIZE (buf)) / (GST_OSSELEMENT (src)->bps *
+      GST_OSSELEMENT (src)->rate);
 
   src->curoffset += readbytes;
 
-  GST_DEBUG ("pushed buffer from soundcard of %ld bytes, timestamp %" G_GINT64_FORMAT, 
-                 readbytes, GST_BUFFER_TIMESTAMP (buf));
+  GST_DEBUG ("pushed buffer from soundcard of %ld bytes, timestamp %"
+      G_GINT64_FORMAT, readbytes, GST_BUFFER_TIMESTAMP (buf));
 
   return GST_DATA (buf);
 }
 
-static void 
-gst_osssrc_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) 
+static void
+gst_osssrc_set_property (GObject * object, guint prop_id, const GValue * value,
+    GParamSpec * pspec)
 {
   GstOssSrc *src;
 
@@ -360,14 +370,15 @@ gst_osssrc_set_property (GObject *object, guint prop_id, const GValue *value, GP
     case ARG_FRAGMENT:
       GST_OSSELEMENT (src)->fragment = g_value_get_int (value);
       gst_osselement_sync_parms (GST_OSSELEMENT (src));
-      break; 
+      break;
     default:
       break;
   }
 }
 
-static void 
-gst_osssrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) 
+static void
+gst_osssrc_get_property (GObject * object, guint prop_id, GValue * value,
+    GParamSpec * pspec)
 {
   GstOssSrc *src;
 
@@ -386,11 +397,11 @@ gst_osssrc_get_property (GObject *object, guint prop_id, GValue *value, GParamSp
   }
 }
 
-static GstElementStateReturn 
-gst_osssrc_change_state (GstElement *element) 
+static GstElementStateReturn
+gst_osssrc_change_state (GstElement * element)
 {
   GstOssSrc *osssrc = GST_OSSSRC (element);
-  
+
   GST_DEBUG ("osssrc: state change");
 
   switch (GST_STATE_TRANSITION (element)) {
@@ -398,14 +409,16 @@ gst_osssrc_change_state (GstElement *element)
       osssrc->curoffset = 0;
       break;
     case GST_STATE_PAUSED_TO_PLAYING:
-      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssrc->provided_clock), TRUE);
+      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssrc->provided_clock),
+         TRUE);
       break;
     case GST_STATE_PLAYING_TO_PAUSED:
-      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssrc->provided_clock), FALSE);
+      gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssrc->provided_clock),
+         FALSE);
       break;
     case GST_STATE_PAUSED_TO_READY:
       if (GST_FLAG_IS_SET (element, GST_OSSSRC_OPEN))
-        ioctl (GST_OSSELEMENT (osssrc)->fd, SNDCTL_DSP_RESET, 0);
+       ioctl (GST_OSSELEMENT (osssrc)->fd, SNDCTL_DSP_RESET, 0);
       break;
     default:
       break;
@@ -413,12 +426,12 @@ gst_osssrc_change_state (GstElement *element)
 
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
     return GST_ELEMENT_CLASS (parent_class)->change_state (element);
-  
+
   return GST_STATE_SUCCESS;
 }
 
-static const GstFormat*
-gst_osssrc_get_formats (GstPad *pad)
+static const GstFormat *
+gst_osssrc_get_formats (GstPad * pad)
 {
   static const GstFormat formats[] = {
     GST_FORMAT_TIME,
@@ -430,30 +443,30 @@ gst_osssrc_get_formats (GstPad *pad)
 }
 
 static gboolean
-gst_osssrc_convert (GstPad *pad, GstFormat src_format, gint64 src_value,
-                                    GstFormat *dest_format, gint64 *dest_value)
+gst_osssrc_convert (GstPad * pad, GstFormat src_format, gint64 src_value,
+    GstFormat * dest_format, gint64 * dest_value)
 {
   GstOssSrc *osssrc;
 
   osssrc = GST_OSSSRC (gst_pad_get_parent (pad));
 
   return gst_osselement_convert (GST_OSSELEMENT (osssrc), src_format, src_value,
-                                dest_format, dest_value);
+      dest_format, dest_value);
 }
 
-static const GstEventMask*
-gst_osssrc_get_event_masks (GstPad *pad)
+static const GstEventMask *
+gst_osssrc_get_event_masks (GstPad * pad)
 {
   static const GstEventMask gst_osssrc_src_event_masks[] = {
-    { GST_EVENT_EOS, 0 },
-    { GST_EVENT_SIZE, 0 },
-    { 0, } 
+    {GST_EVENT_EOS, 0},
+    {GST_EVENT_SIZE, 0},
+    {0,}
   };
   return gst_osssrc_src_event_masks;
-} 
+}
 
 static gboolean
-gst_osssrc_src_event (GstPad *pad, GstEvent *event)
+gst_osssrc_src_event (GstPad * pad, GstEvent * event)
 {
   GstOssSrc *osssrc;
   gboolean retval = FALSE;
@@ -471,16 +484,14 @@ gst_osssrc_src_event (GstPad *pad, GstEvent *event)
       gint64 value;
 
       format = GST_FORMAT_BYTES;
-      
+
       /* convert to bytes */
-      if (gst_osselement_convert (GST_OSSELEMENT (osssrc), 
-                                 GST_EVENT_SIZE_FORMAT (event), 
-                                 GST_EVENT_SIZE_VALUE (event),
-                                  &format, &value)) 
-      {
-        osssrc->buffersize = GST_EVENT_SIZE_VALUE (event);
-        g_object_notify (G_OBJECT (osssrc), "buffersize");
-        retval = TRUE;
+      if (gst_osselement_convert (GST_OSSELEMENT (osssrc),
+             GST_EVENT_SIZE_FORMAT (event),
+             GST_EVENT_SIZE_VALUE (event), &format, &value)) {
+       osssrc->buffersize = GST_EVENT_SIZE_VALUE (event);
+       g_object_notify (G_OBJECT (osssrc), "buffersize");
+       retval = TRUE;
       }
     }
     default:
@@ -491,40 +502,39 @@ gst_osssrc_src_event (GstPad *pad, GstEvent *event)
 }
 
 static gboolean
-gst_osssrc_send_event (GstElement *element,
-                      GstEvent *event)
+gst_osssrc_send_event (GstElement * element, GstEvent * event)
 {
   GstOssSrc *osssrc = GST_OSSSRC (element);
 
   return gst_osssrc_src_event (osssrc->srcpad, event);
 }
 
-static const GstQueryType*
-gst_osssrc_get_query_types (GstPad *pad)
+static const GstQueryType *
+gst_osssrc_get_query_types (GstPad * pad)
 {
   static const GstQueryType query_types[] = {
     GST_QUERY_POSITION,
     0,
   };
   return query_types;
-} 
+}
 
 static gboolean
-gst_osssrc_src_query (GstPad *pad, GstQueryType type, GstFormat *format, gint64 *value)
+gst_osssrc_src_query (GstPad * pad, GstQueryType type, GstFormat * format,
+    gint64 * value)
 {
   gboolean res = FALSE;
   GstOssSrc *osssrc;
-             
+
   osssrc = GST_OSSSRC (gst_pad_get_parent (pad));
-               
+
   switch (type) {
     case GST_QUERY_POSITION:
-      res = gst_osselement_convert (GST_OSSELEMENT (osssrc), 
-                                   GST_FORMAT_BYTES, osssrc->curoffset,
-                                    format, value); 
+      res = gst_osselement_convert (GST_OSSELEMENT (osssrc),
+         GST_FORMAT_BYTES, osssrc->curoffset, format, value);
       break;
     default:
       break;
   }
   return res;
-} 
+}
index 2bc6204..e74db74 100644 (file)
@@ -29,7 +29,6 @@
 #include "gstosselement.h"
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_OSSSRC \
   (gst_osssrc_get_type())
 #define GST_OSSSRC(obj) \
@@ -40,38 +39,39 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_OSSSRC))
 #define GST_IS_OSSSRC_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_OSSSRC))
+    typedef enum
+{
+  GST_OSSSRC_OPEN = GST_ELEMENT_FLAG_LAST,
 
-typedef enum {
-  GST_OSSSRC_OPEN              = GST_ELEMENT_FLAG_LAST,
-
-  GST_OSSSRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST+2,
+  GST_OSSSRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
 } GstOssSrcFlags;
 
 typedef struct _GstOssSrc GstOssSrc;
 typedef struct _GstOssSrcClass GstOssSrcClass;
 
-struct _GstOssSrc {
-  GstOssElement  element;
+struct _GstOssSrc
+{
+  GstOssElement element;
 
   /* pads */
-  GstPad       *srcpad;
+  GstPad *srcpad;
+
+  gboolean need_eos;           /* Do we need to emit an EOS? */
 
-  gboolean      need_eos; /* Do we need to emit an EOS? */
-  
   /* blocking */
-  gulong        curoffset;
-  gulong        buffersize;
+  gulong curoffset;
+  gulong buffersize;
 
   /* clocks */
   GstClock *provided_clock, *clock;
 };
 
-struct _GstOssSrcClass {
+struct _GstOssSrcClass
+{
   GstOssElementClass parent_class;
 };
 
-GType gst_osssrc_get_type(void);
+GType gst_osssrc_get_type (void);
 
 G_END_DECLS
-
 #endif /* __GST_OSSSRC_H__ */
index dffb3f0..633ce52 100644 (file)
@@ -29,7 +29,7 @@
 #include "gstv4l2src.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   /* actually, we can survive without it, but I'll create
    * that handling later on. */
@@ -37,9 +37,9 @@ plugin_init (GstPlugin *plugin)
     return FALSE;
 
   if (!gst_element_register (plugin, "v4l2element",
-                            GST_RANK_NONE, GST_TYPE_V4L2ELEMENT) ||
+         GST_RANK_NONE, GST_TYPE_V4L2ELEMENT) ||
       !gst_element_register (plugin, "v4l2src",
-                            GST_RANK_NONE, GST_TYPE_V4L2SRC))
+         GST_RANK_NONE, GST_TYPE_V4L2SRC))
     return FALSE;
 
 #ifdef ENABLE_NLS
@@ -50,14 +50,8 @@ plugin_init (GstPlugin *plugin)
   return TRUE;
 }
 
-GST_PLUGIN_DEFINE (
-  GST_VERSION_MAJOR,
-  GST_VERSION_MINOR,
-  "video4linux2",
-  "elements for Video 4 Linux 2",
-  plugin_init,
-  VERSION,
-  GST_LICENSE,
-  GST_PACKAGE,
-  GST_ORIGIN
-)
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    "video4linux2",
+    "elements for Video 4 Linux 2",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE, GST_ORIGIN)
index 0fd1867..274043d 100644 (file)
 #include "gstv4l2element.h"
 
 static void
-gst_v4l2_color_balance_channel_class_init(GstV4l2ColorBalanceChannelClass *klass);
-static void
-gst_v4l2_color_balance_channel_init    (GstV4l2ColorBalanceChannel *channel);
-
-static const GList *
-gst_v4l2_color_balance_list_channels   (GstColorBalance        *balance);
-static void
-gst_v4l2_color_balance_set_value       (GstColorBalance        *balance,
-                                        GstColorBalanceChannel *channel,
-                                        gint                    value);
-static gint
-gst_v4l2_color_balance_get_value       (GstColorBalance        *balance,
-                                        GstColorBalanceChannel *channel);
+gst_v4l2_color_balance_channel_class_init (GstV4l2ColorBalanceChannelClass *
+    klass);
+static void gst_v4l2_color_balance_channel_init (GstV4l2ColorBalanceChannel *
+    channel);
+
+static const GList *gst_v4l2_color_balance_list_channels (GstColorBalance *
+    balance);
+static void gst_v4l2_color_balance_set_value (GstColorBalance * balance,
+    GstColorBalanceChannel * channel, gint value);
+static gint gst_v4l2_color_balance_get_value (GstColorBalance * balance,
+    GstColorBalanceChannel * channel);
 
 static GstColorBalanceChannelClass *parent_class = NULL;
 
@@ -65,30 +63,30 @@ gst_v4l2_color_balance_channel_get_type (void)
 
     gst_v4l2_color_balance_channel_type =
        g_type_register_static (GST_TYPE_COLOR_BALANCE_CHANNEL,
-                               "GstV4l2ColorBalanceChannel",
-                               &v4l2_tuner_channel_info, 0);
+       "GstV4l2ColorBalanceChannel", &v4l2_tuner_channel_info, 0);
   }
 
   return gst_v4l2_color_balance_channel_type;
 }
 
 static void
-gst_v4l2_color_balance_channel_class_init (GstV4l2ColorBalanceChannelClass *klass)
+gst_v4l2_color_balance_channel_class_init (GstV4l2ColorBalanceChannelClass *
+    klass)
 {
   parent_class = g_type_class_ref (GST_TYPE_COLOR_BALANCE_CHANNEL);
 }
 
 static void
-gst_v4l2_color_balance_channel_init (GstV4l2ColorBalanceChannel *channel)
+gst_v4l2_color_balance_channel_init (GstV4l2ColorBalanceChannel * channel)
 {
   channel->index = 0;
 }
 
 void
-gst_v4l2_color_balance_interface_init (GstColorBalanceClass *klass)
+gst_v4l2_color_balance_interface_init (GstColorBalanceClass * klass)
 {
   GST_COLOR_BALANCE_TYPE (klass) = GST_COLOR_BALANCE_HARDWARE;
-  
+
   /* default virtual functions */
   klass->list_channels = gst_v4l2_color_balance_list_channels;
   klass->set_value = gst_v4l2_color_balance_set_value;
@@ -96,8 +94,8 @@ gst_v4l2_color_balance_interface_init (GstColorBalanceClass *klass)
 }
 
 static gboolean
-gst_v4l2_color_balance_contains_channel (GstV4l2Element             *v4l2element,
-                                        GstV4l2ColorBalanceChannel *v4l2channel)
+gst_v4l2_color_balance_contains_channel (GstV4l2Element v4l2element,
+    GstV4l2ColorBalanceChannel * v4l2channel)
 {
   const GList *item;
 
@@ -109,42 +107,40 @@ gst_v4l2_color_balance_contains_channel (GstV4l2Element             *v4l2element
 }
 
 static const GList *
-gst_v4l2_color_balance_list_channels (GstColorBalance *balance)
+gst_v4l2_color_balance_list_channels (GstColorBalance * balance)
 {
   return GST_V4L2ELEMENT (balance)->colors;
 }
 
 static void
-gst_v4l2_color_balance_set_value (GstColorBalance        *balance,
-                                 GstColorBalanceChannel *channel,
-                                 gint                    value)
+gst_v4l2_color_balance_set_value (GstColorBalance * balance,
+    GstColorBalanceChannel * channel, gint value)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (balance);
   GstV4l2ColorBalanceChannel *v4l2channel =
-       GST_V4L2_COLOR_BALANCE_CHANNEL (channel);
+      GST_V4L2_COLOR_BALANCE_CHANNEL (channel);
 
   /* assert that we're opened and that we're using a known item */
   g_return_if_fail (GST_V4L2_IS_OPEN (v4l2element));
   g_return_if_fail (gst_v4l2_color_balance_contains_channel (v4l2element,
-                                                            v4l2channel));
+         v4l2channel));
 
   gst_v4l2_set_attribute (v4l2element, v4l2channel->index, value);
 }
 
 static gint
-gst_v4l2_color_balance_get_value (GstColorBalance        *balance,
-                                 GstColorBalanceChannel *channel)
+gst_v4l2_color_balance_get_value (GstColorBalance balance,
+    GstColorBalanceChannel * channel)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (balance);
   GstV4l2ColorBalanceChannel *v4l2channel =
-       GST_V4L2_COLOR_BALANCE_CHANNEL (channel);
+      GST_V4L2_COLOR_BALANCE_CHANNEL (channel);
   gint value;
 
   /* assert that we're opened and that we're using a known item */
   g_return_val_if_fail (GST_V4L2_IS_OPEN (v4l2element), 0);
   g_return_val_if_fail (gst_v4l2_color_balance_contains_channel (v4l2element,
-                                                                v4l2channel),
-                       0);
+         v4l2channel), 0);
 
   if (!gst_v4l2_get_attribute (v4l2element, v4l2channel->index, &value))
     return 0;
index 4003203..f0de44c 100644 (file)
@@ -27,7 +27,6 @@
 #include "v4l2_calls.h"
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL \
   (gst_v4l2_color_balance_channel_get_type ())
 #define GST_V4L2_COLOR_BALANCE_CHANNEL(obj) \
@@ -40,19 +39,20 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL))
 #define GST_IS_V4L2_COLOR_BALANCE_CHANNEL_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL))
-
-typedef struct _GstV4l2ColorBalanceChannel {
+    typedef struct _GstV4l2ColorBalanceChannel
+{
   GstColorBalanceChannel parent;
 
   guint32 index;
 } GstV4l2ColorBalanceChannel;
 
-typedef struct _GstV4l2ColorBalanceChannelClass {
+typedef struct _GstV4l2ColorBalanceChannelClass
+{
   GstColorBalanceChannelClass parent;
 } GstV4l2ColorBalanceChannelClass;
 
-GType  gst_v4l2_color_balance_channel_get_type (void);
+GType gst_v4l2_color_balance_channel_get_type (void);
 
-void   gst_v4l2_color_balance_interface_init   (GstColorBalanceClass *klass);
+void gst_v4l2_color_balance_interface_init (GstColorBalanceClass * klass);
 
 #endif /* __GST_V4L2_COLOR_BALANCE_H__ */
index eb12501..246d494 100644 (file)
 
 /* elementfactory details */
 static GstElementDetails gst_v4l2element_details = {
-       "Generic video4linux2 Element",
-       "Generic/Video",
-       "Generic plugin for handling common video4linux2 calls",
-       "Ronald Bultje <rbultje@ronald.bitfreak.net>"
+  "Generic video4linux2 Element",
+  "Generic/Video",
+  "Generic plugin for handling common video4linux2 calls",
+  "Ronald Bultje <rbultje@ronald.bitfreak.net>"
 };
 
 /* V4l2Element signals and args */
-enum {
+enum
+{
   /* FILL ME */
   SIGNAL_OPEN,
   SIGNAL_CLOSE,
   LAST_SIGNAL
 };
 
-enum {
+enum
+{
   ARG_0,
   ARG_DEVICE,
   ARG_DEVICE_NAME,
@@ -60,20 +62,16 @@ enum {
 };
 
 
-static void    gst_v4l2element_class_init      (GstV4l2ElementClass *klass);
-static void    gst_v4l2element_base_init       (GstV4l2ElementClass *klass);
-static void    gst_v4l2element_init            (GstV4l2Element *v4lelement);
-static void    gst_v4l2element_dispose         (GObject        *object);
-static void    gst_v4l2element_set_property    (GObject        *object,
-                                                guint          prop_id,
-                                                const GValue   *value,
-                                                GParamSpec     *pspec);
-static void    gst_v4l2element_get_property    (GObject        *object,
-                                                guint          prop_id,
-                                                GValue         *value,
-                                                GParamSpec     *pspec);
+static void gst_v4l2element_class_init (GstV4l2ElementClass * klass);
+static void gst_v4l2element_base_init (GstV4l2ElementClass * klass);
+static void gst_v4l2element_init (GstV4l2Element * v4lelement);
+static void gst_v4l2element_dispose (GObject * object);
+static void gst_v4l2element_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_v4l2element_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
 static GstElementStateReturn
-               gst_v4l2element_change_state    (GstElement     *element);
+gst_v4l2element_change_state (GstElement * element);
 
 
 static GstElementClass *parent_class = NULL;
@@ -81,260 +79,244 @@ static guint gst_v4l2element_signals[LAST_SIGNAL] = { 0 };
 
 
 static gboolean
-gst_v4l2_iface_supported (GstImplementsInterface *iface,
-                         GType                   iface_type)
+gst_v4l2_iface_supported (GstImplementsInterface * iface, GType iface_type)
 {
-       GstV4l2Element *v4l2element = GST_V4L2ELEMENT (iface);
+  GstV4l2Element *v4l2element = GST_V4L2ELEMENT (iface);
 
-       g_assert (iface_type == GST_TYPE_TUNER ||
-                 iface_type == GST_TYPE_X_OVERLAY ||
-                 iface_type == GST_TYPE_COLOR_BALANCE);
+  g_assert (iface_type == GST_TYPE_TUNER ||
+      iface_type == GST_TYPE_X_OVERLAY || iface_type == GST_TYPE_COLOR_BALANCE);
 
-       if (v4l2element->video_fd == -1)
-               return FALSE;
+  if (v4l2element->video_fd == -1)
+    return FALSE;
 
-       if (iface_type == GST_TYPE_X_OVERLAY &&
-           !GST_V4L2_IS_OVERLAY(v4l2element))
-               return FALSE;
+  if (iface_type == GST_TYPE_X_OVERLAY && !GST_V4L2_IS_OVERLAY (v4l2element))
+    return FALSE;
 
-       return TRUE;
+  return TRUE;
 }
 
 
 static void
-gst_v4l2_interface_init (GstImplementsInterfaceClass *klass)
+gst_v4l2_interface_init (GstImplementsInterfaceClass * klass)
 {
-       /* default virtual functions */
-       klass->supported = gst_v4l2_iface_supported;
+  /* default virtual functions */
+  klass->supported = gst_v4l2_iface_supported;
 }
 
 
 static const GList *
-gst_v4l2_probe_get_properties (GstPropertyProbe *probe)
+gst_v4l2_probe_get_properties (GstPropertyProbe * probe)
 {
-       GObjectClass *klass = G_OBJECT_GET_CLASS (probe);
-       static GList *list = NULL;
+  GObjectClass *klass = G_OBJECT_GET_CLASS (probe);
+  static GList *list = NULL;
 
-       if (!list) {
-               list = g_list_append (NULL,
-                               g_object_class_find_property (klass, "device"));
-       }
+  if (!list) {
+    list = g_list_append (NULL, g_object_class_find_property (klass, "device"));
+  }
 
-       return list;
+  return list;
 }
 
 static gboolean
-gst_v4l2_class_probe_devices (GstV4l2ElementClass *klass,
-                             gboolean             check)
+gst_v4l2_class_probe_devices (GstV4l2ElementClass * klass, gboolean check)
 {
-       static gboolean init = FALSE;
-       static GList *devices = NULL;
-
-       if (!init && !check) {
-               gchar *dev_base[] = { "/dev/video", "/dev/v4l/video", NULL };
-               gint base, n, fd;
-
-               while (devices) {
-                       GList *item = devices;
-                       gchar *device = item->data;
-
-                       devices = g_list_remove (devices, item);
-                       g_free (device);
-               }
-
-               /* detect /dev entries */
-               for (n = 0; n < 64; n++) {
-                       for (base = 0; dev_base[base] != NULL; base++) {
-                               struct stat s;
-                               gchar *device = g_strdup_printf ("%s%d",
-                                                       dev_base[base], n);
-
-                               /* does the /dev/ entry exist at all? */
-                               if (stat (device, &s) == 0) {
-                                       /* yes: is a device attached? */
-                                       if ((fd = open (device, O_RDONLY)) > 0 ||
-                                           errno == EBUSY) {
-                                               if (fd > 0)
-                                                       close (fd);
-
-                                               devices =
-                                                       g_list_append (devices,
-                                                                      device);
-                                               break;
-                                       }
-                               }
-                               g_free (device);
-                       }
-               }
-
-               init = TRUE;
+  static gboolean init = FALSE;
+  static GList *devices = NULL;
+
+  if (!init && !check) {
+    gchar *dev_base[] = { "/dev/video", "/dev/v4l/video", NULL };
+    gint base, n, fd;
+
+    while (devices) {
+      GList *item = devices;
+      gchar *device = item->data;
+
+      devices = g_list_remove (devices, item);
+      g_free (device);
+    }
+
+    /* detect /dev entries */
+    for (n = 0; n < 64; n++) {
+      for (base = 0; dev_base[base] != NULL; base++) {
+       struct stat s;
+       gchar *device = g_strdup_printf ("%s%d",
+           dev_base[base], n);
+
+       /* does the /dev/ entry exist at all? */
+       if (stat (device, &s) == 0) {
+         /* yes: is a device attached? */
+         if ((fd = open (device, O_RDONLY)) > 0 || errno == EBUSY) {
+           if (fd > 0)
+             close (fd);
+
+           devices = g_list_append (devices, device);
+           break;
+         }
        }
+       g_free (device);
+      }
+    }
 
-       klass->devices = devices;
+    init = TRUE;
+  }
 
-       return init;
+  klass->devices = devices;
+
+  return init;
 }
 
 static void
-gst_v4l2_probe_probe_property (GstPropertyProbe *probe,
-                              guint             prop_id,
-                              const GParamSpec *pspec)
+gst_v4l2_probe_probe_property (GstPropertyProbe * probe,
+    guint prop_id, const GParamSpec * pspec)
 {
-       GstV4l2ElementClass *klass = GST_V4L2ELEMENT_GET_CLASS (probe);
-
-       switch (prop_id) {
-               case ARG_DEVICE:
-                       gst_v4l2_class_probe_devices (klass, FALSE);
-                       break;
-               default:
-                       G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
-                       break;
-       }
+  GstV4l2ElementClass *klass = GST_V4L2ELEMENT_GET_CLASS (probe);
+
+  switch (prop_id) {
+    case ARG_DEVICE:
+      gst_v4l2_class_probe_devices (klass, FALSE);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
+      break;
+  }
 }
 
 static gboolean
-gst_v4l2_probe_needs_probe (GstPropertyProbe *probe,
-                           guint             prop_id,
-                           const GParamSpec *pspec)
+gst_v4l2_probe_needs_probe (GstPropertyProbe * probe,
+    guint prop_id, const GParamSpec * pspec)
 {
-       GstV4l2ElementClass *klass = GST_V4L2ELEMENT_GET_CLASS (probe);
-       gboolean ret = FALSE;
-
-       switch (prop_id) {
-               case ARG_DEVICE:
-                       ret = !gst_v4l2_class_probe_devices (klass, TRUE);
-                       break;
-               default:
-                       G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
-                       break;
-       }
+  GstV4l2ElementClass *klass = GST_V4L2ELEMENT_GET_CLASS (probe);
+  gboolean ret = FALSE;
 
-       return ret;
+  switch (prop_id) {
+    case ARG_DEVICE:
+      ret = !gst_v4l2_class_probe_devices (klass, TRUE);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
+      break;
+  }
+
+  return ret;
 }
 
 static GValueArray *
-gst_v4l2_class_list_devices (GstV4l2ElementClass *klass)
+gst_v4l2_class_list_devices (GstV4l2ElementClass * klass)
 {
-       GValueArray *array;
-       GValue value = { 0 };
-       GList *item;
+  GValueArray *array;
+  GValue value = { 0 };
+  GList *item;
 
-       if (!klass->devices)
-               return NULL;
+  if (!klass->devices)
+    return NULL;
 
-       array = g_value_array_new (g_list_length (klass->devices));
-       item = klass->devices;
-       g_value_init (&value, G_TYPE_STRING);
-       while (item) {
-               gchar *device = item->data;
+  array = g_value_array_new (g_list_length (klass->devices));
+  item = klass->devices;
+  g_value_init (&value, G_TYPE_STRING);
+  while (item) {
+    gchar *device = item->data;
 
-               g_value_set_string (&value, device);
-               g_value_array_append (array, &value);
+    g_value_set_string (&value, device);
+    g_value_array_append (array, &value);
 
-               item = item->next;
-       }
-       g_value_unset (&value);
+    item = item->next;
+  }
+  g_value_unset (&value);
 
-       return array;
+  return array;
 }
 
 static GValueArray *
-gst_v4l2_probe_get_values (GstPropertyProbe *probe,
-                          guint             prop_id,
-                          const GParamSpec *pspec)
+gst_v4l2_probe_get_values (GstPropertyProbe * probe,
+    guint prop_id, const GParamSpec * pspec)
 {
-       GstV4l2ElementClass *klass = GST_V4L2ELEMENT_GET_CLASS (probe);
-       GValueArray *array = NULL;
-
-       switch (prop_id) {
-               case ARG_DEVICE:
-                       array = gst_v4l2_class_list_devices (klass);
-                       break;
-               default:
-                       G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
-                       break;
-       }
+  GstV4l2ElementClass *klass = GST_V4L2ELEMENT_GET_CLASS (probe);
+  GValueArray *array = NULL;
+
+  switch (prop_id) {
+    case ARG_DEVICE:
+      array = gst_v4l2_class_list_devices (klass);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
+      break;
+  }
 
-       return array;
+  return array;
 }
 
 
 static void
-gst_v4l2_property_probe_interface_init (GstPropertyProbeInterface *iface)
+gst_v4l2_property_probe_interface_init (GstPropertyProbeInterface * iface)
 {
-       iface->get_properties = gst_v4l2_probe_get_properties;
-       iface->probe_property = gst_v4l2_probe_probe_property;
-       iface->needs_probe    = gst_v4l2_probe_needs_probe;
-       iface->get_values     = gst_v4l2_probe_get_values;
+  iface->get_properties = gst_v4l2_probe_get_properties;
+  iface->probe_property = gst_v4l2_probe_probe_property;
+  iface->needs_probe = gst_v4l2_probe_needs_probe;
+  iface->get_values = gst_v4l2_probe_get_values;
 }
 
 
 GType
 gst_v4l2element_get_type (void)
 {
-       static GType v4l2element_type = 0;
-
-       if (!v4l2element_type) {
-               static const GTypeInfo v4l2element_info = {
-                       sizeof(GstV4l2ElementClass),
-                       (GBaseInitFunc) gst_v4l2element_base_init,
-                       NULL,
-                       (GClassInitFunc) gst_v4l2element_class_init,
-                       NULL,
-                       NULL,
-                       sizeof(GstV4l2Element),
-                       0,
-                       (GInstanceInitFunc) gst_v4l2element_init,
-                       NULL
-               };
-               static const GInterfaceInfo v4l2iface_info = {
-                       (GInterfaceInitFunc) gst_v4l2_interface_init,
-                       NULL,
-                       NULL,
-               };
-               static const GInterfaceInfo v4l2_tuner_info = {
-                       (GInterfaceInitFunc) gst_v4l2_tuner_interface_init,
-                       NULL,
-                       NULL,
-               };
-               static const GInterfaceInfo v4l2_xoverlay_info = {
-                       (GInterfaceInitFunc) gst_v4l2_xoverlay_interface_init,
-                       NULL,
-                       NULL,
-               };
-               static const GInterfaceInfo v4l2_colorbalance_info = {
-                       (GInterfaceInitFunc) gst_v4l2_color_balance_interface_init,
-                       NULL,
-                       NULL,
-               };
-               static const GInterfaceInfo v4l2_propertyprobe_info = {
-                       (GInterfaceInitFunc) gst_v4l2_property_probe_interface_init,
-                       NULL,
-                       NULL,
-               };
-
-               v4l2element_type =
-                       g_type_register_static(GST_TYPE_ELEMENT,
-                               "GstV4l2Element", &v4l2element_info, 0);
-
-               g_type_add_interface_static (v4l2element_type,
-                                            GST_TYPE_IMPLEMENTS_INTERFACE,
-                                            &v4l2iface_info);
-               g_type_add_interface_static (v4l2element_type,
-                                            GST_TYPE_TUNER,
-                                            &v4l2_tuner_info);
-               g_type_add_interface_static (v4l2element_type,
-                                            GST_TYPE_X_OVERLAY,
-                                            &v4l2_xoverlay_info);
-               g_type_add_interface_static (v4l2element_type,
-                                            GST_TYPE_COLOR_BALANCE,
-                                            &v4l2_colorbalance_info);
-               g_type_add_interface_static (v4l2element_type,
-                                            GST_TYPE_PROPERTY_PROBE,
-                                            &v4l2_propertyprobe_info);
-       }
+  static GType v4l2element_type = 0;
+
+  if (!v4l2element_type) {
+    static const GTypeInfo v4l2element_info = {
+      sizeof (GstV4l2ElementClass),
+      (GBaseInitFunc) gst_v4l2element_base_init,
+      NULL,
+      (GClassInitFunc) gst_v4l2element_class_init,
+      NULL,
+      NULL,
+      sizeof (GstV4l2Element),
+      0,
+      (GInstanceInitFunc) gst_v4l2element_init,
+      NULL
+    };
+    static const GInterfaceInfo v4l2iface_info = {
+      (GInterfaceInitFunc) gst_v4l2_interface_init,
+      NULL,
+      NULL,
+    };
+    static const GInterfaceInfo v4l2_tuner_info = {
+      (GInterfaceInitFunc) gst_v4l2_tuner_interface_init,
+      NULL,
+      NULL,
+    };
+    static const GInterfaceInfo v4l2_xoverlay_info = {
+      (GInterfaceInitFunc) gst_v4l2_xoverlay_interface_init,
+      NULL,
+      NULL,
+    };
+    static const GInterfaceInfo v4l2_colorbalance_info = {
+      (GInterfaceInitFunc) gst_v4l2_color_balance_interface_init,
+      NULL,
+      NULL,
+    };
+    static const GInterfaceInfo v4l2_propertyprobe_info = {
+      (GInterfaceInitFunc) gst_v4l2_property_probe_interface_init,
+      NULL,
+      NULL,
+    };
+
+    v4l2element_type =
+       g_type_register_static (GST_TYPE_ELEMENT,
+       "GstV4l2Element", &v4l2element_info, 0);
+
+    g_type_add_interface_static (v4l2element_type,
+       GST_TYPE_IMPLEMENTS_INTERFACE, &v4l2iface_info);
+    g_type_add_interface_static (v4l2element_type,
+       GST_TYPE_TUNER, &v4l2_tuner_info);
+    g_type_add_interface_static (v4l2element_type,
+       GST_TYPE_X_OVERLAY, &v4l2_xoverlay_info);
+    g_type_add_interface_static (v4l2element_type,
+       GST_TYPE_COLOR_BALANCE, &v4l2_colorbalance_info);
+    g_type_add_interface_static (v4l2element_type,
+       GST_TYPE_PROPERTY_PROBE, &v4l2_propertyprobe_info);
+  }
 
-       return v4l2element_type;
+  return v4l2element_type;
 }
 
 
@@ -342,80 +324,78 @@ gst_v4l2element_get_type (void)
 GType
 gst_v4l2_device_get_type (void)
 {
-       static GType v4l2_device_type = 0;
-
-       if (v4l2_device_type == 0) {
-               static const GFlagsValue values[] = {
-                       { V4L2_CAP_VIDEO_CAPTURE, "CAPTURE",
-                         "Device can capture" },
-                       { V4L2_CAP_VIDEO_OUTPUT,  "PLAYBACK",
-                         "Device can playback" },
-                       { V4L2_CAP_VIDEO_OVERLAY, "OVERLAY",
-                         "Device can do overlay" },
-                       { V4L2_CAP_TUNER,         "TUNER",
-                         "Device has a tuner" },
-                       { V4L2_CAP_AUDIO,         "AUDIO",
-                         "Device handles audio" },
-                       { 0, NULL, NULL }
-               };
-
-               v4l2_device_type =
-                       g_flags_register_static ("GstV4l2DeviceTypeFlags",
-                                                values);
-       }
+  static GType v4l2_device_type = 0;
+
+  if (v4l2_device_type == 0) {
+    static const GFlagsValue values[] = {
+      {V4L2_CAP_VIDEO_CAPTURE, "CAPTURE",
+         "Device can capture"},
+      {V4L2_CAP_VIDEO_OUTPUT, "PLAYBACK",
+         "Device can playback"},
+      {V4L2_CAP_VIDEO_OVERLAY, "OVERLAY",
+         "Device can do overlay"},
+      {V4L2_CAP_TUNER, "TUNER",
+         "Device has a tuner"},
+      {V4L2_CAP_AUDIO, "AUDIO",
+         "Device handles audio"},
+      {0, NULL, NULL}
+    };
+
+    v4l2_device_type =
+       g_flags_register_static ("GstV4l2DeviceTypeFlags", values);
+  }
 
-       return v4l2_device_type;
+  return v4l2_device_type;
 }
 
 static void
-gst_v4l2element_base_init (GstV4l2ElementClass *klass)
+gst_v4l2element_base_init (GstV4l2ElementClass * klass)
 {
-       GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
+  GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
 
-       klass->devices = NULL;
+  klass->devices = NULL;
 
-       gst_element_class_set_details (gstelement_class,
-                                      &gst_v4l2element_details);
+  gst_element_class_set_details (gstelement_class, &gst_v4l2element_details);
 }
 
 static void
-gst_v4l2element_class_init (GstV4l2ElementClass *klass)
+gst_v4l2element_class_init (GstV4l2ElementClass * klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
 
   parent_class = g_type_class_peek_parent (klass);
 
-  g_object_class_install_property(gobject_class, ARG_DEVICE,
-         g_param_spec_string("device", "Device", "Device location",
-                 NULL, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_DEVICE_NAME,
-         g_param_spec_string("device_name", "Device name",
-                 "Name of the device", NULL, G_PARAM_READABLE));
-  g_object_class_install_property(gobject_class, ARG_FLAGS,
-         g_param_spec_flags("flags", "Flags", "Device type flags",
-                 GST_TYPE_V4L2_DEVICE_FLAGS, 0, G_PARAM_READABLE));
-  g_object_class_install_property(gobject_class, ARG_NORM,
-         g_param_spec_string("norm", "norm",
-                 "Norm to use", NULL, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_CHANNEL,
-         g_param_spec_string("channel", "channel",
-                 "input/output to switch to", NULL, G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_FREQUENCY,
+  g_object_class_install_property (gobject_class, ARG_DEVICE,
+      g_param_spec_string ("device", "Device", "Device location",
+         NULL, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_DEVICE_NAME,
+      g_param_spec_string ("device_name", "Device name",
+         "Name of the device", NULL, G_PARAM_READABLE));
+  g_object_class_install_property (gobject_class, ARG_FLAGS,
+      g_param_spec_flags ("flags", "Flags", "Device type flags",
+         GST_TYPE_V4L2_DEVICE_FLAGS, 0, G_PARAM_READABLE));
+  g_object_class_install_property (gobject_class, ARG_NORM,
+      g_param_spec_string ("norm", "norm",
+         "Norm to use", NULL, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_CHANNEL,
+      g_param_spec_string ("channel", "channel",
+         "input/output to switch to", NULL, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_FREQUENCY,
       g_param_spec_ulong ("frequency", "frequency",
          "frequency to tune to", 0, G_MAXULONG, 0, G_PARAM_READWRITE));
 
   /* signals */
   gst_v4l2element_signals[SIGNAL_OPEN] =
-         g_signal_new("open", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET(GstV4l2ElementClass, open),
-                 NULL, NULL, g_cclosure_marshal_VOID__STRING,
-                 G_TYPE_NONE, 1, G_TYPE_STRING);
+      g_signal_new ("open", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstV4l2ElementClass, open),
+      NULL, NULL, g_cclosure_marshal_VOID__STRING,
+      G_TYPE_NONE, 1, G_TYPE_STRING);
   gst_v4l2element_signals[SIGNAL_CLOSE] =
-         g_signal_new("close", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET(GstV4l2ElementClass, close),
-                 NULL, NULL, g_cclosure_marshal_VOID__STRING,
-                 G_TYPE_NONE, 1, G_TYPE_STRING);
+      g_signal_new ("close", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstV4l2ElementClass, close),
+      NULL, NULL, g_cclosure_marshal_VOID__STRING,
+      G_TYPE_NONE, 1, G_TYPE_STRING);
 
   gobject_class->set_property = gst_v4l2element_set_property;
   gobject_class->get_property = gst_v4l2element_get_property;
@@ -426,29 +406,29 @@ gst_v4l2element_class_init (GstV4l2ElementClass *klass)
 
 
 static void
-gst_v4l2element_init (GstV4l2Element *v4l2element)
+gst_v4l2element_init (GstV4l2Element * v4l2element)
 {
-       /* some default values */
-       v4l2element->video_fd = -1;
-       v4l2element->buffer = NULL;
-       v4l2element->device = g_strdup("/dev/video");
-       v4l2element->display = g_strdup(g_getenv("DISPLAY"));
+  /* some default values */
+  v4l2element->video_fd = -1;
+  v4l2element->buffer = NULL;
+  v4l2element->device = g_strdup ("/dev/video");
+  v4l2element->display = g_strdup (g_getenv ("DISPLAY"));
 
-       v4l2element->channels = NULL;
-       v4l2element->norms = NULL;
-       v4l2element->colors = NULL;
+  v4l2element->channels = NULL;
+  v4l2element->norms = NULL;
+  v4l2element->colors = NULL;
 
-       v4l2element->overlay = gst_v4l2_xoverlay_new(v4l2element);
+  v4l2element->overlay = gst_v4l2_xoverlay_new (v4l2element);
 }
 
 
 static void
-gst_v4l2element_dispose (GObject *object)
+gst_v4l2element_dispose (GObject * object)
 {
-  GstV4l2Element *v4l2element = GST_V4L2ELEMENT(object);
+  GstV4l2Element *v4l2element = GST_V4L2ELEMENT (object);
 
   if (v4l2element->overlay) {
-    gst_v4l2_xoverlay_free(v4l2element);
+    gst_v4l2_xoverlay_free (v4l2element);
   }
 
   if (v4l2element->display) {
@@ -461,37 +441,36 @@ gst_v4l2element_dispose (GObject *object)
   v4l2element->norm = NULL;
   g_free (v4l2element->channel);
   v4l2element->channel = NULL;
-  
+
   if (((GObjectClass *) parent_class)->dispose)
-    ((GObjectClass *) parent_class)->dispose(object);
+    ((GObjectClass *) parent_class)->dispose (object);
 }
 
 static void
-gst_v4l2element_set_property (GObject      *object,
-                              guint        prop_id,
-                              const GValue *value,
-                              GParamSpec   *pspec)
+gst_v4l2element_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
 {
   GstV4l2Element *v4l2element;
   GstTuner *tuner;
-  
+
   /* it's not null if we got it, but it might not be ours */
   g_return_if_fail (GST_IS_V4L2ELEMENT (object));
   v4l2element = GST_V4L2ELEMENT (object);
   /* stupid GstInterface */
   tuner = (GstTuner *) object;
-  
+
   switch (prop_id) {
     case ARG_DEVICE:
-      if (!GST_V4L2_IS_OPEN(v4l2element)) {
+      if (!GST_V4L2_IS_OPEN (v4l2element)) {
        if (v4l2element->device)
-         g_free(v4l2element->device);
-       v4l2element->device = g_value_dup_string(value);
+         g_free (v4l2element->device);
+       v4l2element->device = g_value_dup_string (value);
       }
       break;
     case ARG_NORM:
-      if (GST_V4L2_IS_OPEN(v4l2element)) {
+      if (GST_V4L2_IS_OPEN (v4l2element)) {
        GstTunerNorm *norm = gst_tuner_get_norm (tuner);
+
        if (norm) {
          gst_tuner_set_norm (tuner, norm);
        }
@@ -502,8 +481,9 @@ gst_v4l2element_set_property (GObject      *object,
       }
       break;
     case ARG_CHANNEL:
-      if (GST_V4L2_IS_OPEN(v4l2element)) {
+      if (GST_V4L2_IS_OPEN (v4l2element)) {
        GstTunerChannel *channel = gst_tuner_get_channel (tuner);
+
        if (channel) {
          gst_tuner_set_channel (tuner, channel);
        }
@@ -514,9 +494,11 @@ gst_v4l2element_set_property (GObject      *object,
       }
       break;
     case ARG_FREQUENCY:
-      if (GST_V4L2_IS_OPEN(v4l2element)) {
+      if (GST_V4L2_IS_OPEN (v4l2element)) {
        GstTunerChannel *channel;
-       if (!v4l2element->channel) return;
+
+       if (!v4l2element->channel)
+         return;
        channel = gst_tuner_get_channel (tuner);
        g_assert (channel);
        gst_tuner_set_frequency (tuner, channel, g_value_get_ulong (value));
@@ -533,94 +515,91 @@ gst_v4l2element_set_property (GObject      *object,
 
 
 static void
-gst_v4l2element_get_property (GObject    *object,
-                              guint      prop_id,
-                              GValue     *value,
-                              GParamSpec *pspec)
+gst_v4l2element_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
-       GstV4l2Element *v4l2element;
-
-       /* it's not null if we got it, but it might not be ours */
-       g_return_if_fail(GST_IS_V4L2ELEMENT(object));
-       v4l2element = GST_V4L2ELEMENT(object);
-
-       switch (prop_id) {
-               case ARG_DEVICE:
-                       g_value_set_string(value, v4l2element->device);
-                       break;
-               case ARG_DEVICE_NAME: {
-                       gchar *new = NULL;
-                       if (GST_V4L2_IS_OPEN(v4l2element))
-                               new = v4l2element->vcap.card;
-                       g_value_set_string(value, new);
-                       break;
-               }
-               case ARG_FLAGS: {
-                       guint flags = 0;
-                       if (GST_V4L2_IS_OPEN(v4l2element)) {
-                               flags |= v4l2element->vcap.capabilities &
-                                       30007;
-                       }
-                       g_value_set_flags(value, flags);
-                       break;
-               }
-               case ARG_NORM:
-                       g_value_set_string (value, v4l2element->norm);
-                       break;
-               case ARG_CHANNEL:
-                       g_value_set_string (value, v4l2element->channel);
-                       break;
-               case ARG_FREQUENCY:
-                       g_value_set_ulong (value, v4l2element->frequency);
-                       break;
-               default:
-                       G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
-                       break;
-       }
+  GstV4l2Element *v4l2element;
+
+  /* it's not null if we got it, but it might not be ours */
+  g_return_if_fail (GST_IS_V4L2ELEMENT (object));
+  v4l2element = GST_V4L2ELEMENT (object);
+
+  switch (prop_id) {
+    case ARG_DEVICE:
+      g_value_set_string (value, v4l2element->device);
+      break;
+    case ARG_DEVICE_NAME:{
+      gchar *new = NULL;
+
+      if (GST_V4L2_IS_OPEN (v4l2element))
+       new = v4l2element->vcap.card;
+      g_value_set_string (value, new);
+      break;
+    }
+    case ARG_FLAGS:{
+      guint flags = 0;
+
+      if (GST_V4L2_IS_OPEN (v4l2element)) {
+       flags |= v4l2element->vcap.capabilities & 30007;
+      }
+      g_value_set_flags (value, flags);
+      break;
+    }
+    case ARG_NORM:
+      g_value_set_string (value, v4l2element->norm);
+      break;
+    case ARG_CHANNEL:
+      g_value_set_string (value, v4l2element->channel);
+      break;
+    case ARG_FREQUENCY:
+      g_value_set_ulong (value, v4l2element->frequency);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
 }
 
 
 static GstElementStateReturn
-gst_v4l2element_change_state (GstElement *element)
+gst_v4l2element_change_state (GstElement * element)
 {
-       GstV4l2Element *v4l2element;
-
-       g_return_val_if_fail(GST_IS_V4L2ELEMENT(element), GST_STATE_FAILURE);
-  
-       v4l2element = GST_V4L2ELEMENT(element);
-
-       /* if going down into NULL state, close the device if it's open
-        * if going to READY, open the device (and set some options)
-        */
-       switch (GST_STATE_TRANSITION(element)) {
-               case GST_STATE_NULL_TO_READY:
-                       gst_v4l2_set_display(v4l2element);
-
-                       if (!gst_v4l2_open(v4l2element))
-                               return GST_STATE_FAILURE;
-
-                       gst_v4l2_xoverlay_open(v4l2element);
-
-                       /* emit a signal! whoopie! */
-                       g_signal_emit(G_OBJECT(v4l2element),
-                               gst_v4l2element_signals[SIGNAL_OPEN], 0,
-                               v4l2element->device);
-                       break;
-               case GST_STATE_READY_TO_NULL:
-                       gst_v4l2_xoverlay_close(v4l2element);
-
-                       if (!gst_v4l2_close(v4l2element))
-                               return GST_STATE_FAILURE;
-
-                       /* emit yet another signal! wheehee! */
-                       g_signal_emit(G_OBJECT(v4l2element),
-                               gst_v4l2element_signals[SIGNAL_CLOSE], 0,
-                               v4l2element->device);
-                       break;
-       }
+  GstV4l2Element *v4l2element;
+
+  g_return_val_if_fail (GST_IS_V4L2ELEMENT (element), GST_STATE_FAILURE);
+
+  v4l2element = GST_V4L2ELEMENT (element);
+
+  /* if going down into NULL state, close the device if it's open
+   * if going to READY, open the device (and set some options)
+   */
+  switch (GST_STATE_TRANSITION (element)) {
+    case GST_STATE_NULL_TO_READY:
+      gst_v4l2_set_display (v4l2element);
+
+      if (!gst_v4l2_open (v4l2element))
+       return GST_STATE_FAILURE;
+
+      gst_v4l2_xoverlay_open (v4l2element);
+
+      /* emit a signal! whoopie! */
+      g_signal_emit (G_OBJECT (v4l2element),
+         gst_v4l2element_signals[SIGNAL_OPEN], 0, v4l2element->device);
+      break;
+    case GST_STATE_READY_TO_NULL:
+      gst_v4l2_xoverlay_close (v4l2element);
+
+      if (!gst_v4l2_close (v4l2element))
+       return GST_STATE_FAILURE;
+
+      /* emit yet another signal! wheehee! */
+      g_signal_emit (G_OBJECT (v4l2element),
+         gst_v4l2element_signals[SIGNAL_CLOSE], 0, v4l2element->device);
+      break;
+  }
 
-       if (GST_ELEMENT_CLASS(parent_class)->change_state)
-               return GST_ELEMENT_CLASS(parent_class)->change_state(element);
+  if (GST_ELEMENT_CLASS (parent_class)->change_state)
+    return GST_ELEMENT_CLASS (parent_class)->change_state (element);
 
-       return GST_STATE_SUCCESS;
+  return GST_STATE_SUCCESS;
 }
index e46b244..7dcd684 100644 (file)
                (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4L2ELEMENT, GstV4l2ElementClass))
 
 
-typedef        struct _GstV4l2Element          GstV4l2Element;
-typedef        struct _GstV4l2ElementClass     GstV4l2ElementClass;
+typedef struct _GstV4l2Element GstV4l2Element;
+typedef struct _GstV4l2ElementClass GstV4l2ElementClass;
 
-struct _GstV4l2Element {
-       GstElement element;
+struct _GstV4l2Element
+{
+  GstElement element;
 
-       /* the video device */
-       char *device;
+  /* the video device */
+  char *device;
 
-       /* the video-device's file descriptor */
-       gint video_fd;
+  /* the video-device's file descriptor */
+  gint video_fd;
 
-       /* the video buffer (mmap()'ed) */
-       guint8 **buffer;
+  /* the video buffer (mmap()'ed) */
+  guint8 **buffer;
 
-       /* the video-device's capabilities */
-       struct v4l2_capability vcap;
+  /* the video-device's capabilities */
+  struct v4l2_capability vcap;
 
-       /* the toys available to us */
-       GList *channels;
-       GList *norms;
-       GList *colors;
+  /* the toys available to us */
+  GList *channels;
+  GList *norms;
+  GList *colors;
 
-       /* X-overlay */
-       GstXWindowListener *overlay;
-       XID xwindow_id;
+  /* X-overlay */
+  GstXWindowListener *overlay;
+  XID xwindow_id;
 
-       /* properties */
-       gchar *norm;
-       gchar *channel;
-       gulong frequency;
+  /* properties */
+  gchar *norm;
+  gchar *channel;
+  gulong frequency;
 
-       /* caching values */
-       gchar *display;
+  /* caching values */
+  gchar *display;
 };
 
-struct _GstV4l2ElementClass {
-       GstElementClass parent_class;
+struct _GstV4l2ElementClass
+{
+  GstElementClass parent_class;
 
-       /* probed devices */
-       GList *devices;
+  /* probed devices */
+  GList *devices;
 
-       /* signals */
-       void     (*open)            (GstElement  *element,
-                                    const gchar *device);
-       void     (*close)           (GstElement  *element,
-                                    const gchar *device);
+  /* signals */
+  void (*open) (GstElement * element, const gchar * device);
+  void (*close) (GstElement * element, const gchar * device);
 };
 
 
index 8b0abe1..5e5cddd 100644 (file)
@@ -31,115 +31,102 @@ GST_DEBUG_CATEGORY (v4l2src_debug);
 
 /* elementfactory details */
 static GstElementDetails gst_v4l2src_details = {
-       "Video (video4linux2) Source",
-       "Source/Video",
-       "Reads frames (compressed or uncompressed) from a video4linux2 device",
-       "Ronald Bultje <rbultje@ronald.bitfreak.net>"
+  "Video (video4linux2) Source",
+  "Source/Video",
+  "Reads frames (compressed or uncompressed) from a video4linux2 device",
+  "Ronald Bultje <rbultje@ronald.bitfreak.net>"
 };
 
 /* V4l2Src signals and args */
-enum {
-       SIGNAL_FRAME_CAPTURE,
-       SIGNAL_FRAME_DROP,
-       SIGNAL_FRAME_INSERT,
-       SIGNAL_FRAME_LOST,
-       LAST_SIGNAL
+enum
+{
+  SIGNAL_FRAME_CAPTURE,
+  SIGNAL_FRAME_DROP,
+  SIGNAL_FRAME_INSERT,
+  SIGNAL_FRAME_LOST,
+  LAST_SIGNAL
 };
 
 /* arguments */
-enum {
-       ARG_0,
-       ARG_NUMBUFS,
-       ARG_BUFSIZE,
-       ARG_USE_FIXED_FPS
+enum
+{
+  ARG_0,
+  ARG_NUMBUFS,
+  ARG_BUFSIZE,
+  ARG_USE_FIXED_FPS
 };
 
 guint32 gst_v4l2_formats[] = {
   /* from Linux 2.6.0 videodev2.h */
-  V4L2_PIX_FMT_RGB332,   /*  8  RGB-3-3-2     */
-  V4L2_PIX_FMT_RGB555,   /* 16  RGB-5-5-5     */
-  V4L2_PIX_FMT_RGB565,   /* 16  RGB-5-6-5     */
-  V4L2_PIX_FMT_RGB555X,  /* 16  RGB-5-5-5 BE  */
-  V4L2_PIX_FMT_RGB565X,  /* 16  RGB-5-6-5 BE  */
-  V4L2_PIX_FMT_BGR24,    /* 24  BGR-8-8-8     */
-  V4L2_PIX_FMT_RGB24,    /* 24  RGB-8-8-8     */
-  V4L2_PIX_FMT_BGR32,    /* 32  BGR-8-8-8-8   */
-  V4L2_PIX_FMT_RGB32,    /* 32  RGB-8-8-8-8   */
-  V4L2_PIX_FMT_GREY,     /*  8  Greyscale     */
-  V4L2_PIX_FMT_YVU410,   /*  9  YVU 4:1:0     */
-  V4L2_PIX_FMT_YVU420,   /* 12  YVU 4:2:0     */
-  V4L2_PIX_FMT_YUYV,     /* 16  YUV 4:2:2     */
-  V4L2_PIX_FMT_UYVY,     /* 16  YUV 4:2:2     */
-  V4L2_PIX_FMT_YUV422P,  /* 16  YVU422 planar */
-  V4L2_PIX_FMT_YUV411P,  /* 16  YVU411 planar */
-  V4L2_PIX_FMT_Y41P,     /* 12  YUV 4:1:1     */
-  V4L2_PIX_FMT_NV12,     /* 12  Y/CbCr 4:2:0  */
-  V4L2_PIX_FMT_NV21,     /* 12  Y/CrCb 4:2:0  */
-  V4L2_PIX_FMT_YUV410,   /*  9  YUV 4:1:0     */
-  V4L2_PIX_FMT_YUV420,   /* 12  YUV 4:2:0     */
-  V4L2_PIX_FMT_YYUV,     /* 16  YUV 4:2:2     */
-  V4L2_PIX_FMT_HI240,    /*  8  8-bit color   */
-  V4L2_PIX_FMT_MJPEG,    /* Motion-JPEG       */
-  V4L2_PIX_FMT_JPEG,     /* JFIF JPEG         */
-  V4L2_PIX_FMT_DV,       /* 1394              */
-  V4L2_PIX_FMT_MPEG,     /* MPEG             */
-  V4L2_PIX_FMT_WNVA      /* Winnov hw compres */
+  V4L2_PIX_FMT_RGB332,         /*  8  RGB-3-3-2     */
+  V4L2_PIX_FMT_RGB555,         /* 16  RGB-5-5-5     */
+  V4L2_PIX_FMT_RGB565,         /* 16  RGB-5-6-5     */
+  V4L2_PIX_FMT_RGB555X,                /* 16  RGB-5-5-5 BE  */
+  V4L2_PIX_FMT_RGB565X,                /* 16  RGB-5-6-5 BE  */
+  V4L2_PIX_FMT_BGR24,          /* 24  BGR-8-8-8     */
+  V4L2_PIX_FMT_RGB24,          /* 24  RGB-8-8-8     */
+  V4L2_PIX_FMT_BGR32,          /* 32  BGR-8-8-8-8   */
+  V4L2_PIX_FMT_RGB32,          /* 32  RGB-8-8-8-8   */
+  V4L2_PIX_FMT_GREY,           /*  8  Greyscale     */
+  V4L2_PIX_FMT_YVU410,         /*  9  YVU 4:1:0     */
+  V4L2_PIX_FMT_YVU420,         /* 12  YVU 4:2:0     */
+  V4L2_PIX_FMT_YUYV,           /* 16  YUV 4:2:2     */
+  V4L2_PIX_FMT_UYVY,           /* 16  YUV 4:2:2     */
+  V4L2_PIX_FMT_YUV422P,                /* 16  YVU422 planar */
+  V4L2_PIX_FMT_YUV411P,                /* 16  YVU411 planar */
+  V4L2_PIX_FMT_Y41P,           /* 12  YUV 4:1:1     */
+  V4L2_PIX_FMT_NV12,           /* 12  Y/CbCr 4:2:0  */
+  V4L2_PIX_FMT_NV21,           /* 12  Y/CrCb 4:2:0  */
+  V4L2_PIX_FMT_YUV410,         /*  9  YUV 4:1:0     */
+  V4L2_PIX_FMT_YUV420,         /* 12  YUV 4:2:0     */
+  V4L2_PIX_FMT_YYUV,           /* 16  YUV 4:2:2     */
+  V4L2_PIX_FMT_HI240,          /*  8  8-bit color   */
+  V4L2_PIX_FMT_MJPEG,          /* Motion-JPEG       */
+  V4L2_PIX_FMT_JPEG,           /* JFIF JPEG         */
+  V4L2_PIX_FMT_DV,             /* 1394              */
+  V4L2_PIX_FMT_MPEG,           /* MPEG              */
+  V4L2_PIX_FMT_WNVA            /* Winnov hw compres */
 };
+
 #define GST_V4L2_FORMAT_COUNT (G_N_ELEMENTS (gst_v4l2_formats))
 
 GST_FORMATS_FUNCTION (GstPad *, gst_v4l2src_get_formats,
-                     GST_FORMAT_TIME, GST_FORMAT_DEFAULT);
+    GST_FORMAT_TIME, GST_FORMAT_DEFAULT);
 GST_QUERY_TYPE_FUNCTION (GstPad *, gst_v4l2src_get_query_types,
-                        GST_QUERY_POSITION);
+    GST_QUERY_POSITION);
 
 /* init functions */
-static void                    gst_v4l2src_class_init          (gpointer         g_class,
-                                                                gpointer         class_data);
-static void                    gst_v4l2src_base_init           (gpointer         g_class);
-static void                    gst_v4l2src_init                (GTypeInstance *  instance,
-                                                                gpointer         g_class);
+static void gst_v4l2src_class_init (gpointer g_class, gpointer class_data);
+static void gst_v4l2src_base_init (gpointer g_class);
+static void gst_v4l2src_init (GTypeInstance * instance, gpointer g_class);
 
 /* signal functions */
-static void                    gst_v4l2src_open                (GstElement      *element,
-                                                                const gchar     *device);
-static void                    gst_v4l2src_close               (GstElement      *element,
-                                                                const gchar     *device);
+static void gst_v4l2src_open (GstElement * element, const gchar * device);
+static void gst_v4l2src_close (GstElement * element, const gchar * device);
 
 /* pad/buffer functions */
-static const GstCaps *         gst_v4l2src_get_all_caps        (void);
-static GstPadLinkReturn                gst_v4l2src_link                (GstPad          *pad,
-                                                                const GstCaps         *caps);
-static GstCaps *               gst_v4l2src_getcaps             (GstPad          *pad);
-static GstCaps *                gst_v4l2src_fixate             (GstPad *         pad, 
-                                                                const GstCaps *  caps);
-static GstData *               gst_v4l2src_get                 (GstPad          *pad);
-static gboolean                 gst_v4l2src_src_convert         (GstPad    *pad,
-                                                                 GstFormat  src_format,
-                                                                 gint64     src_value,
-                                                                 GstFormat *dest_format,
-                                                                 gint64    *dest_value);
-static gboolean                 gst_v4l2src_src_query           (GstPad      *pad,
-                                                                 GstQueryType type, 
-                                                                 GstFormat   *format,
-                                                                 gint64      *value);
+static const GstCaps *gst_v4l2src_get_all_caps (void);
+static GstPadLinkReturn gst_v4l2src_link (GstPad * pad, const GstCaps * caps);
+static GstCaps *gst_v4l2src_getcaps (GstPad * pad);
+static GstCaps *gst_v4l2src_fixate (GstPad * pad, const GstCaps * caps);
+static GstData *gst_v4l2src_get (GstPad * pad);
+static gboolean gst_v4l2src_src_convert (GstPad * pad,
+    GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value);
+static gboolean gst_v4l2src_src_query (GstPad * pad,
+    GstQueryType type, GstFormat * format, gint64 * value);
 
 /* get/set params */
-static void    gst_v4l2src_set_property        (GObject         *object,
-                                                guint           prop_id,
-                                                const GValue    *value,
-                                                GParamSpec      *pspec);
-static void    gst_v4l2src_get_property        (GObject         *object,
-                                                guint           prop_id,
-                                                GValue          *value,
-                                                GParamSpec      *pspec);
+static void gst_v4l2src_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_v4l2src_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
 
 /* state handling */
-static GstElementStateReturn
-               gst_v4l2src_change_state        (GstElement      *element);
+static GstElementStateReturn gst_v4l2src_change_state (GstElement * element);
 
 /* set_clock function for A/V sync */
-static void    gst_v4l2src_set_clock           (GstElement     *element,
-                                                GstClock       *clock);
+static void gst_v4l2src_set_clock (GstElement * element, GstClock * clock);
 
 static GstElementClass *parent_class = NULL;
 static guint gst_v4l2src_signals[LAST_SIGNAL] = { 0 };
@@ -163,7 +150,7 @@ gst_v4l2src_get_type (void)
       gst_v4l2src_init,
       NULL
     };
-    v4l2src_type = g_type_register_static(GST_TYPE_V4L2ELEMENT,
+    v4l2src_type = g_type_register_static (GST_TYPE_V4L2ELEMENT,
        "GstV4l2Src", &v4l2src_info, 0);
     GST_DEBUG_CATEGORY_INIT (v4l2src_debug, "v4l2src", 0, "v4l2src element");
   }
@@ -175,7 +162,7 @@ gst_v4l2src_base_init (gpointer g_class)
 {
   GstPadTemplate *template;
   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
-  
+
   gst_element_class_set_details (gstelement_class, &gst_v4l2src_details);
 
   template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
@@ -196,40 +183,36 @@ gst_v4l2src_class_init (gpointer g_class, gpointer class_data)
   gobject_class->set_property = gst_v4l2src_set_property;
   gobject_class->get_property = gst_v4l2src_get_property;
 
-  g_object_class_install_property(gobject_class, ARG_NUMBUFS,
-         g_param_spec_int("num_buffers","num_buffers","num_buffers",
-                          G_MININT,G_MAXINT,0,G_PARAM_READWRITE));
-  g_object_class_install_property(gobject_class, ARG_BUFSIZE,
-         g_param_spec_int("buffer_size","buffer_size","buffer_size",
-                          G_MININT,G_MAXINT,0,G_PARAM_READABLE));
+  g_object_class_install_property (gobject_class, ARG_NUMBUFS,
+      g_param_spec_int ("num_buffers", "num_buffers", "num_buffers",
+         G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_BUFSIZE,
+      g_param_spec_int ("buffer_size", "buffer_size", "buffer_size",
+         G_MININT, G_MAXINT, 0, G_PARAM_READABLE));
 
-  g_object_class_install_property(gobject_class, ARG_USE_FIXED_FPS,
-         g_param_spec_boolean("use_fixed_fps", "Use Fixed FPS",
-                              "Drop/Insert frames to reach a certain FPS (TRUE) "
-                              "or adapt FPS to suit the number of frabbed frames",
-                              TRUE, G_PARAM_READWRITE));
+  g_object_class_install_property (gobject_class, ARG_USE_FIXED_FPS,
+      g_param_spec_boolean ("use_fixed_fps", "Use Fixed FPS",
+         "Drop/Insert frames to reach a certain FPS (TRUE) "
+         "or adapt FPS to suit the number of frabbed frames",
+         TRUE, G_PARAM_READWRITE));
 
   /* signals */
   gst_v4l2src_signals[SIGNAL_FRAME_CAPTURE] =
-         g_signal_new("frame-capture", G_TYPE_FROM_CLASS (g_class), G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET(GstV4l2SrcClass, frame_capture),
-                      NULL, NULL, g_cclosure_marshal_VOID__VOID,
-                      G_TYPE_NONE, 0);
+      g_signal_new ("frame-capture", G_TYPE_FROM_CLASS (g_class),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstV4l2SrcClass, frame_capture), NULL,
+      NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
   gst_v4l2src_signals[SIGNAL_FRAME_DROP] =
-         g_signal_new("frame-drop", G_TYPE_FROM_CLASS (g_class), G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET(GstV4l2SrcClass, frame_drop),
-                      NULL, NULL, g_cclosure_marshal_VOID__VOID,
-                      G_TYPE_NONE, 0);
+      g_signal_new ("frame-drop", G_TYPE_FROM_CLASS (g_class),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstV4l2SrcClass, frame_drop), NULL,
+      NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
   gst_v4l2src_signals[SIGNAL_FRAME_INSERT] =
-         g_signal_new("frame_insert", G_TYPE_FROM_CLASS (g_class), G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET(GstV4l2SrcClass, frame_insert),
-                      NULL, NULL, g_cclosure_marshal_VOID__VOID,
-                      G_TYPE_NONE, 0);
+      g_signal_new ("frame_insert", G_TYPE_FROM_CLASS (g_class),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstV4l2SrcClass, frame_insert), NULL,
+      NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
   gst_v4l2src_signals[SIGNAL_FRAME_LOST] =
-         g_signal_new("frame-lost", G_TYPE_FROM_CLASS (g_class), G_SIGNAL_RUN_LAST,
-                      G_STRUCT_OFFSET(GstV4l2SrcClass, frame_lost),
-                      NULL, NULL, g_cclosure_marshal_VOID__INT,
-                      G_TYPE_NONE, 1, G_TYPE_INT);
+      g_signal_new ("frame-lost", G_TYPE_FROM_CLASS (g_class),
+      G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstV4l2SrcClass, frame_lost), NULL,
+      NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
 
   gstelement_class->change_state = gst_v4l2src_change_state;
 
@@ -241,24 +224,26 @@ gst_v4l2src_class_init (gpointer g_class, gpointer class_data)
 
 
 static void
-gst_v4l2src_init (GTypeInstance *instance, gpointer g_class)
+gst_v4l2src_init (GTypeInstance * instance, gpointer g_class)
 {
   GstV4l2Src *v4l2src = GST_V4L2SRC (instance);
-  
-  GST_FLAG_SET(GST_ELEMENT(v4l2src), GST_ELEMENT_THREAD_SUGGESTED);
 
-  v4l2src->srcpad = gst_pad_new_from_template(
-      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (v4l2src), "src"), "src");
-  gst_element_add_pad(GST_ELEMENT(v4l2src), v4l2src->srcpad);
+  GST_FLAG_SET (GST_ELEMENT (v4l2src), GST_ELEMENT_THREAD_SUGGESTED);
+
+  v4l2src->srcpad =
+      gst_pad_new_from_template (gst_element_class_get_pad_template
+      (GST_ELEMENT_GET_CLASS (v4l2src), "src"), "src");
+  gst_element_add_pad (GST_ELEMENT (v4l2src), v4l2src->srcpad);
 
-  gst_pad_set_get_function(v4l2src->srcpad, gst_v4l2src_get);
-  gst_pad_set_link_function(v4l2src->srcpad, gst_v4l2src_link);
+  gst_pad_set_get_function (v4l2src->srcpad, gst_v4l2src_get);
+  gst_pad_set_link_function (v4l2src->srcpad, gst_v4l2src_link);
   gst_pad_set_getcaps_function (v4l2src->srcpad, gst_v4l2src_getcaps);
   gst_pad_set_fixate_function (v4l2src->srcpad, gst_v4l2src_fixate);
   gst_pad_set_convert_function (v4l2src->srcpad, gst_v4l2src_src_convert);
   gst_pad_set_formats_function (v4l2src->srcpad, gst_v4l2src_get_formats);
   gst_pad_set_query_function (v4l2src->srcpad, gst_v4l2src_src_query);
-  gst_pad_set_query_type_function (v4l2src->srcpad, gst_v4l2src_get_query_types);
+  gst_pad_set_query_type_function (v4l2src->srcpad,
+      gst_v4l2src_get_query_types);
 
   v4l2src->breq.count = 0;
 
@@ -273,121 +258,113 @@ gst_v4l2src_init (GTypeInstance *instance, gpointer g_class)
 
 
 static void
-gst_v4l2src_open (GstElement  *element,
-                  const gchar *device)
+gst_v4l2src_open (GstElement * element, const gchar * device)
 {
   gst_v4l2src_fill_format_list (GST_V4L2SRC (element));
 }
 
 
 static void
-gst_v4l2src_close (GstElement  *element,
-                   const gchar *device)
+gst_v4l2src_close (GstElement * element, const gchar * device)
 {
   gst_v4l2src_clear_format_list (GST_V4L2SRC (element));
 }
 
 
 static gfloat
-gst_v4l2src_get_fps (GstV4l2Src *v4l2src)
+gst_v4l2src_get_fps (GstV4l2Src * v4l2src)
 {
-       v4l2_std_id norm;
-       const GList *item;
-
-       if (!v4l2src->use_fixed_fps &&
-           v4l2src->clock != NULL &&
-           v4l2src->handled > 0) {
-               /* try to get time from clock master and calculate fps */
-               GstClockTime time = gst_clock_get_time(v4l2src->clock) -
-                                     v4l2src->substract_time;
-               return v4l2src->handled * GST_SECOND / time;
-       }
+  v4l2_std_id norm;
+  const GList *item;
+
+  if (!v4l2src->use_fixed_fps && v4l2src->clock != NULL && v4l2src->handled > 0) {
+    /* try to get time from clock master and calculate fps */
+    GstClockTime time = gst_clock_get_time (v4l2src->clock) -
+       v4l2src->substract_time;
+    return v4l2src->handled * GST_SECOND / time;
+  }
 
-       /* if that failed ... */
-       if (!GST_V4L2_IS_OPEN(GST_V4L2ELEMENT(v4l2src)))
-               return 0.;
-
-       if (!gst_v4l2_get_norm(GST_V4L2ELEMENT(v4l2src), &norm))
-               return 0.;
-       for (item = GST_V4L2ELEMENT(v4l2src)->norms;
-            item != NULL; item = item->next) {
-               GstV4l2TunerNorm *v4l2norm = item->data;
-               if (v4l2norm->index == norm)
-                       return GST_TUNER_NORM(v4l2norm)->fps;
-       }
+  /* if that failed ... */
 
-       return 0.;
+  if (!GST_V4L2_IS_OPEN (GST_V4L2ELEMENT (v4l2src)))
+    return 0.;
+
+  if (!gst_v4l2_get_norm (GST_V4L2ELEMENT (v4l2src), &norm))
+    return 0.;
+  for (item = GST_V4L2ELEMENT (v4l2src)->norms; item != NULL; item = item->next) {
+    GstV4l2TunerNorm *v4l2norm = item->data;
+
+    if (v4l2norm->index == norm)
+      return GST_TUNER_NORM (v4l2norm)->fps;
+  }
+
+  return 0.;
 }
 
 static gboolean
-gst_v4l2src_src_convert (GstPad    *pad,
-                         GstFormat  src_format,
-                         gint64     src_value,
-                         GstFormat *dest_format,
-                         gint64    *dest_value)
+gst_v4l2src_src_convert (GstPad * pad,
+    GstFormat src_format,
+    gint64 src_value, GstFormat * dest_format, gint64 * dest_value)
 {
-       GstV4l2Src *v4l2src;
-       gdouble fps;
-
-       v4l2src = GST_V4L2SRC (gst_pad_get_parent (pad));
-
-       if ((fps = gst_v4l2src_get_fps(v4l2src)) == 0)
-               return FALSE;
-
-       switch (src_format) {
-               case GST_FORMAT_TIME:
-                       switch (*dest_format) {
-                               case GST_FORMAT_DEFAULT:
-                                       *dest_value = src_value * fps / GST_SECOND;
-                                       break;
-                               default:
-                                       return FALSE;
-                       }
-                       break;
-
-               case GST_FORMAT_DEFAULT:
-                       switch (*dest_format) {
-                               case GST_FORMAT_TIME:
-                                       *dest_value = src_value * GST_SECOND / fps;
-                                       break;
-                               default:
-                                       return FALSE;
-                       }
-                       break;
-
-               default:
-                       return FALSE;
-       }
+  GstV4l2Src *v4l2src;
+  gdouble fps;
+
+  v4l2src = GST_V4L2SRC (gst_pad_get_parent (pad));
 
-       return TRUE;
+  if ((fps = gst_v4l2src_get_fps (v4l2src)) == 0)
+    return FALSE;
+
+  switch (src_format) {
+    case GST_FORMAT_TIME:
+      switch (*dest_format) {
+       case GST_FORMAT_DEFAULT:
+         *dest_value = src_value * fps / GST_SECOND;
+         break;
+       default:
+         return FALSE;
+      }
+      break;
+
+    case GST_FORMAT_DEFAULT:
+      switch (*dest_format) {
+       case GST_FORMAT_TIME:
+         *dest_value = src_value * GST_SECOND / fps;
+         break;
+       default:
+         return FALSE;
+      }
+      break;
+
+    default:
+      return FALSE;
+  }
+
+  return TRUE;
 }
 
 static gboolean
-gst_v4l2src_src_query (GstPad      *pad,
-                       GstQueryType type, 
-                       GstFormat   *format,
-                       gint64      *value)
+gst_v4l2src_src_query (GstPad * pad,
+    GstQueryType type, GstFormat * format, gint64 * value)
 {
   GstV4l2Src *v4l2src = GST_V4L2SRC (gst_pad_get_parent (pad));
   gboolean res = TRUE;
   gdouble fps;
 
-  if ((fps = gst_v4l2src_get_fps(v4l2src)) == 0)
+  if ((fps = gst_v4l2src_get_fps (v4l2src)) == 0)
     return FALSE;
 
   switch (type) {
     case GST_QUERY_POSITION:
       switch (*format) {
-        case GST_FORMAT_TIME:
-          *value = v4l2src->handled * GST_SECOND / fps;
-          break;
-        case GST_FORMAT_DEFAULT:
-          *value = v4l2src->handled;
-          break;
-        default:
-          res = FALSE;
-          break;
+       case GST_FORMAT_TIME:
+         *value = v4l2src->handled * GST_SECOND / fps;
+         break;
+       case GST_FORMAT_DEFAULT:
+         *value = v4l2src->handled;
+         break;
+       default:
+         res = FALSE;
+         break;
       }
       break;
     default:
@@ -404,8 +381,8 @@ gst_v4l2src_v4l2fourcc_to_caps (guint32 fourcc)
   GstStructure *structure = NULL;
 
   switch (fourcc) {
-    case V4L2_PIX_FMT_MJPEG: /* Motion-JPEG */
-    case V4L2_PIX_FMT_JPEG:  /* JFIF JPEG */
+    case V4L2_PIX_FMT_MJPEG:   /* Motion-JPEG */
+    case V4L2_PIX_FMT_JPEG:    /* JFIF JPEG */
       structure = gst_structure_new ("video/x-jpeg", NULL);
       break;
     case V4L2_PIX_FMT_RGB332:
@@ -416,21 +393,25 @@ gst_v4l2src_v4l2fourcc_to_caps (guint32 fourcc)
     case V4L2_PIX_FMT_RGB24:
     case V4L2_PIX_FMT_BGR24:
     case V4L2_PIX_FMT_RGB32:
-    case V4L2_PIX_FMT_BGR32: {
-      guint depth=0, bpp=0;
+    case V4L2_PIX_FMT_BGR32:{
+      guint depth = 0, bpp = 0;
       gint endianness = 0;
       guint32 r_mask = 0, b_mask = 0, g_mask = 0;
 
       switch (fourcc) {
        case V4L2_PIX_FMT_RGB332:
          bpp = depth = 8;
-         endianness = G_BYTE_ORDER; /* 'like, whatever' */
-         r_mask = 0xe0; g_mask = 0x1c; b_mask = 0x03;
+         endianness = G_BYTE_ORDER;    /* 'like, whatever' */
+         r_mask = 0xe0;
+         g_mask = 0x1c;
+         b_mask = 0x03;
          break;
        case V4L2_PIX_FMT_RGB555:
        case V4L2_PIX_FMT_RGB555X:
-         bpp = 16; depth = 15;
-         endianness = fourcc == V4L2_PIX_FMT_RGB555X ? G_BIG_ENDIAN : G_LITTLE_ENDIAN;
+         bpp = 16;
+         depth = 15;
+         endianness =
+             fourcc == V4L2_PIX_FMT_RGB555X ? G_BIG_ENDIAN : G_LITTLE_ENDIAN;
          r_mask = 0x7c00;
          g_mask = 0x03e0;
          b_mask = 0x001f;
@@ -438,7 +419,8 @@ gst_v4l2src_v4l2fourcc_to_caps (guint32 fourcc)
        case V4L2_PIX_FMT_RGB565:
        case V4L2_PIX_FMT_RGB565X:
          bpp = depth = 16;
-         endianness = fourcc == V4L2_PIX_FMT_RGB565X ? G_BIG_ENDIAN : G_LITTLE_ENDIAN;
+         endianness =
+             fourcc == V4L2_PIX_FMT_RGB565X ? G_BIG_ENDIAN : G_LITTLE_ENDIAN;
          r_mask = 0xf800;
          g_mask = 0x07e0;
          b_mask = 0x001f;
@@ -471,108 +453,107 @@ gst_v4l2src_v4l2fourcc_to_caps (guint32 fourcc)
          b_mask = 0x00ff0000;
          break;
        default:
-         g_assert_not_reached();
+         g_assert_not_reached ();
          break;
       }
       structure = gst_structure_new ("video/x-raw-rgb",
-         "bpp",        G_TYPE_INT, bpp,
-         "depth",      G_TYPE_INT, depth,
-         "red_mask",   G_TYPE_INT, r_mask,
+         "bpp", G_TYPE_INT, bpp,
+         "depth", G_TYPE_INT, depth,
+         "red_mask", G_TYPE_INT, r_mask,
          "green_mask", G_TYPE_INT, g_mask,
-         "blue_mask",  G_TYPE_INT, b_mask,
-         "endianness", G_TYPE_INT, endianness,
-         NULL);
+         "blue_mask", G_TYPE_INT, b_mask,
+         "endianness", G_TYPE_INT, endianness, NULL);
       break;
     }
-    case V4L2_PIX_FMT_GREY:            /*  8  Greyscale     */
-    case V4L2_PIX_FMT_YUV422P:         /* 16  YVU422 planar */
-    case V4L2_PIX_FMT_YUV411P:         /* 16  YVU411 planar */
-    case V4L2_PIX_FMT_NV12:            /* 12  Y/CbCr 4:2:0  */
-    case V4L2_PIX_FMT_NV21:            /* 12  Y/CrCb 4:2:0  */
-    case V4L2_PIX_FMT_YYUV:            /* 16  YUV 4:2:2     */
-    case V4L2_PIX_FMT_HI240:           /*  8  8-bit color   */
+    case V4L2_PIX_FMT_GREY:    /*  8  Greyscale     */
+    case V4L2_PIX_FMT_YUV422P: /* 16  YVU422 planar */
+    case V4L2_PIX_FMT_YUV411P: /* 16  YVU411 planar */
+    case V4L2_PIX_FMT_NV12:    /* 12  Y/CbCr 4:2:0  */
+    case V4L2_PIX_FMT_NV21:    /* 12  Y/CrCb 4:2:0  */
+    case V4L2_PIX_FMT_YYUV:    /* 16  YUV 4:2:2     */
+    case V4L2_PIX_FMT_HI240:   /*  8  8-bit color   */
       /* FIXME: get correct fourccs here */
       break;
     case V4L2_PIX_FMT_YVU410:
     case V4L2_PIX_FMT_YUV410:
-    case V4L2_PIX_FMT_YUV420: /* I420/IYUV */
+    case V4L2_PIX_FMT_YUV420:  /* I420/IYUV */
     case V4L2_PIX_FMT_YUYV:
     case V4L2_PIX_FMT_YVU420:
     case V4L2_PIX_FMT_UYVY:
-    case V4L2_PIX_FMT_Y41P: {
+    case V4L2_PIX_FMT_Y41P:{
       guint32 fcc = 0;
 
       switch (fourcc) {
        case V4L2_PIX_FMT_YVU410:
-         fcc = GST_MAKE_FOURCC('Y','V','U','9');
+         fcc = GST_MAKE_FOURCC ('Y', 'V', 'U', '9');
          break;
        case V4L2_PIX_FMT_YUV410:
-         fcc = GST_MAKE_FOURCC('Y','U','V','9');
+         fcc = GST_MAKE_FOURCC ('Y', 'U', 'V', '9');
          break;
        case V4L2_PIX_FMT_YUV420:
-         fcc = GST_MAKE_FOURCC('I','4','2','0');
+         fcc = GST_MAKE_FOURCC ('I', '4', '2', '0');
          break;
        case V4L2_PIX_FMT_YUYV:
-         fcc = GST_MAKE_FOURCC('Y','U','Y','2');
+         fcc = GST_MAKE_FOURCC ('Y', 'U', 'Y', '2');
          break;
        case V4L2_PIX_FMT_YVU420:
-         fcc = GST_MAKE_FOURCC('Y','V','1','2');
+         fcc = GST_MAKE_FOURCC ('Y', 'V', '1', '2');
          break;
        case V4L2_PIX_FMT_UYVY:
-         fcc = GST_MAKE_FOURCC('U','Y','V','Y');
+         fcc = GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y');
          break;
        case V4L2_PIX_FMT_Y41P:
-         fcc = GST_MAKE_FOURCC('Y','4','1','B');
+         fcc = GST_MAKE_FOURCC ('Y', '4', '1', 'B');
          break;
        default:
-         g_assert_not_reached();
+         g_assert_not_reached ();
          break;
       }
       structure = gst_structure_new ("video/x-raw-yuv",
-         "format", GST_TYPE_FOURCC, fcc,
-          NULL);
+         "format", GST_TYPE_FOURCC, fcc, NULL);
       break;
     }
     case V4L2_PIX_FMT_DV:
-      structure = gst_structure_new ("video/x-dv", "systemstream", G_TYPE_BOOLEAN, TRUE, NULL);
+      structure =
+         gst_structure_new ("video/x-dv", "systemstream", G_TYPE_BOOLEAN, TRUE,
+         NULL);
       break;
-    case V4L2_PIX_FMT_MPEG:            /* MPEG          */
+    case V4L2_PIX_FMT_MPEG:    /* MPEG          */
       /* someone figure out the MPEG format used... */
       break;
-    case V4L2_PIX_FMT_WNVA:            /* Winnov hw compres */
+    case V4L2_PIX_FMT_WNVA:    /* Winnov hw compres */
       break;
     default:
       GST_DEBUG ("Unknown fourcc 0x%08x " GST_FOURCC_FORMAT,
-                         fourcc, GST_FOURCC_ARGS(fourcc));
+         fourcc, GST_FOURCC_ARGS (fourcc));
       break;
   }
 #if 0
-        gst_caps_set_simple (caps,
-            "width", G_TYPE_INT, width,
-            "height", G_TYPE_INT, height,
-            "framerate", G_TYPE_DOUBLE, fps,
-            NULL);
+  gst_caps_set_simple (caps,
+      "width", G_TYPE_INT, width,
+      "height", G_TYPE_INT, height, "framerate", G_TYPE_DOUBLE, fps, NULL);
 #endif
   return structure;
 }
 
 static struct v4l2_fmtdesc *
-gst_v4l2src_get_format_from_fourcc (GstV4l2Src *v4l2src, guint32 fourcc)
-{ 
+gst_v4l2src_get_format_from_fourcc (GstV4l2Src * v4l2src, guint32 fourcc)
+{
   struct v4l2_fmtdesc *fmt;
   GSList *walk;
-  
+
   if (fourcc == 0)
     return NULL;
-  
+
   walk = v4l2src->formats;
   while (walk) {
     fmt = (struct v4l2_fmtdesc *) walk->data;
     if (fmt->pixelformat == fourcc)
       return fmt;
     /* special case for jpeg */
-    if ((fmt->pixelformat == V4L2_PIX_FMT_MJPEG && fourcc == V4L2_PIX_FMT_JPEG) ||
-       (fmt->pixelformat == V4L2_PIX_FMT_JPEG && fourcc == V4L2_PIX_FMT_MJPEG)) {
+    if ((fmt->pixelformat == V4L2_PIX_FMT_MJPEG && fourcc == V4L2_PIX_FMT_JPEG)
+       || (fmt->pixelformat == V4L2_PIX_FMT_JPEG
+           && fourcc == V4L2_PIX_FMT_MJPEG)) {
       return fmt;
     }
     walk = g_slist_next (walk);
@@ -582,36 +563,36 @@ gst_v4l2src_get_format_from_fourcc (GstV4l2Src *v4l2src, guint32 fourcc)
 }
 
 static guint32
-gst_v4l2_fourcc_from_structure (GstStructure *structure)
+gst_v4l2_fourcc_from_structure (GstStructure * structure)
 {
   guint32 fourcc = 0;
   const gchar *mimetype = gst_structure_get_name (structure);
 
-  if (!strcmp(mimetype, "video/x-raw-yuv") ||
-      !strcmp(mimetype, "video/x-raw-rgb")) {
-    if (!strcmp(mimetype, "video/x-raw-rgb"))
-      fourcc = GST_MAKE_FOURCC('R','G','B',' ');
+  if (!strcmp (mimetype, "video/x-raw-yuv") ||
+      !strcmp (mimetype, "video/x-raw-rgb")) {
+    if (!strcmp (mimetype, "video/x-raw-rgb"))
+      fourcc = GST_MAKE_FOURCC ('R', 'G', 'B', ' ');
     else
       gst_structure_get_fourcc (structure, "format", &fourcc);
 
     switch (fourcc) {
-      case GST_MAKE_FOURCC('I','4','2','0'):
-      case GST_MAKE_FOURCC('I','Y','U','V'):
+      case GST_MAKE_FOURCC ('I', '4', '2', '0'):
+      case GST_MAKE_FOURCC ('I', 'Y', 'U', 'V'):
        fourcc = V4L2_PIX_FMT_YUV420;
        break;
-      case GST_MAKE_FOURCC('Y','U','Y','2'):
+      case GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'):
        fourcc = V4L2_PIX_FMT_YUYV;
        break;
-      case GST_MAKE_FOURCC('Y','4','1','P'):
+      case GST_MAKE_FOURCC ('Y', '4', '1', 'P'):
        fourcc = V4L2_PIX_FMT_Y41P;
        break;
-      case GST_MAKE_FOURCC('U','Y','V','Y'):
+      case GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y'):
        fourcc = V4L2_PIX_FMT_UYVY;
        break;
-      case GST_MAKE_FOURCC('Y','V','1','2'):
+      case GST_MAKE_FOURCC ('Y', 'V', '1', '2'):
        fourcc = V4L2_PIX_FMT_YVU420;
        break;
-      case GST_MAKE_FOURCC('R','G','B',' '): {
+      case GST_MAKE_FOURCC ('R', 'G', 'B', ' '):{
        gint depth, endianness, r_mask;
 
        gst_structure_get_int (structure, "depth", &depth);
@@ -624,29 +605,23 @@ gst_v4l2_fourcc_from_structure (GstStructure *structure)
            break;
          case 15:
            fourcc = (endianness == G_LITTLE_ENDIAN) ?
-               V4L2_PIX_FMT_RGB555 :
-               V4L2_PIX_FMT_RGB555X;
+               V4L2_PIX_FMT_RGB555 : V4L2_PIX_FMT_RGB555X;
            break;
          case 16:
            fourcc = (endianness == G_LITTLE_ENDIAN) ?
-               V4L2_PIX_FMT_RGB565 :
-               V4L2_PIX_FMT_RGB565X;
+               V4L2_PIX_FMT_RGB565 : V4L2_PIX_FMT_RGB565X;
            break;
          case 24:
-           fourcc = (r_mask == 0xFF) ?
-               V4L2_PIX_FMT_BGR24 :
-               V4L2_PIX_FMT_RGB24;
+           fourcc = (r_mask == 0xFF) ? V4L2_PIX_FMT_BGR24 : V4L2_PIX_FMT_RGB24;
            break;
          case 32:
-           fourcc = (r_mask == 0xFF) ?
-               V4L2_PIX_FMT_BGR32 :
-               V4L2_PIX_FMT_RGB32;
+           fourcc = (r_mask == 0xFF) ? V4L2_PIX_FMT_BGR32 : V4L2_PIX_FMT_RGB32;
            break;
        }
-       default:
-         break;
+      default:
+       break;
       }
-    } 
+    }
   } else if (strcmp (mimetype, "video/x-dv") == 0) {
     fourcc = V4L2_PIX_FMT_DV;
   } else if (strcmp (mimetype, "video/x-jpeg") == 0) {
@@ -657,7 +632,7 @@ gst_v4l2_fourcc_from_structure (GstStructure *structure)
 }
 
 static struct v4l2_fmtdesc *
-gst_v4l2_caps_to_v4l2fourcc (GstV4l2Src *v4l2src, GstStructure *structure)
+gst_v4l2_caps_to_v4l2fourcc (GstV4l2Src * v4l2src, GstStructure * structure)
 {
   return gst_v4l2src_get_format_from_fourcc (v4l2src,
       gst_v4l2_fourcc_from_structure (structure));
@@ -679,8 +654,7 @@ gst_v4l2src_get_all_caps (void)
        gst_structure_set (structure,
            "width", GST_TYPE_INT_RANGE, 1, 4096,
            "height", GST_TYPE_INT_RANGE, 1, 4096,
-           "framerate", GST_TYPE_DOUBLE_RANGE, (double) 0, G_MAXDOUBLE,
-           NULL);
+           "framerate", GST_TYPE_DOUBLE_RANGE, (double) 0, G_MAXDOUBLE, NULL);
 
        gst_caps_append_structure (caps, structure);
       }
@@ -691,7 +665,7 @@ gst_v4l2src_get_all_caps (void)
 }
 
 static GstCaps *
-gst_v4l2src_fixate (GstPad *pad, const GstCaps *const_caps)
+gst_v4l2src_fixate (GstPad * pad, const GstCaps * const_caps)
 {
   gint i;
   GstStructure *structure;
@@ -702,25 +676,31 @@ gst_v4l2src_fixate (GstPad *pad, const GstCaps *const_caps)
   caps_str = gst_caps_to_string (caps);
   GST_DEBUG_OBJECT (gst_pad_get_parent (pad), "fixating caps %s", caps_str);
   g_free (caps_str);
-  
+
   for (i = 0; i < gst_caps_get_size (caps); i++) {
     structure = gst_caps_get_structure (caps, i);
-    changed |= gst_caps_structure_fixate_field_nearest_int (structure, "width", G_MAXINT);
+    changed |=
+       gst_caps_structure_fixate_field_nearest_int (structure, "width",
+       G_MAXINT);
   }
-  if (changed) return caps;
+  if (changed)
+    return caps;
 
   for (i = 0; i < gst_caps_get_size (caps); i++) {
     structure = gst_caps_get_structure (caps, i);
-    changed |= gst_caps_structure_fixate_field_nearest_int (structure, "height", G_MAXINT);
+    changed |=
+       gst_caps_structure_fixate_field_nearest_int (structure, "height",
+       G_MAXINT);
   }
-  if (changed) return caps;
+  if (changed)
+    return caps;
 
   gst_caps_free (caps);
   return NULL;
 }
 
 static GstPadLinkReturn
-gst_v4l2src_link (GstPad *pad, const GstCaps *caps)
+gst_v4l2src_link (GstPad * pad, const GstCaps * caps)
 {
   GstV4l2Src *v4l2src;
   GstV4l2Element *v4l2element;
@@ -728,33 +708,33 @@ gst_v4l2src_link (GstPad *pad, const GstCaps *caps)
   int w, h;
   GstStructure *structure;
 
-  v4l2src = GST_V4L2SRC(gst_pad_get_parent (pad));
-  v4l2element = GST_V4L2ELEMENT(v4l2src);
+  v4l2src = GST_V4L2SRC (gst_pad_get_parent (pad));
+  v4l2element = GST_V4L2ELEMENT (v4l2src);
 
   structure = gst_caps_get_structure (caps, 0);
 
   /* clean up if we still haven't cleaned up our previous
    * capture session */
-  if (GST_V4L2_IS_ACTIVE(v4l2element)) {
-         if (!gst_v4l2src_capture_deinit(v4l2src))
-                 return GST_PAD_LINK_REFUSED;
-  } else if (!GST_V4L2_IS_OPEN(v4l2element)) {
-         return GST_PAD_LINK_DELAYED;
+  if (GST_V4L2_IS_ACTIVE (v4l2element)) {
+    if (!gst_v4l2src_capture_deinit (v4l2src))
+      return GST_PAD_LINK_REFUSED;
+  } else if (!GST_V4L2_IS_OPEN (v4l2element)) {
+    return GST_PAD_LINK_DELAYED;
   }
 
   /* we want our own v4l2 type of fourcc codes */
-  if (!(format = gst_v4l2_caps_to_v4l2fourcc(v4l2src, structure))) {
-         return GST_PAD_LINK_REFUSED;
+  if (!(format = gst_v4l2_caps_to_v4l2fourcc (v4l2src, structure))) {
+    return GST_PAD_LINK_REFUSED;
   }
 
   gst_structure_get_int (structure, "width", &w);
   gst_structure_get_int (structure, "height", &h);
 
   /* we found the pixelformat! - try it out */
-  if (gst_v4l2src_set_capture(v4l2src, format, w, h)) {
-         if (gst_v4l2src_capture_init(v4l2src)) {
-                 return GST_PAD_LINK_OK;
-         }
+  if (gst_v4l2src_set_capture (v4l2src, format, w, h)) {
+    if (gst_v4l2src_capture_init (v4l2src)) {
+      return GST_PAD_LINK_OK;
+    }
   }
 
   return GST_PAD_LINK_REFUSED;
@@ -762,29 +742,29 @@ gst_v4l2src_link (GstPad *pad, const GstCaps *caps)
 
 
 static GstCaps *
-gst_v4l2src_getcaps (GstPad  *pad)
+gst_v4l2src_getcaps (GstPad pad)
 {
-  GstV4l2Src *v4l2src = GST_V4L2SRC(gst_pad_get_parent (pad));
+  GstV4l2Src *v4l2src = GST_V4L2SRC (gst_pad_get_parent (pad));
   GstCaps *caps;
   struct v4l2_fmtdesc *format;
   int min_w, max_w, min_h, max_h;
   GSList *walk;
   GstStructure *structure;
 
-  if (!GST_V4L2_IS_OPEN(GST_V4L2ELEMENT(v4l2src))) {
-         return gst_caps_new_any ();
+  if (!GST_V4L2_IS_OPEN (GST_V4L2ELEMENT (v4l2src))) {
+    return gst_caps_new_any ();
   }
 
   /* build our own capslist */
-  caps = gst_caps_new_empty();
+  caps = gst_caps_new_empty ();
   walk = v4l2src->formats;
   while (walk) {
     format = (struct v4l2_fmtdesc *) walk->data;
     walk = g_slist_next (walk);
 
     /* get size delimiters */
-    if (!gst_v4l2src_get_size_limits(v4l2src, format,
-       &min_w, &max_w, &min_h, &max_h)) {
+    if (!gst_v4l2src_get_size_limits (v4l2src, format,
+           &min_w, &max_w, &min_h, &max_h)) {
       continue;
     }
 
@@ -795,8 +775,7 @@ gst_v4l2src_getcaps (GstPad  *pad)
       gst_structure_set (structure,
          "width", GST_TYPE_INT_RANGE, min_w, max_w,
          "height", GST_TYPE_INT_RANGE, min_h, max_h,
-         "framerate", GST_TYPE_DOUBLE_RANGE, (double) 0, G_MAXDOUBLE,
-         NULL);
+         "framerate", GST_TYPE_DOUBLE_RANGE, (double) 0, G_MAXDOUBLE, NULL);
 
       gst_caps_append_structure (caps, structure);
     }
@@ -805,8 +784,8 @@ gst_v4l2src_getcaps (GstPad  *pad)
   return caps;
 }
 
-static GstData*
-gst_v4l2src_get (GstPad *pad)
+static GstData *
+gst_v4l2src_get (GstPad * pad)
 {
   GstV4l2Src *v4l2src;
   GstBuffer *buf;
@@ -815,9 +794,9 @@ gst_v4l2src_get (GstPad *pad)
 
   v4l2src = GST_V4L2SRC (gst_pad_get_parent (pad));
 
-  if (v4l2src->use_fixed_fps &&
-      (fps = gst_v4l2src_get_fps(v4l2src)) == 0) {
-    GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL), ("could not get frame rate for element"));
+  if (v4l2src->use_fixed_fps && (fps = gst_v4l2src_get_fps (v4l2src)) == 0) {
+    GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL),
+       ("could not get frame rate for element"));
     return NULL;
   }
 
@@ -827,13 +806,14 @@ gst_v4l2src_get (GstPad *pad)
     v4l2src->need_writes--;
   } else {
     GstClockTime time;
+
     /* grab a frame from the device */
-    num = gst_v4l2src_grab_frame(v4l2src);
+    num = gst_v4l2src_grab_frame (v4l2src);
     if (num == -1)
       return NULL;
 
     /* to check if v4l2 sets the correct time */
-    time = GST_TIMEVAL_TO_TIME(v4l2src->pool->buffers[num].buffer.timestamp);
+    time = GST_TIMEVAL_TO_TIME (v4l2src->pool->buffers[num].buffer.timestamp);
     if (v4l2src->clock && v4l2src->use_fixed_fps && time != 0) {
       gboolean have_frame = FALSE;
 
@@ -847,9 +827,12 @@ gst_v4l2src_get (GstPad *pad)
 
        /* first check whether we lost any frames according to the device */
        if (v4l2src->last_seq != 0) {
-         if (v4l2src->pool->buffers[num].buffer.sequence - v4l2src->last_seq > 1) {
-           v4l2src->need_writes = v4l2src->pool->buffers[num].buffer.sequence - v4l2src->last_seq;
-           g_signal_emit(G_OBJECT(v4l2src), gst_v4l2src_signals[SIGNAL_FRAME_LOST], 0,
+         if (v4l2src->pool->buffers[num].buffer.sequence - v4l2src->last_seq >
+             1) {
+           v4l2src->need_writes =
+               v4l2src->pool->buffers[num].buffer.sequence - v4l2src->last_seq;
+           g_signal_emit (G_OBJECT (v4l2src),
+               gst_v4l2src_signals[SIGNAL_FRAME_LOST], 0,
                v4l2src->need_writes - 1);
          }
        }
@@ -865,23 +848,27 @@ gst_v4l2src_get (GstPad *pad)
         * timeframe. This means that if time - begin_time = X sec,
         * we want to have written X*fps frames. If we've written
         * more - drop, if we've written less - dup... */
-       if (v4l2src->handled * (GST_SECOND/fps) - time > 1.5 * (GST_SECOND/fps)) {
+       if (v4l2src->handled * (GST_SECOND / fps) - time >
+           1.5 * (GST_SECOND / fps)) {
          /* yo dude, we've got too many frames here! Drop! DROP! */
-         v4l2src->need_writes--; /* -= (v4l2src->handled - (time / fps)); */
-         g_signal_emit(G_OBJECT(v4l2src), gst_v4l2src_signals[SIGNAL_FRAME_DROP], 0);
-       } else if (v4l2src->handled * (GST_SECOND/fps) - time < -1.5 * (GST_SECOND/fps)) {
+         v4l2src->need_writes--;       /* -= (v4l2src->handled - (time / fps)); */
+         g_signal_emit (G_OBJECT (v4l2src),
+             gst_v4l2src_signals[SIGNAL_FRAME_DROP], 0);
+       } else if (v4l2src->handled * (GST_SECOND / fps) - time <
+           -1.5 * (GST_SECOND / fps)) {
          /* this means we're lagging far behind */
-         v4l2src->need_writes++; /* += ((time / fps) - v4l2src->handled); */
-         g_signal_emit(G_OBJECT(v4l2src), gst_v4l2src_signals[SIGNAL_FRAME_INSERT], 0);
+         v4l2src->need_writes++;       /* += ((time / fps) - v4l2src->handled); */
+         g_signal_emit (G_OBJECT (v4l2src),
+             gst_v4l2src_signals[SIGNAL_FRAME_INSERT], 0);
        }
 
        if (v4l2src->need_writes > 0) {
          have_frame = TRUE;
          v4l2src->need_writes--;
        } else {
-         if (!gst_v4l2src_queue_frame(v4l2src, num))
+         if (!gst_v4l2src_queue_frame (v4l2src, num))
            return NULL;
-         num = gst_v4l2src_grab_frame(v4l2src);
+         num = gst_v4l2src_grab_frame (v4l2src);
          if (num == -1)
            return NULL;
        }
@@ -889,17 +876,18 @@ gst_v4l2src_get (GstPad *pad)
     }
 
     g_assert (num != -1);
-    GST_LOG_OBJECT (v4l2src, "buffer %d needs %d writes", num, v4l2src->need_writes + 1);
-    i = v4l2src->pool->buffers[num].buffer.bytesused > 0 ? 
-      v4l2src->pool->buffers[num].buffer.bytesused : 
-      v4l2src->pool->buffers[num].length;
+    GST_LOG_OBJECT (v4l2src, "buffer %d needs %d writes", num,
+       v4l2src->need_writes + 1);
+    i = v4l2src->pool->buffers[num].buffer.bytesused >
+       0 ? v4l2src->pool->buffers[num].buffer.bytesused : v4l2src->pool->
+       buffers[num].length;
     /* check if this is the last buffer in the queue. If so do a memcpy to put it back asap
        to avoid framedrops and deadlocks because of stupid elements */
     if (gst_atomic_int_read (&v4l2src->pool->refcount) == v4l2src->breq.count) {
       GST_LOG_OBJECT (v4l2src, "using memcpy'd buffer");
       buf = gst_buffer_new_and_alloc (i);
       memcpy (GST_BUFFER_DATA (buf), v4l2src->pool->buffers[num].start, i);
-      if (!gst_v4l2src_queue_frame(v4l2src, num)) {
+      if (!gst_v4l2src_queue_frame (v4l2src, num)) {
        gst_data_unref (GST_DATA (buf));
        return NULL;
       }
@@ -920,7 +908,8 @@ gst_v4l2src_get (GstPad *pad)
       GST_BUFFER_DURATION (buf) = GST_SECOND / fps;
     } else {
       /* calculate time based on our own clock */
-      GST_BUFFER_TIMESTAMP(buf) = GST_TIMEVAL_TO_TIME(v4l2src->pool->buffers[num].buffer.timestamp) -
+      GST_BUFFER_TIMESTAMP (buf) =
+         GST_TIMEVAL_TO_TIME (v4l2src->pool->buffers[num].buffer.timestamp) -
          v4l2src->substract_time;
     }
     if (v4l2src->need_writes > 0) {
@@ -932,135 +921,130 @@ gst_v4l2src_get (GstPad *pad)
   }
 
   v4l2src->handled++;
-  g_signal_emit(G_OBJECT(v4l2src), gst_v4l2src_signals[SIGNAL_FRAME_CAPTURE], 0);
+  g_signal_emit (G_OBJECT (v4l2src), gst_v4l2src_signals[SIGNAL_FRAME_CAPTURE],
+      0);
 
   return GST_DATA (buf);
 }
 
 static void
-gst_v4l2src_set_property (GObject      *object,
-                          guint        prop_id,
-                          const GValue *value,
-                          GParamSpec   *pspec)
+gst_v4l2src_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec)
 {
-       GstV4l2Src *v4l2src;
-
-       g_return_if_fail(GST_IS_V4L2SRC(object));
-       v4l2src = GST_V4L2SRC(object);
-
-       switch (prop_id) {
-               case ARG_NUMBUFS:
-                       if (!GST_V4L2_IS_ACTIVE(GST_V4L2ELEMENT(v4l2src))) {
-                               v4l2src->breq.count = g_value_get_int(value);
-                       }
-                       break;
-
-               case ARG_USE_FIXED_FPS:
-                       if (!GST_V4L2_IS_ACTIVE(GST_V4L2ELEMENT(v4l2src))) {
-                               v4l2src->use_fixed_fps = g_value_get_boolean(value);
-                       }
-                       break;
-
-               default:
-                       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-                       break;
-       }
+  GstV4l2Src *v4l2src;
+
+  g_return_if_fail (GST_IS_V4L2SRC (object));
+  v4l2src = GST_V4L2SRC (object);
+
+  switch (prop_id) {
+    case ARG_NUMBUFS:
+      if (!GST_V4L2_IS_ACTIVE (GST_V4L2ELEMENT (v4l2src))) {
+       v4l2src->breq.count = g_value_get_int (value);
+      }
+      break;
+
+    case ARG_USE_FIXED_FPS:
+      if (!GST_V4L2_IS_ACTIVE (GST_V4L2ELEMENT (v4l2src))) {
+       v4l2src->use_fixed_fps = g_value_get_boolean (value);
+      }
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
 }
 
 
 static void
-gst_v4l2src_get_property (GObject    *object,
-                          guint      prop_id,
-                          GValue     *value,
-                          GParamSpec *pspec)
+gst_v4l2src_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec)
 {
-       GstV4l2Src *v4l2src;
+  GstV4l2Src *v4l2src;
 
-       g_return_if_fail(GST_IS_V4L2SRC(object));
-       v4l2src = GST_V4L2SRC(object);
+  g_return_if_fail (GST_IS_V4L2SRC (object));
+  v4l2src = GST_V4L2SRC (object);
 
-       switch (prop_id) {
-               case ARG_NUMBUFS:
-                       g_value_set_int(value, v4l2src->breq.count);
-                       break;
+  switch (prop_id) {
+    case ARG_NUMBUFS:
+      g_value_set_int (value, v4l2src->breq.count);
+      break;
 
-               case ARG_BUFSIZE:
-                       g_value_set_int(value, v4l2src->format.fmt.pix.sizeimage);
-                       break;
+    case ARG_BUFSIZE:
+      g_value_set_int (value, v4l2src->format.fmt.pix.sizeimage);
+      break;
 
-               case ARG_USE_FIXED_FPS:
-                       g_value_set_boolean(value, v4l2src->use_fixed_fps);
-                       break;
+    case ARG_USE_FIXED_FPS:
+      g_value_set_boolean (value, v4l2src->use_fixed_fps);
+      break;
 
-               default:
-                       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-                       break;
-       }
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
 }
 
 
 static GstElementStateReturn
-gst_v4l2src_change_state (GstElement *element)
+gst_v4l2src_change_state (GstElement * element)
 {
-       GstV4l2Src *v4l2src;
-       gint transition = GST_STATE_TRANSITION (element);
-       GstElementStateReturn parent_return;
-       GTimeVal time;
-
-       g_return_val_if_fail(GST_IS_V4L2SRC(element), GST_STATE_FAILURE);
-       v4l2src = GST_V4L2SRC(element);
-
-       if (GST_ELEMENT_CLASS (parent_class)->change_state) {
-               parent_return = GST_ELEMENT_CLASS (parent_class)->change_state (element);
-               if (parent_return != GST_STATE_SUCCESS)
-                       return parent_return;
-       }
+  GstV4l2Src *v4l2src;
+  gint transition = GST_STATE_TRANSITION (element);
+  GstElementStateReturn parent_return;
+  GTimeVal time;
 
-       switch (transition) {
-               case GST_STATE_NULL_TO_READY:
-                       if (!gst_v4l2src_get_capture(v4l2src))
-                               return GST_STATE_FAILURE;
-                       break;
-               case GST_STATE_READY_TO_PAUSED:
-                       v4l2src->handled = 0;
-                       v4l2src->need_writes = 0;
-                       v4l2src->substract_time = 0;
-                       /* buffer setup moved to capsnego */
-                       break;
-               case GST_STATE_PAUSED_TO_PLAYING:
-                       /* queue all buffer, start streaming capture */
-                       if (!gst_v4l2src_capture_start(v4l2src))
-                               return GST_STATE_FAILURE;
-                       g_get_current_time(&time);
-                       v4l2src->substract_time = GST_TIMEVAL_TO_TIME(time) -
-                                                   v4l2src->substract_time;
-                       v4l2src->last_seq = 0;
-                       break;
-               case GST_STATE_PLAYING_TO_PAUSED:
-                       g_get_current_time(&time);
-                       v4l2src->substract_time = GST_TIMEVAL_TO_TIME(time) -
-                                                   v4l2src->substract_time;
-                       /* de-queue all queued buffers */
-                       if (!gst_v4l2src_capture_stop(v4l2src))
-                               return GST_STATE_FAILURE;
-                       break;
-               case GST_STATE_PAUSED_TO_READY:
-                       /* stop capturing, unmap all buffers */
-                       if (!gst_v4l2src_capture_deinit(v4l2src))
-                               return GST_STATE_FAILURE;
-                       break;
-               case GST_STATE_READY_TO_NULL:
-                       break;
-       }
+  g_return_val_if_fail (GST_IS_V4L2SRC (element), GST_STATE_FAILURE);
+  v4l2src = GST_V4L2SRC (element);
+
+  if (GST_ELEMENT_CLASS (parent_class)->change_state) {
+    parent_return = GST_ELEMENT_CLASS (parent_class)->change_state (element);
+    if (parent_return != GST_STATE_SUCCESS)
+      return parent_return;
+  }
 
-       return GST_STATE_SUCCESS;
+  switch (transition) {
+    case GST_STATE_NULL_TO_READY:
+      if (!gst_v4l2src_get_capture (v4l2src))
+       return GST_STATE_FAILURE;
+      break;
+    case GST_STATE_READY_TO_PAUSED:
+      v4l2src->handled = 0;
+      v4l2src->need_writes = 0;
+      v4l2src->substract_time = 0;
+      /* buffer setup moved to capsnego */
+      break;
+    case GST_STATE_PAUSED_TO_PLAYING:
+      /* queue all buffer, start streaming capture */
+      if (!gst_v4l2src_capture_start (v4l2src))
+       return GST_STATE_FAILURE;
+      g_get_current_time (&time);
+      v4l2src->substract_time = GST_TIMEVAL_TO_TIME (time) -
+         v4l2src->substract_time;
+      v4l2src->last_seq = 0;
+      break;
+    case GST_STATE_PLAYING_TO_PAUSED:
+      g_get_current_time (&time);
+      v4l2src->substract_time = GST_TIMEVAL_TO_TIME (time) -
+         v4l2src->substract_time;
+      /* de-queue all queued buffers */
+      if (!gst_v4l2src_capture_stop (v4l2src))
+       return GST_STATE_FAILURE;
+      break;
+    case GST_STATE_PAUSED_TO_READY:
+      /* stop capturing, unmap all buffers */
+      if (!gst_v4l2src_capture_deinit (v4l2src))
+       return GST_STATE_FAILURE;
+      break;
+    case GST_STATE_READY_TO_NULL:
+      break;
+  }
+
+  return GST_STATE_SUCCESS;
 }
 
 
 static void
-gst_v4l2src_set_clock (GstElement *element,
-                           GstClock   *clock)
+gst_v4l2src_set_clock (GstElement * element, GstClock * clock)
 {
-       GST_V4L2SRC(element)->clock = clock;
+  GST_V4L2SRC (element)->clock = clock;
 }
-
index ca528d1..d68f9cf 100644 (file)
@@ -38,72 +38,75 @@ GST_DEBUG_CATEGORY_EXTERN (v4l2src_debug);
 #define GST_IS_V4L2SRC_CLASS(obj) \
                (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4L2SRC))
 
-typedef struct _GstV4l2BufferPool      GstV4l2BufferPool;
-typedef struct _GstV4l2Buffer          GstV4l2Buffer;
-typedef        struct _GstV4l2Src              GstV4l2Src;
-typedef        struct _GstV4l2SrcClass         GstV4l2SrcClass;
+typedef struct _GstV4l2BufferPool GstV4l2BufferPool;
+typedef struct _GstV4l2Buffer GstV4l2Buffer;
+typedef struct _GstV4l2Src GstV4l2Src;
+typedef struct _GstV4l2SrcClass GstV4l2SrcClass;
 
 /* global info */
-struct _GstV4l2BufferPool {
-  GstAtomicInt         refcount; /* number of users: 1 for every buffer, 1 for element */
-  gint                 video_fd;
-  guint                        buffer_count;
-  GstV4l2Buffer *      buffers;
+struct _GstV4l2BufferPool
+{
+  GstAtomicInt refcount;       /* number of users: 1 for every buffer, 1 for element */
+  gint video_fd;
+  guint buffer_count;
+  GstV4l2Buffer *buffers;
 };
 
-struct _GstV4l2Buffer {
-  struct v4l2_buffer   buffer;
-  guint8 *             start;
-  guint                        length;
-  GstAtomicInt         refcount; /* add 1 if in use by element, add 1 if in use by GstBuffer */
-  GstV4l2BufferPool *  pool;
+struct _GstV4l2Buffer
+{
+  struct v4l2_buffer buffer;
+  guint8 *start;
+  guint length;
+  GstAtomicInt refcount;       /* add 1 if in use by element, add 1 if in use by GstBuffer */
+  GstV4l2BufferPool *pool;
 };
 
-struct _GstV4l2Src {
-       GstV4l2Element v4l2element;
+struct _GstV4l2Src
+{
+  GstV4l2Element v4l2element;
 
-       /* pads */
-       GstPad *srcpad;
+  /* pads */
+  GstPad *srcpad;
 
-       /* internal lists */
-       GSList *formats; /* list of available capture formats */
+  /* internal lists */
+  GSList *formats;             /* list of available capture formats */
 
-       /* buffers */
-       GstV4l2BufferPool *pool;
+  /* buffers */
+  GstV4l2BufferPool *pool;
 
-       struct v4l2_requestbuffers breq;
-       struct v4l2_format format;
+  struct v4l2_requestbuffers breq;
+  struct v4l2_format format;
 
-       /* True if we want to stop */
-       gboolean quit;
+  /* True if we want to stop */
+  gboolean quit;
 
-       /* A/V sync... frame counter and internal cache */
-       gulong handled;
-       gint need_writes;
-       GstBuffer *cached_buffer;
-       gulong last_seq;
+  /* A/V sync... frame counter and internal cache */
+  gulong handled;
+  gint need_writes;
+  GstBuffer *cached_buffer;
+  gulong last_seq;
 
-       /* clock */
-       GstClock *clock;
-       
-       /* time to substract from clock time to get back to timestamp */
-       GstClockTime substract_time;
+  /* clock */
+  GstClock *clock;
 
-       /* how are we going to push buffers? */
-       gboolean use_fixed_fps;
+  /* time to substract from clock time to get back to timestamp */
+  GstClockTime substract_time;
+
+  /* how are we going to push buffers? */
+  gboolean use_fixed_fps;
 };
 
-struct _GstV4l2SrcClass {
-       GstV4l2ElementClass parent_class;
+struct _GstV4l2SrcClass
+{
+  GstV4l2ElementClass parent_class;
 
-       void (*frame_capture) (GObject *object);
-       void (*frame_drop)    (GObject *object);
-       void (*frame_insert)  (GObject *object);
-       void (*frame_lost)    (GObject *object,
-                               gint     num_lost);
+  void (*frame_capture) (GObject * object);
+  void (*frame_drop) (GObject * object);
+  void (*frame_insert) (GObject * object);
+  void (*frame_lost) (GObject * object, gint num_lost);
 };
 
 
-GType gst_v4l2src_get_type(void);
+GType gst_v4l2src_get_type (void);
 
 #endif /* __GST_V4L2SRC_H__ */
index f4f2cd6..5d5626f 100644 (file)
 #include "gstv4l2element.h"
 #include "v4l2_calls.h"
 
-static void    gst_v4l2_tuner_channel_class_init (GstV4l2TunerChannelClass *klass);
-static void    gst_v4l2_tuner_channel_init     (GstV4l2TunerChannel *channel);
+static void gst_v4l2_tuner_channel_class_init (GstV4l2TunerChannelClass *
+    klass);
+static void gst_v4l2_tuner_channel_init (GstV4l2TunerChannel * channel);
 
-static void    gst_v4l2_tuner_norm_class_init  (GstV4l2TunerNormClass *klass);
-static void    gst_v4l2_tuner_norm_init        (GstV4l2TunerNorm *norm);
+static void gst_v4l2_tuner_norm_class_init (GstV4l2TunerNormClass * klass);
+static void gst_v4l2_tuner_norm_init (GstV4l2TunerNorm * norm);
 
-static const GList *
-               gst_v4l2_tuner_list_channels    (GstTuner        *mixer);
-static void    gst_v4l2_tuner_set_channel      (GstTuner        *mixer,
-                                                GstTunerChannel *channel);
-static GstTunerChannel *
-               gst_v4l2_tuner_get_channel      (GstTuner        *mixer);
+static const GList *gst_v4l2_tuner_list_channels (GstTuner * mixer);
+static void gst_v4l2_tuner_set_channel (GstTuner * mixer,
+    GstTunerChannel * channel);
+static GstTunerChannel *gst_v4l2_tuner_get_channel (GstTuner * mixer);
 
-static const GList *
-               gst_v4l2_tuner_list_norms       (GstTuner        *mixer);
-static void    gst_v4l2_tuner_set_norm         (GstTuner        *mixer,
-                                                GstTunerNorm    *norm);
-static GstTunerNorm *
-               gst_v4l2_tuner_get_norm         (GstTuner        *mixer);
+static const GList *gst_v4l2_tuner_list_norms (GstTuner * mixer);
+static void gst_v4l2_tuner_set_norm (GstTuner * mixer, GstTunerNorm * norm);
+static GstTunerNorm *gst_v4l2_tuner_get_norm (GstTuner * mixer);
 
-static void    gst_v4l2_tuner_set_frequency    (GstTuner        *mixer,
-                                                GstTunerChannel *channel,
-                                                gulong           frequency);
-static gulong  gst_v4l2_tuner_get_frequency    (GstTuner        *mixer,
-                                                GstTunerChannel *channel);
-static gint    gst_v4l2_tuner_signal_strength  (GstTuner        *mixer,
-                                                GstTunerChannel *channel);
+static void gst_v4l2_tuner_set_frequency (GstTuner * mixer,
+    GstTunerChannel * channel, gulong frequency);
+static gulong gst_v4l2_tuner_get_frequency (GstTuner * mixer,
+    GstTunerChannel * channel);
+static gint gst_v4l2_tuner_signal_strength (GstTuner * mixer,
+    GstTunerChannel * channel);
 
 static GstTunerNormClass *norm_parent_class = NULL;
 static GstTunerChannelClass *channel_parent_class = NULL;
@@ -82,21 +77,20 @@ gst_v4l2_tuner_channel_get_type (void)
 
     gst_v4l2_tuner_channel_type =
        g_type_register_static (GST_TYPE_TUNER_CHANNEL,
-                               "GstV4l2TunerChannel",
-                               &v4l2_tuner_channel_info, 0);
+       "GstV4l2TunerChannel", &v4l2_tuner_channel_info, 0);
   }
 
   return gst_v4l2_tuner_channel_type;
 }
 
 static void
-gst_v4l2_tuner_channel_class_init (GstV4l2TunerChannelClass *klass)
+gst_v4l2_tuner_channel_class_init (GstV4l2TunerChannelClass * klass)
 {
   channel_parent_class = g_type_class_ref (GST_TYPE_TUNER_CHANNEL);
 }
 
 static void
-gst_v4l2_tuner_channel_init (GstV4l2TunerChannel *channel)
+gst_v4l2_tuner_channel_init (GstV4l2TunerChannel * channel)
 {
   channel->index = 0;
   channel->tuner = 0;
@@ -124,27 +118,26 @@ gst_v4l2_tuner_norm_get_type (void)
 
     gst_v4l2_tuner_norm_type =
        g_type_register_static (GST_TYPE_TUNER_NORM,
-                               "GstV4l2TunerNorm",
-                               &v4l2_tuner_norm_info, 0);
+       "GstV4l2TunerNorm", &v4l2_tuner_norm_info, 0);
   }
 
   return gst_v4l2_tuner_norm_type;
 }
 
 static void
-gst_v4l2_tuner_norm_class_init (GstV4l2TunerNormClass *klass)
+gst_v4l2_tuner_norm_class_init (GstV4l2TunerNormClass * klass)
 {
   norm_parent_class = g_type_class_ref (GST_TYPE_TUNER_NORM);
 }
 
 static void
-gst_v4l2_tuner_norm_init (GstV4l2TunerNorm *norm)
+gst_v4l2_tuner_norm_init (GstV4l2TunerNorm * norm)
 {
   norm->index = 0;
 }
 
 void
-gst_v4l2_tuner_interface_init (GstTunerClass *klass)
+gst_v4l2_tuner_interface_init (GstTunerClass * klass)
 {
   /* default virtual functions */
   klass->list_channels = gst_v4l2_tuner_list_channels;
@@ -161,7 +154,7 @@ gst_v4l2_tuner_interface_init (GstTunerClass *klass)
 }
 
 static gboolean
-gst_v4l2_tuner_is_sink (GstV4l2Element *v4l2element)
+gst_v4l2_tuner_is_sink (GstV4l2Element * v4l2element)
 {
   const GList *pads = gst_element_get_pad_list (GST_ELEMENT (v4l2element));
   GstPadDirection dir = GST_PAD_UNKNOWN;
@@ -174,8 +167,8 @@ gst_v4l2_tuner_is_sink (GstV4l2Element *v4l2element)
 }
 
 static gboolean
-gst_v4l2_tuner_contains_channel (GstV4l2Element      *v4l2element,
-                                GstV4l2TunerChannel *v4l2channel)
+gst_v4l2_tuner_contains_channel (GstV4l2Element v4l2element,
+    GstV4l2TunerChannel * v4l2channel)
 {
   const GList *item;
 
@@ -187,15 +180,14 @@ gst_v4l2_tuner_contains_channel (GstV4l2Element      *v4l2element,
 }
 
 static const GList *
-gst_v4l2_tuner_list_channels (GstTuner *mixer)
+gst_v4l2_tuner_list_channels (GstTuner * mixer)
 {
   /* ... or output, if we're a sink... */
   return GST_V4L2ELEMENT (mixer)->channels;
 }
 
 static void
-gst_v4l2_tuner_set_channel (GstTuner        *mixer,
-                           GstTunerChannel *channel)
+gst_v4l2_tuner_set_channel (GstTuner * mixer, GstTunerChannel * channel)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (mixer);
   GstV4l2TunerChannel *v4l2channel = GST_V4L2_TUNER_CHANNEL (channel);
@@ -205,7 +197,7 @@ gst_v4l2_tuner_set_channel (GstTuner        *mixer,
   g_return_if_fail (gst_v4l2_tuner_contains_channel (v4l2element, v4l2channel));
 
   /* ... or output, if we're a sink... */
-  if (gst_v4l2_tuner_is_sink (v4l2element) ? 
+  if (gst_v4l2_tuner_is_sink (v4l2element) ?
       gst_v4l2_set_output (v4l2element, v4l2channel->index) :
       gst_v4l2_set_input (v4l2element, v4l2channel->index)) {
     gst_tuner_channel_changed (mixer, channel);
@@ -214,7 +206,7 @@ gst_v4l2_tuner_set_channel (GstTuner        *mixer,
 }
 
 static GstTunerChannel *
-gst_v4l2_tuner_get_channel (GstTuner *mixer)
+gst_v4l2_tuner_get_channel (GstTuner * mixer)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (mixer);
   GList *item;
@@ -238,8 +230,8 @@ gst_v4l2_tuner_get_channel (GstTuner *mixer)
 }
 
 static gboolean
-gst_v4l2_tuner_contains_norm (GstV4l2Element   *v4l2element,
-                             GstV4l2TunerNorm *v4l2norm)
+gst_v4l2_tuner_contains_norm (GstV4l2Element v4l2element,
+    GstV4l2TunerNorm * v4l2norm)
 {
   const GList *item;
 
@@ -251,14 +243,13 @@ gst_v4l2_tuner_contains_norm (GstV4l2Element   *v4l2element,
 }
 
 static const GList *
-gst_v4l2_tuner_list_norms (GstTuner *mixer)
+gst_v4l2_tuner_list_norms (GstTuner * mixer)
 {
   return GST_V4L2ELEMENT (mixer)->norms;
 }
 
 static void
-gst_v4l2_tuner_set_norm (GstTuner     *mixer,
-                        GstTunerNorm *norm)
+gst_v4l2_tuner_set_norm (GstTuner * mixer, GstTunerNorm * norm)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (mixer);
   GstV4l2TunerNorm *v4l2norm = GST_V4L2_TUNER_NORM (norm);
@@ -269,12 +260,12 @@ gst_v4l2_tuner_set_norm (GstTuner     *mixer,
 
   if (gst_v4l2_set_norm (v4l2element, v4l2norm->index)) {
     gst_tuner_norm_changed (mixer, norm);
-    g_object_notify (G_OBJECT (v4l2element), "norm"); 
+    g_object_notify (G_OBJECT (v4l2element), "norm");
   }
 }
 
 static GstTunerNorm *
-gst_v4l2_tuner_get_norm (GstTuner *mixer)
+gst_v4l2_tuner_get_norm (GstTuner * mixer)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (mixer);
   GList *item;
@@ -294,9 +285,8 @@ gst_v4l2_tuner_get_norm (GstTuner *mixer)
 }
 
 static void
-gst_v4l2_tuner_set_frequency (GstTuner        *mixer,
-                             GstTunerChannel *channel,
-                             gulong           frequency)
+gst_v4l2_tuner_set_frequency (GstTuner * mixer,
+    GstTunerChannel * channel, gulong frequency)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (mixer);
   GstV4l2TunerChannel *v4l2channel = GST_V4L2_TUNER_CHANNEL (channel);
@@ -305,7 +295,7 @@ gst_v4l2_tuner_set_frequency (GstTuner        *mixer,
   /* assert that we're opened and that we're using a known item */
   g_return_if_fail (GST_V4L2_IS_OPEN (v4l2element));
   g_return_if_fail (GST_TUNER_CHANNEL_HAS_FLAG (channel,
-                       GST_TUNER_CHANNEL_FREQUENCY));
+         GST_TUNER_CHANNEL_FREQUENCY));
   g_return_if_fail (gst_v4l2_tuner_contains_channel (v4l2element, v4l2channel));
 
   gst_v4l2_get_input (v4l2element, &chan);
@@ -313,14 +303,13 @@ gst_v4l2_tuner_set_frequency (GstTuner        *mixer,
       GST_TUNER_CHANNEL_HAS_FLAG (channel, GST_TUNER_CHANNEL_FREQUENCY)) {
     if (gst_v4l2_set_frequency (v4l2element, v4l2channel->tuner, frequency)) {
       gst_tuner_frequency_changed (mixer, channel, frequency);
-      g_object_notify (G_OBJECT (v4l2element), "frequency"); 
+      g_object_notify (G_OBJECT (v4l2element), "frequency");
     }
   }
 }
 
 static gulong
-gst_v4l2_tuner_get_frequency (GstTuner        *mixer,
-                             GstTunerChannel *channel)
+gst_v4l2_tuner_get_frequency (GstTuner * mixer, GstTunerChannel * channel)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (mixer);
   GstV4l2TunerChannel *v4l2channel = GST_V4L2_TUNER_CHANNEL (channel);
@@ -330,9 +319,9 @@ gst_v4l2_tuner_get_frequency (GstTuner        *mixer,
   /* assert that we're opened and that we're using a known item */
   g_return_val_if_fail (GST_V4L2_IS_OPEN (v4l2element), 0);
   g_return_val_if_fail (GST_TUNER_CHANNEL_HAS_FLAG (channel,
-                               GST_TUNER_CHANNEL_FREQUENCY), 0);
+         GST_TUNER_CHANNEL_FREQUENCY), 0);
   g_return_val_if_fail (gst_v4l2_tuner_contains_channel (v4l2element,
-                                                        v4l2channel), 0);
+         v4l2channel), 0);
 
   gst_v4l2_get_input (v4l2element, &chan);
   if (chan == GST_V4L2_TUNER_CHANNEL (channel)->index &&
@@ -344,8 +333,7 @@ gst_v4l2_tuner_get_frequency (GstTuner        *mixer,
 }
 
 static gint
-gst_v4l2_tuner_signal_strength (GstTuner        *mixer,
-                               GstTunerChannel *channel)
+gst_v4l2_tuner_signal_strength (GstTuner * mixer, GstTunerChannel * channel)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (mixer);
   GstV4l2TunerChannel *v4l2channel = GST_V4L2_TUNER_CHANNEL (channel);
@@ -355,9 +343,9 @@ gst_v4l2_tuner_signal_strength (GstTuner        *mixer,
   /* assert that we're opened and that we're using a known item */
   g_return_val_if_fail (GST_V4L2_IS_OPEN (v4l2element), 0);
   g_return_val_if_fail (GST_TUNER_CHANNEL_HAS_FLAG (channel,
-                               GST_TUNER_CHANNEL_FREQUENCY), 0);
+         GST_TUNER_CHANNEL_FREQUENCY), 0);
   g_return_val_if_fail (gst_v4l2_tuner_contains_channel (v4l2element,
-                                                        v4l2channel), 0);
+         v4l2channel), 0);
 
   gst_v4l2_get_input (v4l2element, &chan);
   if (chan == GST_V4L2_TUNER_CHANNEL (channel)->index &&
index a768ea2..729fe22 100644 (file)
@@ -28,7 +28,6 @@
 #include "gstv4l2element.h"
 
 G_BEGIN_DECLS
-
 #define GST_TYPE_V4L2_TUNER_CHANNEL \
   (gst_v4l2_tuner_channel_get_type ())
 #define GST_V4L2_TUNER_CHANNEL(obj) \
@@ -41,16 +40,17 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L2_TUNER_CHANNEL))
 #define GST_IS_V4L2_TUNER_CHANNEL_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L2_TUNER_CHANNEL))
-
-typedef struct _GstV4l2TunerChannel {
+    typedef struct _GstV4l2TunerChannel
+{
   GstTunerChannel parent;
 
-  guint32         index;
-  guint32         tuner;
-  guint32         audio;
+  guint32 index;
+  guint32 tuner;
+  guint32 audio;
 } GstV4l2TunerChannel;
 
-typedef struct _GstV4l2TunerChannelClass {
+typedef struct _GstV4l2TunerChannelClass
+{
   GstTunerChannelClass parent;
 } GstV4l2TunerChannelClass;
 
@@ -67,19 +67,21 @@ typedef struct _GstV4l2TunerChannelClass {
 #define GST_IS_V4L2_TUNER_NORM_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L2_TUNER_NORM))
 
-typedef struct _GstV4l2TunerNorm {
+typedef struct _GstV4l2TunerNorm
+{
   GstTunerNorm parent;
 
-  v4l2_std_id  index;
+  v4l2_std_id index;
 } GstV4l2TunerNorm;
 
-typedef struct _GstV4l2TunerNormClass {
+typedef struct _GstV4l2TunerNormClass
+{
   GstTunerNormClass parent;
 } GstV4l2TunerNormClass;
 
-GType  gst_v4l2_tuner_channel_get_type (void);
-GType  gst_v4l2_tuner_norm_get_type    (void);
+GType gst_v4l2_tuner_channel_get_type (void);
+GType gst_v4l2_tuner_norm_get_type (void);
 
-void   gst_v4l2_tuner_interface_init   (GstTunerClass *klass);
+void gst_v4l2_tuner_interface_init (GstTunerClass * klass);
 
 #endif /* __GST_V4L2_TUNER_H__ */
index 10c5f77..1af62cc 100644 (file)
 #include "gstv4l2element.h"
 #include "v4l2_calls.h"
 
-static void    gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay *overlay,
-                                                 XID          xwindow_id);
+static void gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay * overlay,
+    XID xwindow_id);
 
 void
-gst_v4l2_xoverlay_interface_init (GstXOverlayClass *klass)
+gst_v4l2_xoverlay_interface_init (GstXOverlayClass * klass)
 {
   /* default virtual functions */
   klass->set_xwindow_id = gst_v4l2_xoverlay_set_xwindow_id;
 }
 
 GstXWindowListener *
-gst_v4l2_xoverlay_new (GstV4l2Element *v4l2element)
+gst_v4l2_xoverlay_new (GstV4l2Element * v4l2element)
 {
-  GstXWindowListener *xwin =
-       gst_x_window_listener_new (NULL,
-                                  (MapWindowFunc) gst_v4l2_enable_overlay,
-                                  (SetWindowFunc) gst_v4l2_set_window,
-                                  (gpointer) v4l2element);
+  GstXWindowListener *xwin = gst_x_window_listener_new (NULL,
+      (MapWindowFunc) gst_v4l2_enable_overlay,
+      (SetWindowFunc) gst_v4l2_set_window,
+      (gpointer) v4l2element);
 
   v4l2element->overlay = xwin;
   v4l2element->xwindow_id = 0;
@@ -57,7 +56,7 @@ gst_v4l2_xoverlay_new (GstV4l2Element *v4l2element)
 }
 
 void
-gst_v4l2_xoverlay_free (GstV4l2Element *v4l2element)
+gst_v4l2_xoverlay_free (GstV4l2Element * v4l2element)
 {
   gst_v4l2_xoverlay_close (v4l2element);
   g_object_unref (G_OBJECT (v4l2element->overlay));
@@ -65,7 +64,7 @@ gst_v4l2_xoverlay_free (GstV4l2Element *v4l2element)
 }
 
 void
-gst_v4l2_xoverlay_open (GstV4l2Element *v4l2element)
+gst_v4l2_xoverlay_open (GstV4l2Element * v4l2element)
 {
   GstXWindowListener *xwin = v4l2element->overlay;
 
@@ -73,22 +72,20 @@ gst_v4l2_xoverlay_open (GstV4l2Element *v4l2element)
     xwin->display_name = g_strdup (v4l2element->display);
 
     if (v4l2element->xwindow_id != 0 &&
-        xwin->display_name &&
-        xwin->display_name[0] == ':') {
+       xwin->display_name && xwin->display_name[0] == ':') {
       gst_x_window_listener_set_xid (xwin, v4l2element->xwindow_id);
     }
   }
 }
 
 void
-gst_v4l2_xoverlay_close (GstV4l2Element *v4l2element)
+gst_v4l2_xoverlay_close (GstV4l2Element * v4l2element)
 {
   GstXWindowListener *xwin = v4l2element->overlay;
 
   if (xwin != NULL) {
     if (v4l2element->xwindow_id != 0 &&
-        xwin->display_name &&
-        xwin->display_name[0] == ':') {
+       xwin->display_name && xwin->display_name[0] == ':') {
       gst_x_window_listener_set_xid (xwin, 0);
     }
 
@@ -98,8 +95,7 @@ gst_v4l2_xoverlay_close (GstV4l2Element *v4l2element)
 }
 
 static void
-gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay *overlay,
-                                 XID          xwindow_id)
+gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay * overlay, XID xwindow_id)
 {
   GstV4l2Element *v4l2element = GST_V4L2ELEMENT (overlay);
   GstXWindowListener *xwin = v4l2element->overlay;
@@ -110,9 +106,7 @@ gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay *overlay,
 
   if (gst_element_get_state (GST_ELEMENT (v4l2element)) != GST_STATE_NULL &&
       v4l2element->xwindow_id != 0 &&
-      xwin != NULL &&
-      xwin->display_name &&
-      xwin->display_name[0] == ':') {
+      xwin != NULL && xwin->display_name && xwin->display_name[0] == ':') {
     gst_x_window_listener_set_xid (xwin, 0);
   }
 
@@ -120,9 +114,7 @@ gst_v4l2_xoverlay_set_xwindow_id (GstXOverlay *overlay,
 
   if (gst_element_get_state (GST_ELEMENT (v4l2element)) != GST_STATE_NULL &&
       v4l2element->xwindow_id != 0 &&
-      xwin != NULL &&
-      xwin->display_name &&
-      xwin->display_name[0] == ':') {
+      xwin != NULL && xwin->display_name && xwin->display_name[0] == ':') {
     gst_x_window_listener_set_xid (xwin, v4l2element->xwindow_id);
   }
 }
index cfcdfd3..d5cb779 100644 (file)
 
 #include "gstv4l2element.h"
 
-G_BEGIN_DECLS
+G_BEGIN_DECLS void gst_v4l2_xoverlay_interface_init (GstXOverlayClass * klass);
 
-void   gst_v4l2_xoverlay_interface_init (GstXOverlayClass *klass);
-
-GstXWindowListener *
-       gst_v4l2_xoverlay_new           (GstV4l2Element  *v4l2element);
-void   gst_v4l2_xoverlay_free          (GstV4l2Element  *v4l2element);
+GstXWindowListener *gst_v4l2_xoverlay_new (GstV4l2Element * v4l2element);
+void gst_v4l2_xoverlay_free (GstV4l2Element * v4l2element);
 
 /* signal handlers */
-void   gst_v4l2_xoverlay_open          (GstV4l2Element  *v4l2element);
-void   gst_v4l2_xoverlay_close         (GstV4l2Element  *v4l2element);
+void gst_v4l2_xoverlay_open (GstV4l2Element * v4l2element);
+void gst_v4l2_xoverlay_close (GstV4l2Element * v4l2element);
 
 #endif /* __GST_V4L2_X_OVERLAY_H__ */
index 4d948d0..d4a10ab 100644 (file)
  ******************************************************/
 
 gboolean
-gst_v4l2_set_display (GstV4l2Element *v4l2element)
+gst_v4l2_set_display (GstV4l2Element * v4l2element)
 {
-       gchar *buff;
-
-       if (v4l2element->display)
-               g_free(v4l2element->display);
-       v4l2element->display = g_strdup(g_getenv("DISPLAY"));
-
-       DEBUG("trying to set overlay to '%s'", v4l2element->display);
-
-       /* start v4l-conf */
-       buff = g_strdup_printf("v4l-conf -q -c %s -d %s",
-               v4l2element->device, v4l2element->display);
-
-       switch (system(buff)) {
-               case -1:
-                       GST_ELEMENT_ERROR (v4l2element, RESOURCE, FAILED,
-                                           (_("Could not start v4l-conf.")),
-                                           GST_ERROR_SYSTEM);
-                       g_free(buff);
-                       return FALSE;
-               case 0:
-                       break;
-               default:
-                       GST_ELEMENT_ERROR (v4l2element, RESOURCE, FAILED,
-                                           (_("Executing v4l-conf failed.")),
-                                           GST_ERROR_SYSTEM);
-                       g_free(buff);
-                       return FALSE;
-       }
-
-       g_free(buff);
-       return TRUE;
+  gchar *buff;
+
+  if (v4l2element->display)
+    g_free (v4l2element->display);
+  v4l2element->display = g_strdup (g_getenv ("DISPLAY"));
+
+  DEBUG ("trying to set overlay to '%s'", v4l2element->display);
+
+  /* start v4l-conf */
+  buff = g_strdup_printf ("v4l-conf -q -c %s -d %s",
+      v4l2element->device, v4l2element->display);
+
+  switch (system (buff)) {
+    case -1:
+      GST_ELEMENT_ERROR (v4l2element, RESOURCE, FAILED,
+         (_("Could not start v4l-conf.")), GST_ERROR_SYSTEM);
+      g_free (buff);
+      return FALSE;
+    case 0:
+      break;
+    default:
+      GST_ELEMENT_ERROR (v4l2element, RESOURCE, FAILED,
+         (_("Executing v4l-conf failed.")), GST_ERROR_SYSTEM);
+      g_free (buff);
+      return FALSE;
+  }
+
+  g_free (buff);
+  return TRUE;
 }
 
 
@@ -86,38 +84,33 @@ gst_v4l2_set_display (GstV4l2Element *v4l2element)
  ******************************************************/
 
 gboolean
-gst_v4l2_set_window (GstElement       *element,
-                     gint              x,
-                     gint              y,
-                     gint              w,
-                     gint              h,
-                     struct v4l2_clip *clips,
-                     gint              num_clips)
+gst_v4l2_set_window (GstElement * element,
+    gint x, gint y, gint w, gint h, struct v4l2_clip * clips, gint num_clips)
 {
-       struct v4l2_format fmt;
-       GstV4l2Element *v4l2element = GST_V4L2ELEMENT(element);
-
-       DEBUG("trying to set video window to %dx%d,%d,%d", x,y,w,h);
-       GST_V4L2_CHECK_OVERLAY(v4l2element);
-       GST_V4L2_CHECK_OPEN(v4l2element);
-
-       fmt.type = V4L2_CAP_VIDEO_OVERLAY;
-       fmt.fmt.win.clipcount = 0;
-       fmt.fmt.win.w.left = x;
-       fmt.fmt.win.w.top = y;
-       fmt.fmt.win.w.width = w;
-       fmt.fmt.win.w.height = h;
-       fmt.fmt.win.clips = clips;
-       fmt.fmt.win.clipcount = num_clips;
-       fmt.fmt.win.bitmap = NULL;
-
-       if (ioctl(v4l2element->video_fd, VIDIOC_S_FMT, &fmt) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, TOO_LAZY, (NULL),
-                       ("Failed to set the video window: %s", g_strerror (errno)));
-               return FALSE;
-       }
-
-       return TRUE;
+  struct v4l2_format fmt;
+  GstV4l2Element *v4l2element = GST_V4L2ELEMENT (element);
+
+  DEBUG ("trying to set video window to %dx%d,%d,%d", x, y, w, h);
+  GST_V4L2_CHECK_OVERLAY (v4l2element);
+  GST_V4L2_CHECK_OPEN (v4l2element);
+
+  fmt.type = V4L2_CAP_VIDEO_OVERLAY;
+  fmt.fmt.win.clipcount = 0;
+  fmt.fmt.win.w.left = x;
+  fmt.fmt.win.w.top = y;
+  fmt.fmt.win.w.width = w;
+  fmt.fmt.win.w.height = h;
+  fmt.fmt.win.clips = clips;
+  fmt.fmt.win.clipcount = num_clips;
+  fmt.fmt.win.bitmap = NULL;
+
+  if (ioctl (v4l2element->video_fd, VIDIOC_S_FMT, &fmt) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, TOO_LAZY, (NULL),
+       ("Failed to set the video window: %s", g_strerror (errno)));
+    return FALSE;
+  }
+
+  return TRUE;
 }
 
 
@@ -128,21 +121,20 @@ gst_v4l2_set_window (GstElement       *element,
  ******************************************************/
 
 gboolean
-gst_v4l2_enable_overlay (GstV4l2Element *v4l2element,
-                         gboolean        enable)
+gst_v4l2_enable_overlay (GstV4l2Element * v4l2element, gboolean enable)
 {
-       gint doit = enable?1:0;
+  gint doit = enable ? 1 : 0;
 
-       DEBUG("trying to %s overlay display", enable?"enable":"disable");
-       GST_V4L2_CHECK_OPEN(v4l2element);
-       GST_V4L2_CHECK_OVERLAY(v4l2element);
+  DEBUG ("trying to %s overlay display", enable ? "enable" : "disable");
+  GST_V4L2_CHECK_OPEN (v4l2element);
+  GST_V4L2_CHECK_OVERLAY (v4l2element);
 
-       if (ioctl(v4l2element->video_fd, VIDIOC_OVERLAY, &doit) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, TOO_LAZY, (NULL),
-                       ("Failed to %s overlay display: %s",
-                        enable?"enable":"disable", g_strerror (errno)));
-               return FALSE;
-       }
+  if (ioctl (v4l2element->video_fd, VIDIOC_OVERLAY, &doit) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, TOO_LAZY, (NULL),
+       ("Failed to %s overlay display: %s",
+           enable ? "enable" : "disable", g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
index f7c3d3a..f75ea55 100644 (file)
  ******************************************************/
 
 static gboolean
-gst_v4l2_get_capabilities (GstV4l2Element *v4l2element)
+gst_v4l2_get_capabilities (GstV4l2Element * v4l2element)
 {
-       DEBUG("getting capabilities");
-       GST_V4L2_CHECK_OPEN(v4l2element);
-
-       if (ioctl(v4l2element->video_fd, VIDIOC_QUERYCAP, &(v4l2element->vcap)) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Error getting %s capabilities: %s",
-                        v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  DEBUG ("getting capabilities");
+  GST_V4L2_CHECK_OPEN (v4l2element);
+
+  if (ioctl (v4l2element->video_fd, VIDIOC_QUERYCAP, &(v4l2element->vcap)) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Error getting %s capabilities: %s",
+           v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -72,288 +72,269 @@ gst_v4l2_get_capabilities (GstV4l2Element *v4l2element)
  ******************************************************/
 
 static gboolean
-gst_v4l2_fill_lists (GstV4l2Element *v4l2element)
+gst_v4l2_fill_lists (GstV4l2Element * v4l2element)
 {
-       gint n;
-       const GList *pads =
-               gst_element_get_pad_list (GST_ELEMENT (v4l2element));
-       GstPadDirection dir = GST_PAD_UNKNOWN;
-
-       DEBUG("getting enumerations");
-       GST_V4L2_CHECK_OPEN(v4l2element);
-
-       /* sinks have outputs, all others have inputs */
-       if (pads && g_list_length ((GList *) pads) == 1)
-               dir = GST_PAD_DIRECTION (GST_PAD (pads->data));
-
-       if (dir != GST_PAD_SINK) {
-       /* and now, the inputs */
-               for (n=0;;n++) {
-                       struct v4l2_input input;
-                       GstV4l2TunerChannel *v4l2channel;
-                       GstTunerChannel *channel;
-
-                       input.index = n;
-                       if (ioctl(v4l2element->video_fd, VIDIOC_ENUMINPUT,
-                                 &input) < 0) {
-                               if (errno == EINVAL)
-                                       break; /* end of enumeration */
-                               else {
-                                       GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                                                          ("Failed to get %d in input enumeration for %s: %s",
-                                               n, v4l2element->device,
-                                               g_strerror (errno)));
-                                       return FALSE;
-                               }
-                       }
-
-                       v4l2channel =
-                               g_object_new(GST_TYPE_V4L2_TUNER_CHANNEL, NULL);
-                       channel = GST_TUNER_CHANNEL(v4l2channel);
-                       channel->label = g_strdup(input.name);
-                       channel->flags = GST_TUNER_CHANNEL_INPUT;
-                       v4l2channel->index = n;
-                       if (input.type == V4L2_INPUT_TYPE_TUNER) {
-                               struct v4l2_tuner vtun;
-
-                               v4l2channel->tuner = input.tuner;
-                               channel->flags |= GST_TUNER_CHANNEL_FREQUENCY;
-
-                               vtun.index = input.tuner;
-                               if (ioctl(v4l2element->video_fd, VIDIOC_G_TUNER,
-                                         &vtun) < 0) {
-                                       GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                                               ("Failed to get tuner %d settings on %s: %s",
-                                               input.tuner,
-                                               v4l2element->device,
-                                               g_strerror (errno)));
-                                       g_object_unref(G_OBJECT(channel));
-                                       return FALSE;
-                               }
-                               channel->min_frequency = vtun.rangelow;
-                               channel->max_frequency = vtun.rangehigh;
-                               channel->min_signal = 0;
-                               channel->max_signal = 0xffff;
-                       }
-                       if (input.audioset) {
-                               /* we take the first. We don't care for
-                                * the others for now */
-                               while (!(input.audioset &
-                                        (1<<v4l2channel->audio)))
-                                       v4l2channel->audio++;
-                               channel->flags |= GST_TUNER_CHANNEL_AUDIO;
-                       }
-
-                       v4l2element->channels =
-                               g_list_append(v4l2element->channels,
-                                             (gpointer) channel);
-               }
-       } else {
-               /* outputs */
-               for (n=0;;n++) {
-                       struct v4l2_output output;
-                       GstV4l2TunerChannel *v4l2channel;
-                       GstTunerChannel *channel;
-
-                       output.index = n;
-                       if (ioctl(v4l2element->video_fd, VIDIOC_ENUMOUTPUT,
-                                 &output) < 0) {
-                               if (errno == EINVAL)
-                                       break; /* end of enumeration */
-                               else {
-                                       GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                                                          ("Failed to get %d in output enumeration for %s: %s",
-                                               n, v4l2element->device,
-                                               g_strerror (errno)));
-                                       return FALSE;
-                               }
-                       }
-
-                       v4l2channel = g_object_new(GST_TYPE_V4L2_TUNER_CHANNEL, NULL);
-                       channel = GST_TUNER_CHANNEL(v4l2channel);
-                       channel->label = g_strdup(output.name);
-                       channel->flags = GST_TUNER_CHANNEL_OUTPUT;
-                       v4l2channel->index = n;
-                       if (output.audioset) {
-                               /* we take the first. We don't care for
-                                * the others for now */
-                               while (!(output.audioset &
-                                        (1<<v4l2channel->audio)))
-                                       v4l2channel->audio++;
-                               channel->flags |= GST_TUNER_CHANNEL_AUDIO;
-                       }
-
-                       v4l2element->channels =
-                               g_list_append(v4l2element->channels,
-                                             (gpointer) channel);
-               }
+  gint n;
+  const GList *pads = gst_element_get_pad_list (GST_ELEMENT (v4l2element));
+  GstPadDirection dir = GST_PAD_UNKNOWN;
+
+  DEBUG ("getting enumerations");
+  GST_V4L2_CHECK_OPEN (v4l2element);
+
+  /* sinks have outputs, all others have inputs */
+  if (pads && g_list_length ((GList *) pads) == 1)
+    dir = GST_PAD_DIRECTION (GST_PAD (pads->data));
+
+  if (dir != GST_PAD_SINK) {
+    /* and now, the inputs */
+    for (n = 0;; n++) {
+      struct v4l2_input input;
+      GstV4l2TunerChannel *v4l2channel;
+      GstTunerChannel *channel;
+
+      input.index = n;
+      if (ioctl (v4l2element->video_fd, VIDIOC_ENUMINPUT, &input) < 0) {
+       if (errno == EINVAL)
+         break;                /* end of enumeration */
+       else {
+         GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+             ("Failed to get %d in input enumeration for %s: %s",
+                 n, v4l2element->device, g_strerror (errno)));
+         return FALSE;
        }
-
-       /* norms... */
-       for (n=0;;n++) {
-               struct v4l2_standard standard;
-               GstV4l2TunerNorm *v4l2norm;
-               GstTunerNorm *norm;
-
-               standard.index = n;
-               if (ioctl(v4l2element->video_fd, VIDIOC_ENUMSTD, &standard) < 0) {
-                       if (errno == EINVAL)
-                               break; /* end of enumeration */
-                       else {
-                                       GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                                                          ("Failed to get %d in norm enumeration for %s: %s",
-                                               n, v4l2element->device,
-                                               g_strerror (errno)));
-                               return FALSE;
-                       }
-               }
-
-               v4l2norm = g_object_new(GST_TYPE_V4L2_TUNER_NORM, NULL);
-               norm = GST_TUNER_NORM (v4l2norm);
-               norm->label = g_strdup(standard.name);
-               norm->fps = (gfloat) standard.frameperiod.denominator /
-                               standard.frameperiod.numerator;
-               v4l2norm->index = standard.id;
-
-               v4l2element->norms = g_list_append(v4l2element->norms,
-                                                  (gpointer) norm);
+      }
+
+      v4l2channel = g_object_new (GST_TYPE_V4L2_TUNER_CHANNEL, NULL);
+      channel = GST_TUNER_CHANNEL (v4l2channel);
+      channel->label = g_strdup (input.name);
+      channel->flags = GST_TUNER_CHANNEL_INPUT;
+      v4l2channel->index = n;
+      if (input.type == V4L2_INPUT_TYPE_TUNER) {
+       struct v4l2_tuner vtun;
+
+       v4l2channel->tuner = input.tuner;
+       channel->flags |= GST_TUNER_CHANNEL_FREQUENCY;
+
+       vtun.index = input.tuner;
+       if (ioctl (v4l2element->video_fd, VIDIOC_G_TUNER, &vtun) < 0) {
+         GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+             ("Failed to get tuner %d settings on %s: %s",
+                 input.tuner, v4l2element->device, g_strerror (errno)));
+         g_object_unref (G_OBJECT (channel));
+         return FALSE;
+       }
+       channel->min_frequency = vtun.rangelow;
+       channel->max_frequency = vtun.rangehigh;
+       channel->min_signal = 0;
+       channel->max_signal = 0xffff;
+      }
+      if (input.audioset) {
+       /* we take the first. We don't care for
+        * the others for now */
+       while (!(input.audioset & (1 << v4l2channel->audio)))
+         v4l2channel->audio++;
+       channel->flags |= GST_TUNER_CHANNEL_AUDIO;
+      }
+
+      v4l2element->channels =
+         g_list_append (v4l2element->channels, (gpointer) channel);
+    }
+  } else {
+    /* outputs */
+    for (n = 0;; n++) {
+      struct v4l2_output output;
+      GstV4l2TunerChannel *v4l2channel;
+      GstTunerChannel *channel;
+
+      output.index = n;
+      if (ioctl (v4l2element->video_fd, VIDIOC_ENUMOUTPUT, &output) < 0) {
+       if (errno == EINVAL)
+         break;                /* end of enumeration */
+       else {
+         GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+             ("Failed to get %d in output enumeration for %s: %s",
+                 n, v4l2element->device, g_strerror (errno)));
+         return FALSE;
        }
+      }
+
+      v4l2channel = g_object_new (GST_TYPE_V4L2_TUNER_CHANNEL, NULL);
+      channel = GST_TUNER_CHANNEL (v4l2channel);
+      channel->label = g_strdup (output.name);
+      channel->flags = GST_TUNER_CHANNEL_OUTPUT;
+      v4l2channel->index = n;
+      if (output.audioset) {
+       /* we take the first. We don't care for
+        * the others for now */
+       while (!(output.audioset & (1 << v4l2channel->audio)))
+         v4l2channel->audio++;
+       channel->flags |= GST_TUNER_CHANNEL_AUDIO;
+      }
+
+      v4l2element->channels =
+         g_list_append (v4l2element->channels, (gpointer) channel);
+    }
+  }
 
-       /* and lastly, controls+menus (if appropriate) */
-       for (n=V4L2_CID_BASE;;n++) {
-               struct v4l2_queryctrl control;
-               GstV4l2ColorBalanceChannel *v4l2channel;
-               GstColorBalanceChannel *channel;
-
-               /* hacky... */
-               if (n == V4L2_CID_LASTP1)
-                       n = V4L2_CID_PRIVATE_BASE;
-
-               control.id = n;
-               if (ioctl(v4l2element->video_fd, VIDIOC_QUERYCTRL, &control) < 0) {
-                       if (errno == EINVAL) {
-                               if (n < V4L2_CID_PRIVATE_BASE)
-                                       continue;
-                               else
-                                       break;
-                       } else {
-                               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                                                  ("Failed to get %d in control enumeration for %s: %s",
-                                               n, v4l2element->device,
-                                               g_strerror (errno)));
-                               return FALSE;
-                       }
-               }
-               if (control.flags & V4L2_CTRL_FLAG_DISABLED)
-                       continue;
-
-               switch (n) {
-                       case V4L2_CID_BRIGHTNESS:
-                       case V4L2_CID_CONTRAST:
-                       case V4L2_CID_SATURATION:
-                       case V4L2_CID_HUE:
-                       case V4L2_CID_BLACK_LEVEL:
-                       case V4L2_CID_AUTO_WHITE_BALANCE:
-                       case V4L2_CID_DO_WHITE_BALANCE:
-                       case V4L2_CID_RED_BALANCE:
-                       case V4L2_CID_BLUE_BALANCE:
-                       case V4L2_CID_GAMMA:
-                       case V4L2_CID_EXPOSURE:
-                       case V4L2_CID_AUTOGAIN:
-                       case V4L2_CID_GAIN:
-                               /* we only handle these for now */
-                               break;
-                       default:
-                               DEBUG("ControlID %s (%d) unhandled, FIXME",
-                                     control.name, n);
-                               control.id++;
-                               break;
-               }
-               if (n != control.id)
-                       continue;
-
-               v4l2channel = g_object_new(GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL,
-                                          NULL);
-               channel = GST_COLOR_BALANCE_CHANNEL(v4l2channel);
-               channel->label = g_strdup(control.name);
-               v4l2channel->index = n;
+  /* norms... */
+  for (n = 0;; n++) {
+    struct v4l2_standard standard;
+    GstV4l2TunerNorm *v4l2norm;
+    GstTunerNorm *norm;
+
+    standard.index = n;
+    if (ioctl (v4l2element->video_fd, VIDIOC_ENUMSTD, &standard) < 0) {
+      if (errno == EINVAL)
+       break;                  /* end of enumeration */
+      else {
+       GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+           ("Failed to get %d in norm enumeration for %s: %s",
+               n, v4l2element->device, g_strerror (errno)));
+       return FALSE;
+      }
+    }
+
+    v4l2norm = g_object_new (GST_TYPE_V4L2_TUNER_NORM, NULL);
+    norm = GST_TUNER_NORM (v4l2norm);
+    norm->label = g_strdup (standard.name);
+    norm->fps = (gfloat) standard.frameperiod.denominator /
+       standard.frameperiod.numerator;
+    v4l2norm->index = standard.id;
+
+    v4l2element->norms = g_list_append (v4l2element->norms, (gpointer) norm);
+  }
+
+  /* and lastly, controls+menus (if appropriate) */
+  for (n = V4L2_CID_BASE;; n++) {
+    struct v4l2_queryctrl control;
+    GstV4l2ColorBalanceChannel *v4l2channel;
+    GstColorBalanceChannel *channel;
+
+    /* hacky... */
+    if (n == V4L2_CID_LASTP1)
+      n = V4L2_CID_PRIVATE_BASE;
+
+    control.id = n;
+    if (ioctl (v4l2element->video_fd, VIDIOC_QUERYCTRL, &control) < 0) {
+      if (errno == EINVAL) {
+       if (n < V4L2_CID_PRIVATE_BASE)
+         continue;
+       else
+         break;
+      } else {
+       GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+           ("Failed to get %d in control enumeration for %s: %s",
+               n, v4l2element->device, g_strerror (errno)));
+       return FALSE;
+      }
+    }
+    if (control.flags & V4L2_CTRL_FLAG_DISABLED)
+      continue;
+
+    switch (n) {
+      case V4L2_CID_BRIGHTNESS:
+      case V4L2_CID_CONTRAST:
+      case V4L2_CID_SATURATION:
+      case V4L2_CID_HUE:
+      case V4L2_CID_BLACK_LEVEL:
+      case V4L2_CID_AUTO_WHITE_BALANCE:
+      case V4L2_CID_DO_WHITE_BALANCE:
+      case V4L2_CID_RED_BALANCE:
+      case V4L2_CID_BLUE_BALANCE:
+      case V4L2_CID_GAMMA:
+      case V4L2_CID_EXPOSURE:
+      case V4L2_CID_AUTOGAIN:
+      case V4L2_CID_GAIN:
+       /* we only handle these for now */
+       break;
+      default:
+       DEBUG ("ControlID %s (%d) unhandled, FIXME", control.name, n);
+       control.id++;
+       break;
+    }
+    if (n != control.id)
+      continue;
+
+    v4l2channel = g_object_new (GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL, NULL);
+    channel = GST_COLOR_BALANCE_CHANNEL (v4l2channel);
+    channel->label = g_strdup (control.name);
+    v4l2channel->index = n;
 
 #if 0
-               if (control.type == V4L2_CTRL_TYPE_MENU) {
-                       struct v4l2_querymenu menu, *mptr;
-                       int i;
-                       menu.id = n;
-                       for (i=0;;i++) {
-                               menu.index = i;
-                               if (ioctl(v4l2element->video_fd, VIDIOC_QUERYMENU, &menu) < 0) {
-                                       if (errno == EINVAL)
-                                               break; /* end of enumeration */
-                                       else {
-                                               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                                                          ("Failed to get %d in menu enumeration for %s: %s",
-                                               n, v4l2element->device,
-                                               g_strerror (errno)));
-                                               return FALSE;
-                                       }
-                               }
-                               mptr = g_malloc(sizeof(menu));
-                               memcpy(mptr, &menu, sizeof(menu));
-                               menus = g_list_append(menus, mptr);
-                       }
-               }
-               v4l2element->menus = g_list_append(v4l2element->menus, menus);
+    if (control.type == V4L2_CTRL_TYPE_MENU) {
+      struct v4l2_querymenu menu, *mptr;
+      int i;
+
+      menu.id = n;
+      for (i = 0;; i++) {
+       menu.index = i;
+       if (ioctl (v4l2element->video_fd, VIDIOC_QUERYMENU, &menu) < 0) {
+         if (errno == EINVAL)
+           break;              /* end of enumeration */
+         else {
+           GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+               ("Failed to get %d in menu enumeration for %s: %s",
+                   n, v4l2element->device, g_strerror (errno)));
+           return FALSE;
+         }
+       }
+       mptr = g_malloc (sizeof (menu));
+       memcpy (mptr, &menu, sizeof (menu));
+       menus = g_list_append (menus, mptr);
+      }
+    }
+    v4l2element->menus = g_list_append (v4l2element->menus, menus);
 #endif
 
-               switch (control.type) {
-                       case V4L2_CTRL_TYPE_INTEGER:
-                               channel->min_value = control.minimum;
-                               channel->max_value = control.maximum;
-                               break;
-                       case V4L2_CTRL_TYPE_BOOLEAN:
-                               channel->min_value = FALSE;
-                               channel->max_value = TRUE;
-                               break;
-                       default:
-                               channel->min_value =
-                                       channel->max_value = 0;
-                               break;
-               }
-
-               v4l2element->colors = g_list_append(v4l2element->colors,
-                                                   (gpointer) channel);
-       }
+    switch (control.type) {
+      case V4L2_CTRL_TYPE_INTEGER:
+       channel->min_value = control.minimum;
+       channel->max_value = control.maximum;
+       break;
+      case V4L2_CTRL_TYPE_BOOLEAN:
+       channel->min_value = FALSE;
+       channel->max_value = TRUE;
+       break;
+      default:
+       channel->min_value = channel->max_value = 0;
+       break;
+    }
 
-       return TRUE;
+    v4l2element->colors = g_list_append (v4l2element->colors,
+       (gpointer) channel);
+  }
+
+  return TRUE;
 }
 
 
 static void
-gst_v4l2_empty_lists (GstV4l2Element *v4l2element)
+gst_v4l2_empty_lists (GstV4l2Element * v4l2element)
 {
-       DEBUG("deleting enumerations");
+  DEBUG ("deleting enumerations");
 
-       g_list_foreach (v4l2element->channels, (GFunc) g_object_unref, NULL);
-       g_list_free (v4l2element->channels);
-       v4l2element->channels = NULL;
+  g_list_foreach (v4l2element->channels, (GFunc) g_object_unref, NULL);
+  g_list_free (v4l2element->channels);
+  v4l2element->channels = NULL;
 
-       g_list_foreach (v4l2element->norms, (GFunc) g_object_unref, NULL);
-       g_list_free (v4l2element->norms);
-       v4l2element->norms = NULL;
+  g_list_foreach (v4l2element->norms, (GFunc) g_object_unref, NULL);
+  g_list_free (v4l2element->norms);
+  v4l2element->norms = NULL;
 
-       g_list_foreach (v4l2element->colors, (GFunc) g_object_unref, NULL);
-       g_list_free (v4l2element->colors);
-       v4l2element->colors = NULL;
+  g_list_foreach (v4l2element->colors, (GFunc) g_object_unref, NULL);
+  g_list_free (v4l2element->colors);
+  v4l2element->colors = NULL;
 }
 
 /* FIXME: move this stuff to gstv4l2tuner.c? */
 
 static void
-gst_v4l2_set_defaults (GstV4l2Element *v4l2element)
+gst_v4l2_set_defaults (GstV4l2Element * v4l2element)
 {
   GstTunerNorm *norm = NULL;
   GstTunerChannel *channel = NULL;
   GstTuner *tuner = GST_TUNER (v4l2element);
-  
+
   if (v4l2element->norm)
     norm = gst_tuner_find_norm_by_name (tuner, v4l2element->norm);
   if (norm) {
@@ -362,18 +343,19 @@ gst_v4l2_set_defaults (GstV4l2Element *v4l2element)
     norm = GST_TUNER_NORM (gst_tuner_get_norm (GST_TUNER (v4l2element)));
     v4l2element->norm = g_strdup (norm->label);
     gst_tuner_norm_changed (tuner, norm);
-    g_object_notify (G_OBJECT (v4l2element), "norm"); 
+    g_object_notify (G_OBJECT (v4l2element), "norm");
   }
-  
-  if (v4l2element->channel) 
+
+  if (v4l2element->channel)
     channel = gst_tuner_find_channel_by_name (tuner, v4l2element->channel);
   if (channel) {
     gst_tuner_set_channel (tuner, channel);
   } else {
-    channel = GST_TUNER_CHANNEL (gst_tuner_get_channel (GST_TUNER (v4l2element)));
+    channel =
+       GST_TUNER_CHANNEL (gst_tuner_get_channel (GST_TUNER (v4l2element)));
     v4l2element->channel = g_strdup (channel->label);
     gst_tuner_channel_changed (tuner, channel);
-    g_object_notify (G_OBJECT (v4l2element), "channel"); 
+    g_object_notify (G_OBJECT (v4l2element), "channel");
   }
   if (v4l2element->frequency != 0) {
     gst_tuner_set_frequency (tuner, channel, v4l2element->frequency);
@@ -396,61 +378,61 @@ gst_v4l2_set_defaults (GstV4l2Element *v4l2element)
  ******************************************************/
 
 gboolean
-gst_v4l2_open (GstV4l2Element *v4l2element)
+gst_v4l2_open (GstV4l2Element * v4l2element)
 {
-       DEBUG("Trying to open device %s", v4l2element->device);
-       GST_V4L2_CHECK_NOT_OPEN(v4l2element);
-       GST_V4L2_CHECK_NOT_ACTIVE(v4l2element);
-
-       /* be sure we have a device */
-       if (!v4l2element->device)
-               v4l2element->device = g_strdup("/dev/video");
-
-       /* open the device */
-       v4l2element->video_fd = open(v4l2element->device, O_RDWR);
-       if (!GST_V4L2_IS_OPEN(v4l2element)) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, OPEN_READ_WRITE,
-                                   (_("Could not open device \"%s\" for reading and writing."), v4l2element->device),
-                                   GST_ERROR_SYSTEM);
-               goto error;
-       }
+  DEBUG ("Trying to open device %s", v4l2element->device);
+  GST_V4L2_CHECK_NOT_OPEN (v4l2element);
+  GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
+
+  /* be sure we have a device */
+  if (!v4l2element->device)
+    v4l2element->device = g_strdup ("/dev/video");
+
+  /* open the device */
+  v4l2element->video_fd = open (v4l2element->device, O_RDWR);
+  if (!GST_V4L2_IS_OPEN (v4l2element)) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, OPEN_READ_WRITE,
+       (_("Could not open device \"%s\" for reading and writing."),
+           v4l2element->device), GST_ERROR_SYSTEM);
+    goto error;
+  }
 
-       /* get capabilities */
-       if (!gst_v4l2_get_capabilities(v4l2element)) {
-               goto error;
-       }
+  /* get capabilities */
+  if (!gst_v4l2_get_capabilities (v4l2element)) {
+    goto error;
+  }
 
-       /* do we need to be a capture device? */
-       if (GST_IS_V4L2SRC(v4l2element) &&
-           !(v4l2element->vcap.capabilities & V4L2_CAP_VIDEO_CAPTURE)) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, NOT_FOUND,
-                                   (_("Device \"%s\" is not a capture device."), v4l2element->device),
-                                  ("Capabilities: 0x%x", v4l2element->vcap.capabilities));
-               goto error;
-       }
+  /* do we need to be a capture device? */
+  if (GST_IS_V4L2SRC (v4l2element) &&
+      !(v4l2element->vcap.capabilities & V4L2_CAP_VIDEO_CAPTURE)) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, NOT_FOUND,
+       (_("Device \"%s\" is not a capture device."), v4l2element->device),
+       ("Capabilities: 0x%x", v4l2element->vcap.capabilities));
+    goto error;
+  }
 
-       /* create enumerations */
-       if (!gst_v4l2_fill_lists(v4l2element))
-               goto error;
+  /* create enumerations */
+  if (!gst_v4l2_fill_lists (v4l2element))
+    goto error;
 
-       /* set defaults */
-       gst_v4l2_set_defaults (v4l2element);
+  /* set defaults */
+  gst_v4l2_set_defaults (v4l2element);
 
-       GST_INFO_OBJECT (v4l2element, "Opened device '%s' (%s) successfully\n",
-               v4l2element->vcap.card, v4l2element->device);
+  GST_INFO_OBJECT (v4l2element, "Opened device '%s' (%s) successfully\n",
+      v4l2element->vcap.card, v4l2element->device);
 
-       return TRUE;
+  return TRUE;
 
 error:
-       if (GST_V4L2_IS_OPEN(v4l2element)) {
-               /* close device */
-               close(v4l2element->video_fd);
-               v4l2element->video_fd = -1;
-       }
-       /* empty lists */
-       gst_v4l2_empty_lists(v4l2element);
+  if (GST_V4L2_IS_OPEN (v4l2element)) {
+    /* close device */
+    close (v4l2element->video_fd);
+    v4l2element->video_fd = -1;
+  }
+  /* empty lists */
+  gst_v4l2_empty_lists (v4l2element);
 
-       return FALSE;
+  return FALSE;
 }
 
 
@@ -461,20 +443,20 @@ error:
  ******************************************************/
 
 gboolean
-gst_v4l2_close (GstV4l2Element *v4l2element)
+gst_v4l2_close (GstV4l2Element * v4l2element)
 {
-       DEBUG("Trying to close %s", v4l2element->device);
-       GST_V4L2_CHECK_OPEN(v4l2element);
-       GST_V4L2_CHECK_NOT_ACTIVE(v4l2element);
+  DEBUG ("Trying to close %s", v4l2element->device);
+  GST_V4L2_CHECK_OPEN (v4l2element);
+  GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
 
-       /* close device */
-       close(v4l2element->video_fd);
-       v4l2element->video_fd = -1;
+  /* close device */
+  close (v4l2element->video_fd);
+  v4l2element->video_fd = -1;
 
-       /* empty lists */
-       gst_v4l2_empty_lists(v4l2element);
+  /* empty lists */
+  gst_v4l2_empty_lists (v4l2element);
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -485,20 +467,19 @@ gst_v4l2_close (GstV4l2Element *v4l2element)
  ******************************************************/
 
 gboolean
-gst_v4l2_get_norm (GstV4l2Element *v4l2element,
-                   v4l2_std_id    *norm)
+gst_v4l2_get_norm (GstV4l2Element * v4l2element, v4l2_std_id * norm)
 {
-       DEBUG("getting norm");
-       GST_V4L2_CHECK_OPEN(v4l2element);
-
-       if (ioctl(v4l2element->video_fd, VIDIOC_G_STD, norm) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to get the current norm for device %s: %s",
-                        v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  DEBUG ("getting norm");
+  GST_V4L2_CHECK_OPEN (v4l2element);
+
+  if (ioctl (v4l2element->video_fd, VIDIOC_G_STD, norm) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to get the current norm for device %s: %s",
+           v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -509,21 +490,20 @@ gst_v4l2_get_norm (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_set_norm (GstV4l2Element *v4l2element,
-                   v4l2_std_id     norm)
+gst_v4l2_set_norm (GstV4l2Element * v4l2element, v4l2_std_id norm)
 {
-       DEBUG("trying to set norm to %llx", norm);
-       GST_V4L2_CHECK_OPEN(v4l2element);
-       GST_V4L2_CHECK_NOT_ACTIVE(v4l2element);
-
-       if (ioctl(v4l2element->video_fd, VIDIOC_S_STD, &norm) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to set norm 0x%llx for device %s: %s",
-                        norm, v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  DEBUG ("trying to set norm to %llx", norm);
+  GST_V4L2_CHECK_OPEN (v4l2element);
+  GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
+
+  if (ioctl (v4l2element->video_fd, VIDIOC_S_STD, &norm) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to set norm 0x%llx for device %s: %s",
+           norm, v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -534,24 +514,23 @@ gst_v4l2_set_norm (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_get_input (GstV4l2Element *v4l2element,
-                    gint           *input)
+gst_v4l2_get_input (GstV4l2Element * v4l2element, gint * input)
 {
-       gint n;
+  gint n;
 
-       DEBUG("trying to get input");
-       GST_V4L2_CHECK_OPEN(v4l2element);
+  DEBUG ("trying to get input");
+  GST_V4L2_CHECK_OPEN (v4l2element);
 
-       if (ioctl(v4l2element->video_fd, VIDIOC_G_INPUT, &n) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to get current input on device %s: %s",
-                       v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  if (ioctl (v4l2element->video_fd, VIDIOC_G_INPUT, &n) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to get current input on device %s: %s",
+           v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       *input = n;
+  *input = n;
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -562,21 +541,20 @@ gst_v4l2_get_input (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_set_input (GstV4l2Element *v4l2element,
-                    gint            input)
+gst_v4l2_set_input (GstV4l2Element * v4l2element, gint input)
 {
-       DEBUG("trying to set input to %d", input);
-       GST_V4L2_CHECK_OPEN(v4l2element);
-       GST_V4L2_CHECK_NOT_ACTIVE(v4l2element);
-
-       if (ioctl(v4l2element->video_fd, VIDIOC_S_INPUT, &input) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to set input %d on device %s: %s",
-                        input, v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  DEBUG ("trying to set input to %d", input);
+  GST_V4L2_CHECK_OPEN (v4l2element);
+  GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
+
+  if (ioctl (v4l2element->video_fd, VIDIOC_S_INPUT, &input) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to set input %d on device %s: %s",
+           input, v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -587,24 +565,23 @@ gst_v4l2_set_input (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_get_output (GstV4l2Element *v4l2element,
-                     gint           *output)
+gst_v4l2_get_output (GstV4l2Element * v4l2element, gint * output)
 {
-       gint n;
+  gint n;
 
-       DEBUG("trying to get output");
-       GST_V4L2_CHECK_OPEN(v4l2element);
+  DEBUG ("trying to get output");
+  GST_V4L2_CHECK_OPEN (v4l2element);
 
-       if (ioctl(v4l2element->video_fd, VIDIOC_G_OUTPUT, &n) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to get current output on device %s: %s",
-                        v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  if (ioctl (v4l2element->video_fd, VIDIOC_G_OUTPUT, &n) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to get current output on device %s: %s",
+           v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       *output = n;
+  *output = n;
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -615,21 +592,20 @@ gst_v4l2_get_output (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_set_output (GstV4l2Element *v4l2element,
-                     gint            output)
+gst_v4l2_set_output (GstV4l2Element * v4l2element, gint output)
 {
-       DEBUG("trying to set output to %d", output);
-       GST_V4L2_CHECK_OPEN(v4l2element);
-       GST_V4L2_CHECK_NOT_ACTIVE(v4l2element);
-
-       if (ioctl(v4l2element->video_fd, VIDIOC_S_OUTPUT, &output) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to set output %d on device %s: %s",
-                        output, v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  DEBUG ("trying to set output to %d", output);
+  GST_V4L2_CHECK_OPEN (v4l2element);
+  GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
+
+  if (ioctl (v4l2element->video_fd, VIDIOC_S_OUTPUT, &output) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to set output %d on device %s: %s",
+           output, v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -640,26 +616,25 @@ gst_v4l2_set_output (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_get_frequency (GstV4l2Element *v4l2element,
-                       gint            tunernum,
-                        gulong         *frequency)
+gst_v4l2_get_frequency (GstV4l2Element * v4l2element,
+    gint tunernum, gulong * frequency)
 {
-       struct v4l2_frequency freq;
+  struct v4l2_frequency freq;
 
-       DEBUG("getting current tuner frequency");
-       GST_V4L2_CHECK_OPEN(v4l2element);
+  DEBUG ("getting current tuner frequency");
+  GST_V4L2_CHECK_OPEN (v4l2element);
 
-       freq.tuner = tunernum;
-       if (ioctl(v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to get current tuner frequency for device %s: %s",
-                       v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  freq.tuner = tunernum;
+  if (ioctl (v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to get current tuner frequency for device %s: %s",
+           v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       *frequency = freq.frequency;
+  *frequency = freq.frequency;
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -670,29 +645,28 @@ gst_v4l2_get_frequency (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_set_frequency (GstV4l2Element *v4l2element,
-                       gint            tunernum,
-                        gulong          frequency)
+gst_v4l2_set_frequency (GstV4l2Element * v4l2element,
+    gint tunernum, gulong frequency)
 {
-       struct v4l2_frequency freq;
-
-       DEBUG("setting current tuner frequency to %lu", frequency);
-       GST_V4L2_CHECK_OPEN(v4l2element);
-       GST_V4L2_CHECK_NOT_ACTIVE(v4l2element);
-
-       freq.tuner = tunernum;
-       /* fill in type - ignore error */
-       ioctl(v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq);
-       freq.frequency = frequency;
-
-       if (ioctl(v4l2element->video_fd, VIDIOC_S_FREQUENCY, &freq) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to set tuner frequency to %lu for device %s: %s",
-                       frequency, v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  struct v4l2_frequency freq;
+
+  DEBUG ("setting current tuner frequency to %lu", frequency);
+  GST_V4L2_CHECK_OPEN (v4l2element);
+  GST_V4L2_CHECK_NOT_ACTIVE (v4l2element);
+
+  freq.tuner = tunernum;
+  /* fill in type - ignore error */
+  ioctl (v4l2element->video_fd, VIDIOC_G_FREQUENCY, &freq);
+  freq.frequency = frequency;
+
+  if (ioctl (v4l2element->video_fd, VIDIOC_S_FREQUENCY, &freq) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to set tuner frequency to %lu for device %s: %s",
+           frequency, v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -703,26 +677,25 @@ gst_v4l2_set_frequency (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_signal_strength (GstV4l2Element *v4l2element,
-                         gint            tunernum,
-                          gulong         *signal_strength)
+gst_v4l2_signal_strength (GstV4l2Element * v4l2element,
+    gint tunernum, gulong * signal_strength)
 {
-       struct v4l2_tuner tuner;
+  struct v4l2_tuner tuner;
 
-       DEBUG("trying to get signal strength");
-       GST_V4L2_CHECK_OPEN(v4l2element);
+  DEBUG ("trying to get signal strength");
+  GST_V4L2_CHECK_OPEN (v4l2element);
 
-       tuner.index = tunernum;
-       if (ioctl(v4l2element->video_fd, VIDIOC_G_TUNER, &tuner) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to get signal strength for device %s: %s",
-                        v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  tuner.index = tunernum;
+  if (ioctl (v4l2element->video_fd, VIDIOC_G_TUNER, &tuner) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to get signal strength for device %s: %s",
+           v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       *signal_strength = tuner.signal;
+  *signal_strength = tuner.signal;
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -733,28 +706,27 @@ gst_v4l2_signal_strength (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_get_attribute (GstV4l2Element *v4l2element,
-                         int             attribute_num,
-                         int            *value)
+gst_v4l2_get_attribute (GstV4l2Element * v4l2element,
+    int attribute_num, int *value)
 {
-       struct v4l2_control control;
+  struct v4l2_control control;
 
-       GST_V4L2_CHECK_OPEN(v4l2element);
+  GST_V4L2_CHECK_OPEN (v4l2element);
 
-       DEBUG("getting value of attribute %d", attribute_num);
+  DEBUG ("getting value of attribute %d", attribute_num);
 
-       control.id = attribute_num;
+  control.id = attribute_num;
 
-       if (ioctl(v4l2element->video_fd, VIDIOC_G_CTRL, &control) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to get value for control %d on device %s: %s",
-                        attribute_num, v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  if (ioctl (v4l2element->video_fd, VIDIOC_G_CTRL, &control) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to get value for control %d on device %s: %s",
+           attribute_num, v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       *value = control.value;
+  *value = control.value;
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -765,26 +737,24 @@ gst_v4l2_get_attribute    (GstV4l2Element *v4l2element,
  ******************************************************/
 
 gboolean
-gst_v4l2_set_attribute (GstV4l2Element *v4l2element,
-                         int             attribute_num,
-                         const int       value)
+gst_v4l2_set_attribute (GstV4l2Element * v4l2element,
+    int attribute_num, const int value)
 {
-       struct v4l2_control control;
+  struct v4l2_control control;
 
-       GST_V4L2_CHECK_OPEN(v4l2element);
+  GST_V4L2_CHECK_OPEN (v4l2element);
 
-       DEBUG("setting value of attribute %d to %d", attribute_num, value);
+  DEBUG ("setting value of attribute %d to %d", attribute_num, value);
 
-       control.id = attribute_num;
-       control.value = value;
+  control.id = attribute_num;
+  control.value = value;
 
-       if (ioctl(v4l2element->video_fd, VIDIOC_S_CTRL, &control) < 0) {
-               GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
-                       ("Failed to set value %d for control %d on device %s: %s",
-                       value, attribute_num, v4l2element->device, g_strerror(errno)));
-               return FALSE;
-       }
+  if (ioctl (v4l2element->video_fd, VIDIOC_S_CTRL, &control) < 0) {
+    GST_ELEMENT_ERROR (v4l2element, RESOURCE, SETTINGS, (NULL),
+       ("Failed to set value %d for control %d on device %s: %s",
+           value, attribute_num, v4l2element->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
-    
index 428c57a..488e7bc 100644 (file)
 
 
 /* open/close the device */
-gboolean       gst_v4l2_open                   (GstV4l2Element *v4l2element);
-gboolean       gst_v4l2_close                  (GstV4l2Element *v4l2element);
+gboolean gst_v4l2_open (GstV4l2Element * v4l2element);
+gboolean gst_v4l2_close (GstV4l2Element * v4l2element);
 
 /* norm/input/output */
-gboolean       gst_v4l2_get_norm               (GstV4l2Element *v4l2element,
-                                                v4l2_std_id    *norm);
-gboolean       gst_v4l2_set_norm               (GstV4l2Element *v4l2element,
-                                                v4l2_std_id     norm);
-gboolean       gst_v4l2_get_input              (GstV4l2Element *v4l2element,
-                                                gint           *input);
-gboolean       gst_v4l2_set_input              (GstV4l2Element *v4l2element,
-                                                gint            input);
-gboolean       gst_v4l2_get_output             (GstV4l2Element *v4l2element,
-                                                gint           *output);
-gboolean       gst_v4l2_set_output             (GstV4l2Element *v4l2element,
-                                                gint            output);
+gboolean gst_v4l2_get_norm (GstV4l2Element * v4l2element, v4l2_std_id * norm);
+gboolean gst_v4l2_set_norm (GstV4l2Element * v4l2element, v4l2_std_id norm);
+gboolean gst_v4l2_get_input (GstV4l2Element * v4l2element, gint * input);
+gboolean gst_v4l2_set_input (GstV4l2Element * v4l2element, gint input);
+gboolean gst_v4l2_get_output (GstV4l2Element * v4l2element, gint * output);
+gboolean gst_v4l2_set_output (GstV4l2Element * v4l2element, gint output);
 
 /* frequency control */
-gboolean       gst_v4l2_get_frequency          (GstV4l2Element *v4l2element,
-                                                gint            tunernum,
-                                                gulong         *frequency);
-gboolean       gst_v4l2_set_frequency          (GstV4l2Element *v4l2element,
-                                                gint            tunernum,
-                                                gulong          frequency);
-gboolean       gst_v4l2_signal_strength        (GstV4l2Element *v4l2element,
-                                                gint            tunernum,
-                                                gulong         *signal);
+gboolean gst_v4l2_get_frequency (GstV4l2Element * v4l2element,
+    gint tunernum, gulong * frequency);
+gboolean gst_v4l2_set_frequency (GstV4l2Element * v4l2element,
+    gint tunernum, gulong frequency);
+gboolean gst_v4l2_signal_strength (GstV4l2Element * v4l2element,
+    gint tunernum, gulong * signal);
 
 /* attribute control */
-gboolean       gst_v4l2_get_attribute          (GstV4l2Element *v4l2element,
-                                                int             attribute,
-                                                int            *value);
-gboolean       gst_v4l2_set_attribute          (GstV4l2Element *v4l2element,
-                                                int             attribute,
-                                                const int       value);
+gboolean gst_v4l2_get_attribute (GstV4l2Element * v4l2element,
+    int attribute, int *value);
+gboolean gst_v4l2_set_attribute (GstV4l2Element * v4l2element,
+    int attribute, const int value);
 
 /* overlay */
-gboolean       gst_v4l2_set_display            (GstV4l2Element *v4l2element);
-gboolean       gst_v4l2_set_window             (GstElement     *element,
-                                                gint x,         gint y,
-                                                gint w,         gint h,
-                                                struct v4l2_clip *clips,
-                                                gint            num_clips);
-gboolean       gst_v4l2_enable_overlay         (GstV4l2Element *v4l2element,
-                                                gboolean        enable);
+gboolean gst_v4l2_set_display (GstV4l2Element * v4l2element);
+gboolean gst_v4l2_set_window (GstElement * element,
+    gint x, gint y, gint w, gint h, struct v4l2_clip *clips, gint num_clips);
+gboolean gst_v4l2_enable_overlay (GstV4l2Element * v4l2element,
+    gboolean enable);
 
 #endif /* __V4L2_CALLS_H__ */
index 8b3276a..00d710e 100644 (file)
@@ -56,7 +56,7 @@
  ******************************************************/
 
 gboolean
-gst_v4l2src_fill_format_list (GstV4l2Src *v4l2src)
+gst_v4l2src_fill_format_list (GstV4l2Src * v4l2src)
 {
   gint n;
   struct v4l2_fmtdesc *format;
@@ -64,22 +64,24 @@ gst_v4l2src_fill_format_list (GstV4l2Src *v4l2src)
   GST_DEBUG_OBJECT (v4l2src, "getting src format enumerations");
 
   /* format enumeration */
-  for (n=0;;n++) {
+  for (n = 0;; n++) {
     format = g_new (struct v4l2_fmtdesc, 1);
+
     format->index = n;
     format->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_ENUM_FMT, format) < 0) {
+    if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_ENUM_FMT,
+           format) < 0) {
       if (errno == EINVAL) {
-       break; /* end of enumeration */
+       break;                  /* end of enumeration */
       } else {
        GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL),
            ("failed to get number %d in pixelformat enumeration for %s: %s",
-           n, GST_V4L2ELEMENT(v4l2src)->device, g_strerror (errno)));
+               n, GST_V4L2ELEMENT (v4l2src)->device, g_strerror (errno)));
        g_free (format);
        return FALSE;
       }
     }
-    GST_LOG_OBJECT (v4l2src, "got format"GST_FOURCC_FORMAT, 
+    GST_LOG_OBJECT (v4l2src, "got format" GST_FOURCC_FORMAT,
        GST_FOURCC_ARGS (format->pixelformat));
     v4l2src->formats = g_slist_prepend (v4l2src->formats, format);
   }
@@ -95,7 +97,7 @@ gst_v4l2src_fill_format_list (GstV4l2Src *v4l2src)
  ******************************************************/
 
 gboolean
-gst_v4l2src_clear_format_list (GstV4l2Src *v4l2src)
+gst_v4l2src_clear_format_list (GstV4l2Src * v4l2src)
 {
   g_slist_foreach (v4l2src->formats, (GFunc) g_free, NULL);
   g_slist_free (v4l2src->formats);
@@ -111,15 +113,16 @@ gst_v4l2src_clear_format_list (GstV4l2Src *v4l2src)
  ******************************************************/
 
 gboolean
-gst_v4l2src_queue_frame (GstV4l2Src *v4l2src,
-                         guint i)
+gst_v4l2src_queue_frame (GstV4l2Src * v4l2src, guint i)
 {
   GST_LOG_OBJECT (v4l2src, "queueing frame %u", i);
 
-  if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_QBUF, &v4l2src->pool->buffers[i].buffer) < 0) {
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_QBUF,
+         &v4l2src->pool->buffers[i].buffer) < 0) {
     GST_ELEMENT_ERROR (v4l2src, RESOURCE, WRITE,
-                       (_("Could not write to device \"%s\"."), GST_V4L2ELEMENT(v4l2src)->device),
-                       ("Error queueing buffer %u on device %s", i, g_strerror(errno)));
+       (_("Could not write to device \"%s\"."),
+           GST_V4L2ELEMENT (v4l2src)->device),
+       ("Error queueing buffer %u on device %s", i, g_strerror (errno)));
     return FALSE;
   }
 
@@ -134,16 +137,17 @@ gst_v4l2src_queue_frame (GstV4l2Src *v4l2src,
  ******************************************************/
 
 gint
-gst_v4l2src_grab_frame (GstV4l2Src *v4l2src)
+gst_v4l2src_grab_frame (GstV4l2Src * v4l2src)
 {
   struct v4l2_buffer buffer;
-  
+
   buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-  while (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_DQBUF, &buffer) < 0) {
+  while (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_DQBUF, &buffer) < 0) {
     /* if the sync() got interrupted, we can retry */
     if (errno != EINTR) {
-      GST_ELEMENT_ERROR (v4l2src, RESOURCE, SYNC, (NULL), ("could not sync on a buffer on device %s: %s",
-         GST_V4L2ELEMENT(v4l2src)->device, g_strerror (errno)));
+      GST_ELEMENT_ERROR (v4l2src, RESOURCE, SYNC, (NULL),
+         ("could not sync on a buffer on device %s: %s",
+             GST_V4L2ELEMENT (v4l2src)->device, g_strerror (errno)));
       return -1;
     }
     GST_DEBUG_OBJECT (v4l2src, "grab got interrupted");
@@ -162,21 +166,22 @@ gst_v4l2src_grab_frame (GstV4l2Src *v4l2src)
  ******************************************************/
 
 gboolean
-gst_v4l2src_get_capture (GstV4l2Src *v4l2src)
+gst_v4l2src_get_capture (GstV4l2Src * v4l2src)
 {
-       DEBUG("Getting capture format");
+  DEBUG ("Getting capture format");
 
-       GST_V4L2_CHECK_OPEN(GST_V4L2ELEMENT(v4l2src));
+  GST_V4L2_CHECK_OPEN (GST_V4L2ELEMENT (v4l2src));
 
-       v4l2src->format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-       if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_G_FMT, &v4l2src->format) < 0) {
-               GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL),
-                                  ("failed to get pixelformat for device %s: %s",
-                                   GST_V4L2ELEMENT(v4l2src)->device, g_strerror (errno)));
-               return FALSE;
-       }
+  v4l2src->format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_G_FMT,
+         &v4l2src->format) < 0) {
+    GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL),
+       ("failed to get pixelformat for device %s: %s",
+           GST_V4L2ELEMENT (v4l2src)->device, g_strerror (errno)));
+    return FALSE;
+  }
 
-       return TRUE;
+  return TRUE;
 }
 
 
@@ -187,33 +192,33 @@ gst_v4l2src_get_capture (GstV4l2Src *v4l2src)
  ******************************************************/
 
 gboolean
-gst_v4l2src_set_capture (GstV4l2Src          *v4l2src,
-                         struct v4l2_fmtdesc *fmt,
-                         gint                 width,
-                         gint                 height)
+gst_v4l2src_set_capture (GstV4l2Src * v4l2src,
+    struct v4l2_fmtdesc * fmt, gint width, gint height)
 {
-       DEBUG("Setting capture format to %dx%d, format %s",
-               width, height, fmt->description);
-
-       GST_V4L2_CHECK_OPEN(GST_V4L2ELEMENT(v4l2src));
-       GST_V4L2_CHECK_NOT_ACTIVE(GST_V4L2ELEMENT(v4l2src));
-
-       memset(&v4l2src->format, 0, sizeof(struct v4l2_format));
-       v4l2src->format.fmt.pix.width = width;
-       v4l2src->format.fmt.pix.height = height;
-       v4l2src->format.fmt.pix.pixelformat = fmt->pixelformat;
-       v4l2src->format.fmt.pix.field = V4L2_FIELD_INTERLACED;
-       v4l2src->format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-
-       if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_S_FMT, &v4l2src->format) < 0) {
-               GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL),
-                                  ("failed to set pixelformat to %s @ %dx%d for device %s: %s",
-                                  fmt->description, width, height, GST_V4L2ELEMENT(v4l2src)->device, g_strerror (errno)));
-               return FALSE;
-       }
-
-       /* update internal info */
-       return gst_v4l2src_get_capture(v4l2src);
+  DEBUG ("Setting capture format to %dx%d, format %s",
+      width, height, fmt->description);
+
+  GST_V4L2_CHECK_OPEN (GST_V4L2ELEMENT (v4l2src));
+  GST_V4L2_CHECK_NOT_ACTIVE (GST_V4L2ELEMENT (v4l2src));
+
+  memset (&v4l2src->format, 0, sizeof (struct v4l2_format));
+  v4l2src->format.fmt.pix.width = width;
+  v4l2src->format.fmt.pix.height = height;
+  v4l2src->format.fmt.pix.pixelformat = fmt->pixelformat;
+  v4l2src->format.fmt.pix.field = V4L2_FIELD_INTERLACED;
+  v4l2src->format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_S_FMT,
+         &v4l2src->format) < 0) {
+    GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL),
+       ("failed to set pixelformat to %s @ %dx%d for device %s: %s",
+           fmt->description, width, height, GST_V4L2ELEMENT (v4l2src)->device,
+           g_strerror (errno)));
+    return FALSE;
+  }
+
+  /* update internal info */
+  return gst_v4l2src_get_capture (v4l2src);
 }
 
 
@@ -224,15 +229,15 @@ gst_v4l2src_set_capture (GstV4l2Src          *v4l2src,
  ******************************************************/
 
 gboolean
-gst_v4l2src_capture_init (GstV4l2Src *v4l2src)
+gst_v4l2src_capture_init (GstV4l2Src * v4l2src)
 {
   gint n;
   guint buffers;
 
   GST_DEBUG_OBJECT (v4l2src, "initting the capture system");
 
-  GST_V4L2_CHECK_OPEN(GST_V4L2ELEMENT(v4l2src));
-  GST_V4L2_CHECK_NOT_ACTIVE(GST_V4L2ELEMENT(v4l2src));
+  GST_V4L2_CHECK_OPEN (GST_V4L2ELEMENT (v4l2src));
+  GST_V4L2_CHECK_NOT_ACTIVE (GST_V4L2ELEMENT (v4l2src));
 
   /* request buffer info */
   buffers = v4l2src->breq.count;
@@ -244,25 +249,32 @@ gst_v4l2src_capture_init (GstV4l2Src *v4l2src)
   }
   v4l2src->breq.type = v4l2src->format.type;
   v4l2src->breq.memory = V4L2_MEMORY_MMAP;
-  if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_REQBUFS, &v4l2src->breq) < 0) {
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_REQBUFS,
+         &v4l2src->breq) < 0) {
     GST_ELEMENT_ERROR (v4l2src, RESOURCE, READ,
-                       (_("Could not get buffers from device \"%s\"."), GST_V4L2ELEMENT(v4l2src)->device),
-                       ("error requesting %d buffers: %s", v4l2src->breq.count, g_strerror (errno)));
+       (_("Could not get buffers from device \"%s\"."),
+           GST_V4L2ELEMENT (v4l2src)->device),
+       ("error requesting %d buffers: %s", v4l2src->breq.count,
+           g_strerror (errno)));
     return FALSE;
   }
 
   if (v4l2src->breq.count < GST_V4L2_MIN_BUFFERS) {
     GST_ELEMENT_ERROR (v4l2src, RESOURCE, READ,
-                       (_("Could not get enough buffers from device \"%s\"."), GST_V4L2ELEMENT(v4l2src)->device),
-                       ("we received %d, we want at least %d", v4l2src->breq.count, GST_V4L2_MIN_BUFFERS));
+       (_("Could not get enough buffers from device \"%s\"."),
+           GST_V4L2ELEMENT (v4l2src)->device),
+       ("we received %d, we want at least %d", v4l2src->breq.count,
+           GST_V4L2_MIN_BUFFERS));
     v4l2src->breq.count = buffers;
     return FALSE;
   }
   if (v4l2src->breq.count != buffers)
     g_object_notify (G_OBJECT (v4l2src), "num_buffers");
 
-  GST_INFO_OBJECT (v4l2src, "Got %d buffers ("GST_FOURCC_FORMAT") of size %d KB\n",
-      v4l2src->breq.count, GST_FOURCC_ARGS (v4l2src->format.fmt.pix.pixelformat), 
+  GST_INFO_OBJECT (v4l2src,
+      "Got %d buffers (" GST_FOURCC_FORMAT ") of size %d KB\n",
+      v4l2src->breq.count,
+      GST_FOURCC_ARGS (v4l2src->format.fmt.pix.pixelformat),
       v4l2src->format.fmt.pix.sizeimage / 1024);
 
   /* Map the buffers */
@@ -279,29 +291,32 @@ gst_v4l2src_capture_init (GstV4l2Src *v4l2src)
     buffer->pool = v4l2src->pool;
     buffer->buffer.index = n;
     buffer->buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-    if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_QUERYBUF, &buffer->buffer) < 0) {
-    GST_ELEMENT_ERROR (v4l2src, RESOURCE, READ, (NULL),
-                       ("Could not get buffer properties of buffer %d: %s", n, g_strerror (errno)));
-      gst_v4l2src_capture_deinit(v4l2src);
+    if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_QUERYBUF,
+           &buffer->buffer) < 0) {
+      GST_ELEMENT_ERROR (v4l2src, RESOURCE, READ, (NULL),
+         ("Could not get buffer properties of buffer %d: %s", n,
+             g_strerror (errno)));
+      gst_v4l2src_capture_deinit (v4l2src);
       return FALSE;
     }
-    buffer->start = mmap (0, buffer->buffer.length, PROT_READ|PROT_WRITE, MAP_SHARED, 
-       GST_V4L2ELEMENT(v4l2src)->video_fd, buffer->buffer.m.offset);
+    buffer->start =
+       mmap (0, buffer->buffer.length, PROT_READ | PROT_WRITE, MAP_SHARED,
+       GST_V4L2ELEMENT (v4l2src)->video_fd, buffer->buffer.m.offset);
     if (buffer->start == MAP_FAILED) {
-    GST_ELEMENT_ERROR (v4l2src, RESOURCE, READ, (NULL),
-                       ("Could not mmap video buffer %d: %s", n, g_strerror (errno)));
+      GST_ELEMENT_ERROR (v4l2src, RESOURCE, READ, (NULL),
+         ("Could not mmap video buffer %d: %s", n, g_strerror (errno)));
       buffer->start = 0;
       gst_v4l2src_capture_deinit (v4l2src);
       return FALSE;
     }
     buffer->length = buffer->buffer.length;
-    if (!gst_v4l2src_queue_frame(v4l2src, n)) {
+    if (!gst_v4l2src_queue_frame (v4l2src, n)) {
       gst_v4l2src_capture_deinit (v4l2src);
       return FALSE;
     }
   }
 
-  GST_V4L2_SET_ACTIVE(GST_V4L2ELEMENT (v4l2src));
+  GST_V4L2_SET_ACTIVE (GST_V4L2ELEMENT (v4l2src));
   return TRUE;
 }
 
@@ -313,24 +328,24 @@ gst_v4l2src_capture_init (GstV4l2Src *v4l2src)
  ******************************************************/
 
 gboolean
-gst_v4l2src_capture_start (GstV4l2Src *v4l2src)
+gst_v4l2src_capture_start (GstV4l2Src * v4l2src)
 {
   gint type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 
   GST_DEBUG_OBJECT (v4l2src, "starting the capturing");
-  GST_V4L2_CHECK_OPEN(GST_V4L2ELEMENT(v4l2src));
-  if (!GST_V4L2_IS_ACTIVE (GST_V4L2ELEMENT(v4l2src))) {
+
+  GST_V4L2_CHECK_OPEN (GST_V4L2ELEMENT (v4l2src));
+  if (!GST_V4L2_IS_ACTIVE (GST_V4L2ELEMENT (v4l2src))) {
     gst_pad_renegotiate (v4l2src->srcpad);
   }
-  GST_V4L2_CHECK_ACTIVE(GST_V4L2ELEMENT(v4l2src));
+  GST_V4L2_CHECK_ACTIVE (GST_V4L2ELEMENT (v4l2src));
 
   v4l2src->quit = FALSE;
 
-  if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_STREAMON, &type) < 0) {
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_STREAMON, &type) < 0) {
     GST_ELEMENT_ERROR (v4l2src, RESOURCE, OPEN_READ, (NULL),
-                       ("Error starting streaming capture from device %s: %s",
-                       GST_V4L2ELEMENT(v4l2src)->device, g_strerror(errno)));
+       ("Error starting streaming capture from device %s: %s",
+           GST_V4L2ELEMENT (v4l2src)->device, g_strerror (errno)));
     return FALSE;
   }
 
@@ -345,31 +360,31 @@ gst_v4l2src_capture_start (GstV4l2Src *v4l2src)
  ******************************************************/
 
 gboolean
-gst_v4l2src_capture_stop (GstV4l2Src *v4l2src)
+gst_v4l2src_capture_stop (GstV4l2Src * v4l2src)
 {
   gint type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 
   GST_DEBUG_OBJECT (v4l2src, "stopping capturing");
-  GST_V4L2_CHECK_OPEN(GST_V4L2ELEMENT(v4l2src));
-  GST_V4L2_CHECK_ACTIVE(GST_V4L2ELEMENT(v4l2src));
+  GST_V4L2_CHECK_OPEN (GST_V4L2ELEMENT (v4l2src));
+  GST_V4L2_CHECK_ACTIVE (GST_V4L2ELEMENT (v4l2src));
 
   /* we actually need to sync on all queued buffers but not
    * on the non-queued ones */
-  if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_STREAMOFF, &type) < 0) {
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_STREAMOFF, &type) < 0) {
     GST_ELEMENT_ERROR (v4l2src, RESOURCE, CLOSE, (NULL),
-                       ("Error stopping streaming capture from device %s: %s",
-                       GST_V4L2ELEMENT(v4l2src)->device, g_strerror (errno)));
+       ("Error stopping streaming capture from device %s: %s",
+           GST_V4L2ELEMENT (v4l2src)->device, g_strerror (errno)));
     return FALSE;
   }
 
   /* make an optional pending wait stop */
   v4l2src->quit = TRUE;
-                                                                                
+
   return TRUE;
 }
 
 static void
-gst_v4l2src_buffer_pool_free (GstV4l2BufferPool *pool, gboolean do_close)
+gst_v4l2src_buffer_pool_free (GstV4l2BufferPool * pool, gboolean do_close)
 {
   guint i;
 
@@ -385,16 +400,16 @@ gst_v4l2src_buffer_pool_free (GstV4l2BufferPool *pool, gboolean do_close)
 }
 
 void
-gst_v4l2src_free_buffer (GstBuffer *buffer)
+gst_v4l2src_free_buffer (GstBuffer * buffer)
 {
   GstV4l2Buffer *buf = (GstV4l2Buffer *) GST_BUFFER_PRIVATE (buffer);
-  
+
   GST_LOG ("freeing buffer %p (nr. %d)", buffer, buf->buffer.index);
-  
+
   if (!gst_atomic_int_dec_and_test (&buf->refcount)) {
     /* we're still in use, add to queue again 
        note: this might fail because the device is already stopped (race) */
-    if (ioctl(buf->pool->video_fd, VIDIOC_QBUF, &buf->buffer) < 0)
+    if (ioctl (buf->pool->video_fd, VIDIOC_QBUF, &buf->buffer) < 0)
       GST_INFO ("readding to queue failed, assuming video device is stopped");
   }
   if (gst_atomic_int_dec_and_test (&buf->pool->refcount)) {
@@ -410,14 +425,14 @@ gst_v4l2src_free_buffer (GstBuffer *buffer)
  ******************************************************/
 
 gboolean
-gst_v4l2src_capture_deinit (GstV4l2Src *v4l2src)
+gst_v4l2src_capture_deinit (GstV4l2Src * v4l2src)
 {
   gint i, dequeue = 0;
-  
+
   GST_DEBUG_OBJECT (v4l2src, "deinitting capture system");
-  
-  GST_V4L2_CHECK_OPEN(GST_V4L2ELEMENT(v4l2src));
-  GST_V4L2_CHECK_ACTIVE(GST_V4L2ELEMENT(v4l2src));
+
+  GST_V4L2_CHECK_OPEN (GST_V4L2ELEMENT (v4l2src));
+  GST_V4L2_CHECK_ACTIVE (GST_V4L2ELEMENT (v4l2src));
 
   /* free the buffers */
   for (i = 0; i < v4l2src->breq.count; i++) {
@@ -426,16 +441,18 @@ gst_v4l2src_capture_deinit (GstV4l2Src *v4l2src)
   }
   for (i = 0; i < dequeue; i++) {
     struct v4l2_buffer buffer;
-    buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 
-    if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd, VIDIOC_DQBUF, &buffer) < 0)
-      GST_WARNING_OBJECT (v4l2src, "Could not dequeue buffer on uninitialization");
+
+    buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+    if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_DQBUF, &buffer) < 0)
+      GST_WARNING_OBJECT (v4l2src,
+         "Could not dequeue buffer on uninitialization");
   }
   if (gst_atomic_int_dec_and_test (&v4l2src->pool->refcount)) {
     /* we're last thing that used all this */
     gst_v4l2src_buffer_pool_free (v4l2src->pool, FALSE);
   }
   v4l2src->pool = NULL;
-  
+
   GST_V4L2_SET_INACTIVE (GST_V4L2ELEMENT (v4l2src));
   return TRUE;
 }
@@ -446,46 +463,45 @@ gst_v4l2src_capture_deinit (GstV4l2Src *v4l2src)
  */
 
 gboolean
-gst_v4l2src_get_size_limits (GstV4l2Src          *v4l2src,
-                            struct v4l2_fmtdesc *format,
-                            gint *min_w, gint *max_w,
-                            gint *min_h, gint *max_h)
+gst_v4l2src_get_size_limits (GstV4l2Src * v4l2src,
+    struct v4l2_fmtdesc * format,
+    gint * min_w, gint * max_w, gint * min_h, gint * max_h)
 {
-       struct v4l2_format fmt;
-
-       GST_LOG_OBJECT (v4l2src, "getting size limits with format " GST_FOURCC_FORMAT,
-           GST_FOURCC_ARGS (format->pixelformat));
-
-       /* get size delimiters */
-       memset(&fmt, 0, sizeof(fmt));
-       fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-       fmt.fmt.pix.width = 0;
-       fmt.fmt.pix.height = 0;
-       fmt.fmt.pix.pixelformat = format->pixelformat;
-       fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
-       if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd,
-                 VIDIOC_TRY_FMT, &fmt) < 0) {
-               return FALSE;
-       }
-
-       if (min_w)
-               *min_w = fmt.fmt.pix.width;
-       if (min_h)
-               *min_h = fmt.fmt.pix.height;
-       GST_LOG_OBJECT (v4l2src, "got min size %dx%d", fmt.fmt.pix.width, fmt.fmt.pix.height);
-
-       fmt.fmt.pix.width = G_MAXINT;
-       fmt.fmt.pix.height = 576;
-       if (ioctl(GST_V4L2ELEMENT(v4l2src)->video_fd,
-                 VIDIOC_TRY_FMT, &fmt) < 0) {
-               return FALSE;
-       }
-
-       if (max_w)
-               *max_w = fmt.fmt.pix.width;
-       if (max_h)
-               *max_h = fmt.fmt.pix.height;
-       GST_LOG_OBJECT (v4l2src, "got max size %dx%d", fmt.fmt.pix.width, fmt.fmt.pix.height);
-
-       return TRUE;
+  struct v4l2_format fmt;
+
+  GST_LOG_OBJECT (v4l2src, "getting size limits with format " GST_FOURCC_FORMAT,
+      GST_FOURCC_ARGS (format->pixelformat));
+
+  /* get size delimiters */
+  memset (&fmt, 0, sizeof (fmt));
+  fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+  fmt.fmt.pix.width = 0;
+  fmt.fmt.pix.height = 0;
+  fmt.fmt.pix.pixelformat = format->pixelformat;
+  fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_TRY_FMT, &fmt) < 0) {
+    return FALSE;
+  }
+
+  if (min_w)
+    *min_w = fmt.fmt.pix.width;
+  if (min_h)
+    *min_h = fmt.fmt.pix.height;
+  GST_LOG_OBJECT (v4l2src, "got min size %dx%d", fmt.fmt.pix.width,
+      fmt.fmt.pix.height);
+
+  fmt.fmt.pix.width = G_MAXINT;
+  fmt.fmt.pix.height = 576;
+  if (ioctl (GST_V4L2ELEMENT (v4l2src)->video_fd, VIDIOC_TRY_FMT, &fmt) < 0) {
+    return FALSE;
+  }
+
+  if (max_w)
+    *max_w = fmt.fmt.pix.width;
+  if (max_h)
+    *max_h = fmt.fmt.pix.height;
+  GST_LOG_OBJECT (v4l2src, "got max size %dx%d", fmt.fmt.pix.width,
+      fmt.fmt.pix.height);
+
+  return TRUE;
 }
index dc5fca0..043dddf 100644 (file)
 #include "v4l2_calls.h"
 
 
-gboolean       gst_v4l2src_get_capture         (GstV4l2Src *v4l2src);
-gboolean       gst_v4l2src_set_capture         (GstV4l2Src *v4l2src,
-                                                struct v4l2_fmtdesc *fmt,
-                                                gint        width,
-                                                gint        height);
-gboolean       gst_v4l2src_capture_init        (GstV4l2Src *v4l2src);
-gboolean       gst_v4l2src_capture_start       (GstV4l2Src *v4l2src);
-gint           gst_v4l2src_grab_frame          (GstV4l2Src *v4l2src);
-guint8 *       gst_v4l2src_get_buffer          (GstV4l2Src *v4l2src,
-                                                gint        num);
-gboolean       gst_v4l2src_queue_frame         (GstV4l2Src *v4l2src,
-                                                guint i);
-gboolean       gst_v4l2src_capture_stop        (GstV4l2Src *v4l2src);
-gboolean       gst_v4l2src_capture_deinit      (GstV4l2Src *v4l2src);
-
-gboolean       gst_v4l2src_fill_format_list    (GstV4l2Src *v4l2src);
-gboolean       gst_v4l2src_clear_format_list   (GstV4l2Src *v4l2src);
+gboolean gst_v4l2src_get_capture (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_set_capture (GstV4l2Src * v4l2src,
+    struct v4l2_fmtdesc *fmt, gint width, gint height);
+gboolean gst_v4l2src_capture_init (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_capture_start (GstV4l2Src * v4l2src);
+gint gst_v4l2src_grab_frame (GstV4l2Src * v4l2src);
+guint8 *gst_v4l2src_get_buffer (GstV4l2Src * v4l2src, gint num);
+gboolean gst_v4l2src_queue_frame (GstV4l2Src * v4l2src, guint i);
+gboolean gst_v4l2src_capture_stop (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_capture_deinit (GstV4l2Src * v4l2src);
+
+gboolean gst_v4l2src_fill_format_list (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_clear_format_list (GstV4l2Src * v4l2src);
 
 /* hacky */
-gboolean       gst_v4l2src_get_size_limits     (GstV4l2Src *v4l2src,
-                                                struct v4l2_fmtdesc *fmt,
-                                                gint *min_w, gint *max_w,
-                                                gint *min_h, gint *max_h);
+gboolean gst_v4l2src_get_size_limits (GstV4l2Src * v4l2src,
+    struct v4l2_fmtdesc *fmt,
+    gint * min_w, gint * max_w, gint * min_h, gint * max_h);
+
+void gst_v4l2src_free_buffer (GstBuffer * buffer);
 
-void           gst_v4l2src_free_buffer         (GstBuffer *buffer);
-  
 #endif /* __V4L2SRC_CALLS_H__ */
index 3431ec9..462fcf9 100644 (file)
@@ -3,12 +3,14 @@
 
 extern gboolean _gst_plugin_spew;
 
-void spectrum_chain(GstPad *pad,GstData *_data);
-gboolean idle_func(gpointer data);
+void spectrum_chain (GstPad * pad, GstData * _data);
+gboolean idle_func (gpointer data);
 
 GtkWidget *drawingarea;
 
-int main(int argc,char *argv[]) {
+int
+main (int argc, char *argv[])
+{
   GstElement *bin;
   GstElementFactory *srcfactory;
   GstElement *src;
@@ -20,63 +22,67 @@ int main(int argc,char *argv[]) {
 
   _gst_plugin_spew = TRUE;
 
-  gst_init(&argc,&argv);
-  gnome_init("Spectrum","0.0.1",argc,argv);
+  gst_init (&argc, &argv);
+  gnome_init ("Spectrum", "0.0.1", argc, argv);
 
-  bin = gst_bin_new("bin");
+  bin = gst_bin_new ("bin");
 
-  srcfactory = gst_element_factory_find("osssrc");
-  spectrumfactory = gst_element_factory_find("gstspectrum");
+  srcfactory = gst_element_factory_find ("osssrc");
+  spectrumfactory = gst_element_factory_find ("gstspectrum");
 
-  src = gst_element_factory_create(srcfactory,"src");
-  gtk_object_set(GTK_OBJECT(src),"bytes_per_read",(gulong)1024,NULL);
-  spectrum = gst_element_factory_create(spectrumfactory,"spectrum");
-  gtk_object_set(GTK_OBJECT(spectrum),"width",256,NULL);
+  src = gst_element_factory_create (srcfactory, "src");
+  gtk_object_set (GTK_OBJECT (src), "bytes_per_read", (gulong) 1024, NULL);
+  spectrum = gst_element_factory_create (spectrumfactory, "spectrum");
+  gtk_object_set (GTK_OBJECT (spectrum), "width", 256, NULL);
 
 
-  gst_bin_add(GST_BIN(bin),GST_ELEMENT(src));
-  gst_bin_add(GST_BIN(bin),GST_ELEMENT(spectrum));
+  gst_bin_add (GST_BIN (bin), GST_ELEMENT (src));
+  gst_bin_add (GST_BIN (bin), GST_ELEMENT (spectrum));
 
-  gst_pad_link(gst_element_get_pad(src,"src"),
-                  gst_element_get_pad(spectrum,"sink"));
+  gst_pad_link (gst_element_get_pad (src, "src"),
+      gst_element_get_pad (spectrum, "sink"));
 
-  spectrumpad = gst_pad_new("sink",GST_PAD_SINK);
-  gst_pad_set_chain_function(spectrumpad,spectrum_chain);
+  spectrumpad = gst_pad_new ("sink", GST_PAD_SINK);
+  gst_pad_set_chain_function (spectrumpad, spectrum_chain);
 
-  gst_pad_link(gst_element_get_pad(spectrum,"src"),spectrumpad);
+  gst_pad_link (gst_element_get_pad (spectrum, "src"), spectrumpad);
 
-  appwindow = gnome_app_new("spectrum","Spectrum");
-  drawingarea = gtk_drawing_area_new();
-  gtk_drawing_area_size(GTK_DRAWING_AREA(drawingarea),256,32);
-  gnome_app_set_contents(GNOME_APP(appwindow),drawingarea);
-  gtk_widget_show_all(appwindow);
+  appwindow = gnome_app_new ("spectrum", "Spectrum");
+  drawingarea = gtk_drawing_area_new ();
+  gtk_drawing_area_size (GTK_DRAWING_AREA (drawingarea), 256, 32);
+  gnome_app_set_contents (GNOME_APP (appwindow), drawingarea);
+  gtk_widget_show_all (appwindow);
 
-  gst_element_set_state(GST_ELEMENT(bin),GST_STATE_READY);
-  gst_element_set_state(GST_ELEMENT(bin),GST_STATE_PLAYING);
+  gst_element_set_state (GST_ELEMENT (bin), GST_STATE_READY);
+  gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
 
-  g_idle_add(idle_func,src);
+  g_idle_add (idle_func, src);
 
-  gtk_main();
+  gtk_main ();
 
   return 0;
 }
 
 
-void spectrum_chain(GstPad *pad,GstData *_data) {
+void
+spectrum_chain (GstPad * pad, GstData * _data)
+{
   GstBuffer *buf = GST_BUFFER (_data);
   gint i;
   guchar *data = buf->data;
 
-  gdk_draw_rectangle(drawingarea->window,drawingarea->style->black_gc,
-                     TRUE,0,0,GST_BUFFER_SIZE(buf),25);
-  for (i=0;i<GST_BUFFER_SIZE(buf);i++) {
-    gdk_draw_rectangle(drawingarea->window,drawingarea->style->white_gc,
-                       TRUE,i,32-data[i],1,data[i]);
+  gdk_draw_rectangle (drawingarea->window, drawingarea->style->black_gc,
+      TRUE, 0, 0, GST_BUFFER_SIZE (buf), 25);
+  for (i = 0; i < GST_BUFFER_SIZE (buf); i++) {
+    gdk_draw_rectangle (drawingarea->window, drawingarea->style->white_gc,
+       TRUE, i, 32 - data[i], 1, data[i]);
   }
-  gst_buffer_unref(buf);
+  gst_buffer_unref (buf);
 }
 
-gboolean idle_func(gpointer data) {
+gboolean
+idle_func (gpointer data)
+{
   /*gst_src_push(GST_SRC(data)); */
   return TRUE;
 }
index d0bc4a6..6296f6a 100644 (file)
@@ -16,7 +16,7 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -28,38 +28,36 @@ static GMainLoop *loop = NULL;
 
 
 static void
-got_eos (GstElement *pipeline)
+got_eos (GstElement * pipeline)
 {
   g_main_loop_quit (loop);
 }
 
 static gboolean
-idle_iterate (GstElement *pipeline)
+idle_iterate (GstElement * pipeline)
 {
   gst_bin_iterate (GST_BIN (pipeline));
   return (GST_STATE (GST_ELEMENT (pipeline)) == GST_STATE_PLAYING);
 }
 
 static gboolean
-switch_timer (GstElement *video_switch)
+switch_timer (GstElement * video_switch)
 {
   gint nb_sources, active_source;
-  
+
   g_object_get (G_OBJECT (video_switch), "nb_sources", &nb_sources, NULL);
-  g_object_get (G_OBJECT (video_switch), "active_source",
-                &active_source, NULL);
-  
-  active_source ++;
-  
+  g_object_get (G_OBJECT (video_switch), "active_source", &active_source, NULL);
+
+  active_source++;
+
   if (active_source > nb_sources - 1)
     active_source = 0;
-  
-  g_object_set (G_OBJECT (video_switch), "active_source",
-                active_source, NULL);
-  
+
+  g_object_set (G_OBJECT (video_switch), "active_source", active_source, NULL);
+
   g_message ("current number of sources : %d, active source %d",
-             nb_sources, active_source);
-  
+      nb_sources, active_source);
+
   return (GST_STATE (GST_ELEMENT (video_switch)) == GST_STATE_PLAYING);
 }
 
@@ -72,7 +70,7 @@ main (int argc, char *argv[])
   gst_init (&argc, &argv);
 
   loop = g_main_loop_new (NULL, FALSE);
-  
+
   pipeline = gst_pipeline_new ("pipeline");
   src1 = gst_element_factory_make ("videotestsrc", "src1");
   g_object_set (G_OBJECT (src1), "pattern", 0, NULL);
@@ -80,26 +78,25 @@ main (int argc, char *argv[])
   g_object_set (G_OBJECT (src2), "pattern", 1, NULL);
   video_switch = gst_element_factory_make ("switch", "video_switch");
   video_sink = gst_element_factory_make ("ximagesink", "video_sink");
-  
+
   gst_bin_add_many (GST_BIN (pipeline), src1, src2, video_switch,
-                    video_sink, NULL);
-  
+      video_sink, NULL);
+
   gst_element_link (src1, video_switch);
   gst_element_link (src2, video_switch);
   gst_element_link (video_switch, video_sink);
-  
-  g_signal_connect (G_OBJECT (pipeline), "eos",
-                    G_CALLBACK (got_eos), NULL);
+
+  g_signal_connect (G_OBJECT (pipeline), "eos", G_CALLBACK (got_eos), NULL);
 
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_PLAYING);
-  
+
   g_idle_add ((GSourceFunc) idle_iterate, pipeline);
   g_timeout_add (2000, (GSourceFunc) switch_timer, video_switch);
-  
+
   g_main_loop_run (loop);
 
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_READY);
-  
+
   /* unref */
   gst_object_unref (GST_OBJECT (pipeline));