From: Sebastian Dröge Date: Thu, 30 May 2013 12:45:31 +0000 (+0200) Subject: audio: Add gst_audio_info_is_equal() X-Git-Tag: 1.19.3~511^2~5270 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5065e76b1c7bbd7f6e7edfeb3bf27284198f10b3;p=platform%2Fupstream%2Fgstreamer.git audio: Add gst_audio_info_is_equal() --- diff --git a/docs/libs/gst-plugins-base-libs-sections.txt b/docs/libs/gst-plugins-base-libs-sections.txt index c14e0bc..8df3533 100644 --- a/docs/libs/gst-plugins-base-libs-sections.txt +++ b/docs/libs/gst-plugins-base-libs-sections.txt @@ -115,6 +115,7 @@ gst_audio_info_copy gst_audio_info_free gst_audio_info_new gst_audio_info_set_format +gst_audio_info_is_equal gst_audio_format_build_integer gst_audio_format_fill_silence diff --git a/gst-libs/gst/audio/audio-info.c b/gst-libs/gst/audio/audio-info.c index c50c3d1..1c238f5 100644 --- a/gst-libs/gst/audio/audio-info.c +++ b/gst-libs/gst/audio/audio-info.c @@ -461,3 +461,38 @@ done: return res; } + +/** + * gst_audio_info_is_equal: + * @info: a #GstAudioInfo + * @other: a #GstAudioInfo + * + * Compares two #GstAudioInfo and returns whether they are equal or not + * + * Returns: %TRUE if @info and @other are equal, else %FALSE. + * + * Since: 1.2 + * + */ +gboolean +gst_audio_info_is_equal (const GstAudioInfo * info, const GstAudioInfo * other) +{ + if (GST_AUDIO_INFO_FORMAT (info) != GST_AUDIO_INFO_FORMAT (other)) + return FALSE; + if (GST_AUDIO_INFO_FLAGS (info) != GST_AUDIO_INFO_FLAGS (other)) + return FALSE; + if (GST_AUDIO_INFO_LAYOUT (info) != GST_AUDIO_INFO_LAYOUT (other)) + return FALSE; + if (GST_AUDIO_INFO_RATE (info) != GST_AUDIO_INFO_RATE (other)) + return FALSE; + if (GST_AUDIO_INFO_CHANNELS (info) != GST_AUDIO_INFO_CHANNELS (other)) + return FALSE; + if (GST_AUDIO_INFO_BPF (info) != GST_AUDIO_INFO_BPF (other)) + return FALSE; + if (memcmp (info->position, other->position, + GST_AUDIO_INFO_CHANNELS (info) * sizeof (GstAudioChannelPosition)) != + 0) + return FALSE; + + return TRUE; +} diff --git a/gst-libs/gst/audio/audio-info.h b/gst-libs/gst/audio/audio-info.h index 92be246..41b9f2f 100644 --- a/gst-libs/gst/audio/audio-info.h +++ b/gst-libs/gst/audio/audio-info.h @@ -128,6 +128,9 @@ gboolean gst_audio_info_convert (const GstAudioInfo * info, GstFormat src_fmt, gint64 src_val, GstFormat dest_fmt, gint64 * dest_val); +gboolean gst_audio_info_is_equal (const GstAudioInfo *info, + const GstAudioInfo *other); + G_END_DECLS #endif /* __GST_AUDIO_INFO_H__ */ diff --git a/win32/common/libgstaudio.def b/win32/common/libgstaudio.def index 3a7a364..be4d23a 100644 --- a/win32/common/libgstaudio.def +++ b/win32/common/libgstaudio.def @@ -118,6 +118,7 @@ EXPORTS gst_audio_info_from_caps gst_audio_info_get_type gst_audio_info_init + gst_audio_info_is_equal gst_audio_info_new gst_audio_info_set_format gst_audio_info_to_caps