[Bug 671136] mpegtsmux: add support for SDT and NIT tables for DVB-S/DVB-T

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Oct 28 12:15:23 CET 2013


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

--- Comment #11 from Jesper Larsen <jesper.larsen at ixonos.com> 2013-10-28 11:15:17 UTC ---
(In reply to comment #10)
> (In reply to comment #9)
> > > How will we handle multiple sections ?
> > 
> > Excellent question. This seems to be something that should be handled outside
> > the library?
> > 
> > With the addition of the section_packetizer I guess there is the possibility of
> > making the user responsible of updating the public
> > section_number/last_section_number fields in the GstMpegTsSection?
> 
>   Or we could accept sections bigger than the limit (1024) and automatically
> create multiple sections (with the (last_)section_number fields correctly set)
> ? But then it would break the 1:1 relationship between parsed stuff and
> sections.

That sounds like the ideal solution. We could introduce a wrapper layer that
encapsulates all the sections. Meaning that we have i.e. GstMpegTsNITable which
will contain an array of the GstMpegTsNITSection that makes up the entire NIT?

> 
> 
> malloc-ing and memcpy-ing once again seems overkill.
> 
> We should just create the final entire section once. So maybe we do need to
> delay the packetization of the section-specific data to that point in time.
> 
> Store a packetize vfunc in GstMpegTSSection and use that one when we really
> need the fully packetized value ?

I like that idea. We can make a generic internal function to serialize the
common part of the section, and then based on the section type serialize the
information in cached_parsed.

We just need to make sure that we don't need to serialize a section that has
been created with gst_mpegts_section_new and hasn't been parsed.

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