[Bug 719829] rtp: Add RFC4571 framing/de-framing element

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Dec 4 08:18:50 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=719829
  GStreamer | gst-plugins-good | git

--- Comment #7 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2013-12-04 16:18:47 UTC ---
(In reply to comment #5)
> Review of attachment 263493 [details]:
> 
> ::: gst/rtp/gstrtptcpframe.c
> @@ +170,3 @@
> 
> +  /* Resize to 2 bytes and append all RTP memory without copying */
> +  gst_buffer_resize (outbuf, 0, 2);
> 
> Resize a buffer here doesn't make sense. Possibly not a good use-case for
> basetransform.

True, but all other base classes don't fit at all and just going from
GstElement will require a lot of code :) I'm fine with changing this to a plain
GstElement if everybody agrees that this is a good idea, the cost of downsizing
the buffer there and allocating it larger should be minimal though.

(In reply to comment #6)
> Even though the RFC defines this as RTP/RTCP specific, the framing really
> isn't. 
> I'd call them rfc4571frame and rfc4571deframe with caps
> application/x-rfc4571-stream and "ANY" on the other side. Possibly having
> application/x-rfc4571-stream, original-caps=(caps)"original caps...." for the
> output of the encoder. And I think they probably fit as payloader/depayloader

While it is usable for anything else too, I don't think we should allow that as
it won't interoperate with anything and would not comply with the RFC at all.
We could call that application/x-uint16be-prefixed-packets then ;)

Having the original RTP/RTCP caps with just a different structure name inside
the RFC4571 caps has the advantage that the element can automatically transform
them and put them on the srcpad. Otherwise with ANY caps on the srcpad you'll
need something else to set the caps there again, instead of just between
tcp*src and the depayloader.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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