mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 11:11:08 +00:00
audiodecoder: getter for allocator
Sometimes the decoder would use the allocator for something else than just allocating output buffers, for example, querying different parameters. This patch expose a getter accessor for the negotiated memory allocator.
This commit is contained in:
parent
936ec3eb8f
commit
f7f0c55e5f
2 changed files with 31 additions and 0 deletions
|
@ -2921,3 +2921,30 @@ done:
|
||||||
|
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_audio_decoder_get_allocator:
|
||||||
|
* @dec: a #GstAudioDecoder
|
||||||
|
* @allocator: (out) (allow-none) (transfer full): the #GstAllocator
|
||||||
|
* used
|
||||||
|
* @params: (out) (allow-none) (transfer full): the
|
||||||
|
* #GstAllocatorParams of @allocator
|
||||||
|
*
|
||||||
|
* Lets #GstAudioDecoder sub-classes to know the memory @allocator
|
||||||
|
* used by the base class and its @params.
|
||||||
|
*
|
||||||
|
* Unref the @allocator after use it.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
gst_audio_decoder_get_allocator (GstAudioDecoder * dec,
|
||||||
|
GstAllocator ** allocator, GstAllocationParams * params)
|
||||||
|
{
|
||||||
|
g_return_if_fail (GST_IS_AUDIO_DECODER (dec));
|
||||||
|
|
||||||
|
if (allocator)
|
||||||
|
*allocator = dec->priv->ctx.allocator ?
|
||||||
|
gst_object_ref (dec->priv->ctx.allocator) : NULL;
|
||||||
|
|
||||||
|
if (params)
|
||||||
|
*params = dec->priv->ctx.params;
|
||||||
|
}
|
||||||
|
|
|
@ -344,6 +344,10 @@ void gst_audio_decoder_set_needs_format (GstAudioDecoder * dec,
|
||||||
|
|
||||||
gboolean gst_audio_decoder_get_needs_format (GstAudioDecoder * dec);
|
gboolean gst_audio_decoder_get_needs_format (GstAudioDecoder * dec);
|
||||||
|
|
||||||
|
void gst_audio_decoder_get_allocator (GstAudioDecoder * dec,
|
||||||
|
GstAllocator ** allocator,
|
||||||
|
GstAllocationParams * params);
|
||||||
|
|
||||||
void gst_audio_decoder_merge_tags (GstAudioDecoder * dec,
|
void gst_audio_decoder_merge_tags (GstAudioDecoder * dec,
|
||||||
const GstTagList * tags, GstTagMergeMode mode);
|
const GstTagList * tags, GstTagMergeMode mode);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue