[Bug 751605] audio: Add proper support for non-interleaved / planar audio

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat May 5 14:37:11 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=751605

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #371717|none                        |needs-work
             status|                            |

--- Comment #15 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 371717:
 --> (https://bugzilla.gnome.org/review?bug=751605&attachment=371717)

Only shortly reviewed the header so far :)

::: gst-libs/gst/audio/gstaudiometa.h
@@ +144,3 @@
+ * the @planes array. For interleaved buffers, the @planes array only contains
+ * one item, which is the pointer to the beginning of the buffer, and
@n_planes
+ * equals 1.

This should mention that the planes are always in GStreamer channel order

@@ +151,3 @@
+  gint        n_planes;
+  gsize       plane_size;
+  gpointer    *planes;

Planes? Or should it rather be channels?

@@ +158,3 @@
+
+  gpointer    priv_planes_arr[8];
+  GstMapInfo  priv_map_info_arr[8];

We might want to map only once if it's only a single memory... but that's an
optimization for later times

@@ +161,3 @@
+
+  gpointer _gst_reserved[GST_PADDING];
+} GstAudioMapInfo;

This should be called GstAudioBuffer, for consistency with
gst_audio_buffer_map(). And GstRTPBuffer, GstVideoFrame, etc.

@@ +162,3 @@
+  gpointer _gst_reserved[GST_PADDING];
+} GstAudioMapInfo;
+

Should maybe also get into a separate header, and then we can later add all
kinds of macros like there are for GstVideoFrame and GstRTPBuffer

@@ +199,3 @@
+};
+
+GST_EXPORT

This should be GST_AUDIO_EXPORT or not?

@@ +218,3 @@
+
+GST_EXPORT
+void gst_audio_buffer_unmap (GstBuffer *buffer, GstAudioMapInfo *info);

For videoframe and rtp buffer we also store the buffer, so unmapping only
requires the struct and not in addition the buffer. Let's keep this consistent

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list