[Bug 757049] tsdemux: Add support for Opus

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sat Oct 24 06:59:02 PDT 2015


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

--- Comment #4 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Tim-Philipp Müller from comment #3)
> Comment on attachment 314011 [details] [review]
> tsdemux: Add support for Opus
> 
> (Did not check against the draft spec, just commenting on the code)
> 
> >+  packet_size = au_size - gst_byte_reader_get_pos (&reader);
> >+  if (!gst_byte_reader_dup_data (&reader, packet_size, &packet_data))
> >+    goto error;
> 
> I think an explicit check here that au_size is sane would be nicer, instead
> of guint underflow -> huge value -> dup_data() fails.

Sure, but the effect would be the same :) 

> This all looks a bit confusing to me. Are we doing caps/streamheader stuff
> for every single packet? Potentially changing the streamheader for every
> single packet?

Yes, if every single packet has a different trim_start value. But actually it's
not 100% correct, the spec says that it can only be at the beginning of a
stream and applies to the current packet. Once a packet was there without the
field, the field can't be used again.

Also we need to handle trim_stop somehow. I think the best would be to
introduce a GstMeta for this, however it would have to be used by tsdemux (and
matroskademux and qtdemux) and opusdec/opusenc. So should probably go in
libpbutils or libgstaudio?

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