gst_audio_buffer_clip
GstBuffer *
gst_audio_buffer_clip (GstBuffer * buffer,
const GstSegment * segment,
gint rate,
gint bpf)
Clip the buffer to the given GstSegment.
After calling this function the caller does not own a reference to
buffer anymore.
Parameters:
buffer
(
[transfer: full])
–
The buffer to clip.
bpf
–
size of one audio frame in bytes. This is the size of one sample *
number of channels.
Returns
(
[transfer: full][nullable])
–
NULL if the buffer is completely outside the configured segment,
otherwise the clipped buffer is returned.
If the buffer has no timestamp, it is assumed to be inside the segment and
is not clipped
GstAudio.prototype.audio_buffer_clip
function GstAudio.prototype.audio_buffer_clip(buffer: Gst.Buffer, segment: Gst.Segment, rate: Number, bpf: Number): {
}
Clip the buffer to the given Gst.Segment.
After calling this function the caller does not own a reference to
buffer anymore.
Parameters:
size of one audio frame in bytes. This is the size of one sample *
number of channels.
null if the buffer is completely outside the configured segment,
otherwise the clipped buffer is returned.
If the buffer has no timestamp, it is assumed to be inside the segment and
is not clipped
GstAudio.audio_buffer_clip
def GstAudio.audio_buffer_clip (buffer, segment, rate, bpf):
Clip the buffer to the given Gst.Segment.
After calling this function the caller does not own a reference to
buffer anymore.
Parameters:
size of one audio frame in bytes. This is the size of one sample *
number of channels.
None if the buffer is completely outside the configured segment,
otherwise the clipped buffer is returned.
If the buffer has no timestamp, it is assumed to be inside the segment and
is not clipped
gst_audio_buffer_map
gboolean
gst_audio_buffer_map (GstAudioBuffer * buffer,
const GstAudioInfo * info,
GstBuffer * gstbuffer,
GstMapFlags flags)
Maps an audio gstbuffer so that it can be read or written and stores the
result of the map operation in buffer.
This is especially useful when the gstbuffer is in non-interleaved (planar)
layout, in which case this function will use the information in the
gstbuffer's attached GstAudioMeta in order to map each channel in a
separate "plane" in GstAudioBuffer. If a GstAudioMeta is not attached
on the gstbuffer, then it must be in interleaved layout.
If a GstAudioMeta is attached, then the GstAudioInfo on the meta is checked
against info. Normally, they should be equal, but in case they are not,
a g_critical will be printed and the GstAudioInfo from the meta will be
used.
In non-interleaved buffers, it is possible to have each channel on a separate
GstMemory. In this case, each memory will be mapped separately to avoid
copying their contents in a larger memory area. Do note though that it is
not supported to have a single channel spanning over two or more different
GstMemory objects. Although the map operation will likely succeed in this
case, it will be highly sub-optimal and it is recommended to merge all the
memories in the buffer before calling this function.
Note: The actual GstBuffer is not ref'ed, but it is required to stay valid
as long as it's mapped.
Parameters:
info
–
the audio properties of the buffer
gstbuffer
(
[transfer: none])
–
the GstBuffer to be mapped
flags
–
the access mode for the memory
Returns
–
TRUE if the map operation succeeded or FALSE on failure
Since : 1.16
GstAudio.prototype.audio_buffer_map
function GstAudio.prototype.audio_buffer_map(info: GstAudio.AudioInfo, gstbuffer: Gst.Buffer, flags: Gst.MapFlags): {
}
Maps an audio gstbuffer so that it can be read or written and stores the
result of the map operation in buffer.
This is especially useful when the gstbuffer is in non-interleaved (planar)
layout, in which case this function will use the information in the
gstbuffer's attached GstAudio.AudioMeta in order to map each channel in a
separate "plane" in GstAudio.AudioBuffer. If a GstAudio.AudioMeta is not attached
on the gstbuffer, then it must be in interleaved layout.
If a GstAudio.AudioMeta is attached, then the GstAudio.AudioInfo on the meta is checked
against info. Normally, they should be equal, but in case they are not,
a g_critical will be printed and the GstAudio.AudioInfo from the meta will be
used.
In non-interleaved buffers, it is possible to have each channel on a separate
Gst.Memory. In this case, each memory will be mapped separately to avoid
copying their contents in a larger memory area. Do note though that it is
not supported to have a single channel spanning over two or more different
Gst.Memory objects. Although the map operation will likely succeed in this
case, it will be highly sub-optimal and it is recommended to merge all the
memories in the buffer before calling this function.
Note: The actual Gst.Buffer is not ref'ed, but it is required to stay valid
as long as it's mapped.
Parameters:
the audio properties of the buffer
the access mode for the memory
Returns a tuple made of:
true if the map operation succeeded or false on failure
true if the map operation succeeded or false on failure
Since : 1.16
GstAudio.audio_buffer_map
def GstAudio.audio_buffer_map (info, gstbuffer, flags):
Maps an audio gstbuffer so that it can be read or written and stores the
result of the map operation in buffer.
This is especially useful when the gstbuffer is in non-interleaved (planar)
layout, in which case this function will use the information in the
gstbuffer's attached GstAudio.AudioMeta in order to map each channel in a
separate "plane" in GstAudio.AudioBuffer. If a GstAudio.AudioMeta is not attached
on the gstbuffer, then it must be in interleaved layout.
If a GstAudio.AudioMeta is attached, then the GstAudio.AudioInfo on the meta is checked
against info. Normally, they should be equal, but in case they are not,
a g_critical will be printed and the GstAudio.AudioInfo from the meta will be
used.
In non-interleaved buffers, it is possible to have each channel on a separate
Gst.Memory. In this case, each memory will be mapped separately to avoid
copying their contents in a larger memory area. Do note though that it is
not supported to have a single channel spanning over two or more different
Gst.Memory objects. Although the map operation will likely succeed in this
case, it will be highly sub-optimal and it is recommended to merge all the
memories in the buffer before calling this function.
Note: The actual Gst.Buffer is not ref'ed, but it is required to stay valid
as long as it's mapped.
Parameters:
the audio properties of the buffer
the access mode for the memory
Returns a tuple made of:
True if the map operation succeeded or False on failure
True if the map operation succeeded or False on failure
Since : 1.16
gst_audio_buffer_reorder_channels
gboolean
gst_audio_buffer_reorder_channels (GstBuffer * buffer,
GstAudioFormat format,
gint channels,
const GstAudioChannelPosition * from,
const GstAudioChannelPosition * to)
Reorders buffer from the channel positions from to the channel
positions to. from and to must contain the same number of
positions and the same positions, only in a different order.
buffer must be writable.
Parameters:
buffer
–
The buffer to reorder.
channels
–
The number of channels.
from
(
[arraylength=channels])
–
The channel positions in the buffer.
to
(
[arraylength=channels])
–
The channel positions to convert to.
Returns
–
TRUE if the reordering was possible.
GstAudio.prototype.audio_buffer_reorder_channels
function GstAudio.prototype.audio_buffer_reorder_channels(buffer: Gst.Buffer, format: GstAudio.AudioFormat, channels: Number, from: [ GstAudio.AudioChannelPosition ], to: [ GstAudio.AudioChannelPosition ]): {
}
Reorders buffer from the channel positions from to the channel
positions to. from and to must contain the same number of
positions and the same positions, only in a different order.
buffer must be writable.
Parameters:
The channel positions in the buffer.
The channel positions to convert to.
true if the reordering was possible.
GstAudio.audio_buffer_reorder_channels
def GstAudio.audio_buffer_reorder_channels (buffer, format, channels, from, to):
Reorders buffer from the channel positions from to the channel
positions to. from and to must contain the same number of
positions and the same positions, only in a different order.
buffer must be writable.
Parameters:
The channel positions in the buffer.
The channel positions to convert to.
True if the reordering was possible.
gst_audio_buffer_truncate
GstBuffer *
gst_audio_buffer_truncate (GstBuffer * buffer,
gint bpf,
gsize trim,
gsize samples)
Truncate the buffer to finally have samples number of samples, removing
the necessary amount of samples from the end and trim number of samples
from the beginning.
This function does not know the audio rate, therefore the caller is
responsible for re-setting the correct timestamp and duration to the
buffer. However, timestamp will be preserved if trim == 0, and duration
will also be preserved if there is no trimming to be done. Offset and
offset end will be preserved / updated.
After calling this function the caller does not own a reference to
buffer anymore.
Parameters:
buffer
(
[transfer: full])
–
The buffer to truncate.
bpf
–
size of one audio frame in bytes. This is the size of one sample *
number of channels.
trim
–
the number of samples to remove from the beginning of the buffer
samples
–
the final number of samples that should exist in this buffer or -1
to use all the remaining samples if you are only removing samples from the
beginning.
Returns
(
[transfer: full])
–
the truncated buffer
Since : 1.16
GstAudio.prototype.audio_buffer_truncate
function GstAudio.prototype.audio_buffer_truncate(buffer: Gst.Buffer, bpf: Number, trim: Number, samples: Number): {
}
Truncate the buffer to finally have samples number of samples, removing
the necessary amount of samples from the end and trim number of samples
from the beginning.
This function does not know the audio rate, therefore the caller is
responsible for re-setting the correct timestamp and duration to the
buffer. However, timestamp will be preserved if trim == 0, and duration
will also be preserved if there is no trimming to be done. Offset and
offset end will be preserved / updated.
After calling this function the caller does not own a reference to
buffer anymore.
Parameters:
size of one audio frame in bytes. This is the size of one sample *
number of channels.
the number of samples to remove from the beginning of the buffer
the final number of samples that should exist in this buffer or -1
to use all the remaining samples if you are only removing samples from the
beginning.
Since : 1.16
GstAudio.audio_buffer_truncate
def GstAudio.audio_buffer_truncate (buffer, bpf, trim, samples):
Truncate the buffer to finally have samples number of samples, removing
the necessary amount of samples from the end and trim number of samples
from the beginning.
This function does not know the audio rate, therefore the caller is
responsible for re-setting the correct timestamp and duration to the
buffer. However, timestamp will be preserved if trim == 0, and duration
will also be preserved if there is no trimming to be done. Offset and
offset end will be preserved / updated.
After calling this function the caller does not own a reference to
buffer anymore.
Parameters:
size of one audio frame in bytes. This is the size of one sample *
number of channels.
the number of samples to remove from the beginning of the buffer
the final number of samples that should exist in this buffer or -1
to use all the remaining samples if you are only removing samples from the
beginning.
Since : 1.16