From 946ddb64624304592e8281952e08e010f5a5eff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 27 Aug 2011 11:43:02 +0100 Subject: [PATCH] audio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free} --- gst-libs/gst/audio/audio.c | 25 +++++++++++++++++++++++++ gst-libs/gst/audio/audio.h | 20 ++++++++++---------- 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/gst-libs/gst/audio/audio.c b/gst-libs/gst/audio/audio.c index cd77b4092d..23fe19e63b 100644 --- a/gst-libs/gst/audio/audio.c +++ b/gst-libs/gst/audio/audio.c @@ -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) diff --git a/gst-libs/gst/audio/audio.h b/gst-libs/gst/audio/audio.h index d5369086ed..e6d6363fb2 100644 --- a/gst-libs/gst/audio/audio.h +++ b/gst-libs/gst/audio/audio.h @@ -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); -gboolean gst_audio_info_convert (GstAudioInfo * info, - GstFormat src_fmt, gint64 src_val, +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, GstFormat dest_fmt, gint64 * dest_val); /* For people that are looking at this source: the purpose of these defines is