audio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free}

This commit is contained in:
Tim-Philipp Müller 2011-08-27 11:43:02 +01:00
parent 63a3d360dc
commit 946ddb6462
2 changed files with 35 additions and 10 deletions
gst-libs/gst/audio

View 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)

View 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);
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