audio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free}
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Sat, 27 Aug 2011 10:43:02 +0000 (11:43 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Sat, 27 Aug 2011 13:47:49 +0000 (14:47 +0100)
gst-libs/gst/audio/audio.c
gst-libs/gst/audio/audio.h

index cd77b40..23fe19e 100644 (file)
@@ -413,6 +413,31 @@ missing_field_width:
   }
 }
 
+/* FIXME: remove these if we don't actually go for deep alloc positions */
+void
+gst_audio_info_init (GstAudioInfo * info)
+{
+  memset (info, 0, sizeof (GstAudioInfo));
+}
+
+void
+gst_audio_info_clear (GstAudioInfo * info)
+{
+  memset (info, 0, sizeof (GstAudioInfo));
+}
+
+GstAudioInfo *
+gst_audio_info_copy (GstAudioInfo * info)
+{
+  return (GstAudioInfo *) g_slice_copy (sizeof (GstAudioInfo), info);
+}
+
+void
+gst_audio_info_free (GstAudioInfo * info)
+{
+  g_slice_free (GstAudioInfo, info);
+}
+
 static void
 gst_audio_info_set_format (GstAudioInfo * info, GstAudioFormat format,
     gint rate, gint channels)
index d536908..e6d6363 100644 (file)
@@ -261,17 +261,17 @@ struct _GstAudioInfo {
 #define GST_AUDIO_INFO_BPF(info)             ((info)->bpf)
 #define GST_AUDIO_INFO_POSITION(info,c)      ((info)->position[c])
 
-#if 0
-void         gst_audio_info_init        (GstAudioInfo *info);
-void         gst_audio_info_set_format  (GstAudioInfo *info, GstAudioFormat format,
-                                         gint rate, gint channels);
-#endif
-/* FIXME: need alloc/free for GstAudioInfo */
-gboolean     gst_audio_info_from_caps   (GstAudioInfo *info, const GstCaps *caps);
-GstCaps *    gst_audio_info_to_caps     (GstAudioInfo *info);
+void           gst_audio_info_init  (GstAudioInfo * info);
+void           gst_audio_info_clear (GstAudioInfo * info);
+
+GstAudioInfo * gst_audio_info_copy  (GstAudioInfo * info);
+void           gst_audio_info_free  (GstAudioInfo * info);
+
+gboolean       gst_audio_info_from_caps (GstAudioInfo * info, const GstCaps * caps);
+GstCaps *      gst_audio_info_to_caps   (GstAudioInfo * info);
 
-gboolean     gst_audio_info_convert     (GstAudioInfo * info,
-                                         GstFormat src_fmt, gint64 src_val,
+gboolean       gst_audio_info_convert   (GstAudioInfo * info,
+                                         GstFormat src_fmt,  gint64   src_val,
                                          GstFormat dest_fmt, gint64 * dest_val);
 
 /* For people that are looking at this source: the purpose of these defines is