gstaudio.dsd_plane_offset_meta

Module for [DsdPlaneOffsetMeta] class

Types 1

Buffer metadata describing planar DSD contents in the buffer. This is not needed for interleaved DSD data, and is required for non-interleaved (= planar) data.

The different channels in @offsets are always in the GStreamer channel order. Zero-copy channel reordering can be implemented by swapping the values in @offsets.

It is not allowed for channels to overlap in memory, i.e. for each i in [0, channels), the range [@offsets[i], @offsets[i] + @num_bytes_per_channel) must not overlap with any other such range.

It is, however, allowed to have parts of the buffer memory unused, by using @offsets and @num_bytes_per_channel in such a way that leave gaps on it. This is used to implement zero-copy clipping in non-interleaved buffers.

Obviously, due to the above, it is not safe to infer the number of valid bytes from the size of the buffer. You should always use the @num_bytes_per_channel variable of this metadata.

Fields
Methods
void * _cPtr()
gst.meta.Meta meta() @propertyGet `meta` field. Returns: parent #GstMeta
int numChannels() @propertyGet `numChannels` field. Returns: number of channels in the DSD data
void numChannels(int propval) @propertySet `numChannels` field. Params: propval = number of channels in the DSD data
size_t numBytesPerChannel() @propertyGet `numBytesPerChannel` field. Returns: the number of valid bytes per channel in the buffer
void numBytesPerChannel(size_t propval) @propertySet `numBytesPerChannel` field. Params: propval = the number of valid bytes per channel in the buffer
Constructors
this(void * ptr, Flag!"Take" take)