[Bug 773833] rtpL16depay, rtpL24depay: support depayloading in place

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Nov 5 12:14:51 UTC 2016


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

--- Comment #3 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Petr Kulhavy from comment #2)
> Regarding the second part gst_audio_buffer_reorder_channels() already
> performs the check whether any reordering is needed. So it should be either
> removed from there or the gst_buffer_make_writable() moved into
> gst_audio_buffer_reorder_channels(). It makes no sense that the check is
> done twice. 

Could be removed I guess, inside the function. My idea was to do the check
exactly once when the caps are set and never call that function at all then,
instead of having the function do the check every time when no reordering is
performed.

> My preferred way would be to move gst_buffer_make_writable() into
> gst_audio_buffer_reorder_channels() because the same problem is also in
> gstrtpL16pay, gstrtpL24pay and gstrtpL24depay. However I don't know what
> APIs would be affected by that...
> 
> If none of the above is acceptable I would suggest at least to extend the
> audio-channels API with a function, which performs the check if reordering
> is needed.

That can't be moved into the function as is, we would need to add a new
function that a) takes ownership of the buffer passed to it, and b) returns a
new buffer (or the unchanged input buffer).

Such a function would indeed make sense, but would also not solve the problem
here. It's just nicer :)

We should ideally never ever call this function if not needed (and the first
problem is completely independent of all we talked about here so far anyway)

-- 
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