audio: Add gst_audio_info_is_equal()
authorSebastian Dröge <slomo@circular-chaos.org>
Thu, 30 May 2013 12:45:31 +0000 (14:45 +0200)
committerSebastian Dröge <slomo@circular-chaos.org>
Thu, 30 May 2013 21:56:52 +0000 (23:56 +0200)
docs/libs/gst-plugins-base-libs-sections.txt
gst-libs/gst/audio/audio-info.c
gst-libs/gst/audio/audio-info.h
win32/common/libgstaudio.def

index c14e0bc..8df3533 100644 (file)
@@ -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
index c50c3d1..1c238f5 100644 (file)
@@ -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;
+}
index 92be246..41b9f2f 100644 (file)
@@ -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__ */
index 3a7a364..be4d23a 100644 (file)
@@ -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