[Bug 678742] [0.11] [API] GstToc API review

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jun 28 05:42:35 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=678742
  GStreamer | gstreamer (core) | 0.11.x

--- Comment #7 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2012-06-28 12:42:34 UTC ---
Another thing I was wondering is how the toc event is supposed to be used or
where it is useful.

I saw that in matroskamux the toc event is basically handled like taglists and
simply used as an alternative TOC if one hasn't been set by GstTocSetter. I'm
not sure that's right.

For example: Let's say I have a pipeline that encodes an audio track, like
this:

   gst-launch-1.0 cdparanoiasrc track=1 ! audioconvert ! encoder ! matroskamux
! filesink

The cdparanoiasrc will create a TOC on start, and post a TOC message on the bus
(so far so great). Now the question is: should it also push a TOC event
downstream? I don't think matroskamux should create a TOC from that info, since
it's just one single track that's being muxed here.

On the other hand, imagine

   gst-launch-1.0 dvdreadsrc title=1 ! encoder ! matroskamux ! filesink

It would totally make sense for matroskamux to write the chapter information as
TOC in the file. The problem is just that the TOC contains all the info for the
other titles too.

So I think what we need is either

a) a way for the muxer to tell what position/entry the current stream
represents in the TOC hierarchy (top-level, or title/track/uid N)

b) for the source to generate a different stream/title-specific TOC and send
that as event downstream (so dvdreadsrc would send a TOC with the chapter info,
but cdparanoiasrc would not send a TOC at all).

In general, I wonder how the whole TocSetter/muxer thing is supposed to work...
- is it right that a matroska file should only contain a TOC if it contains
multiple tracks, say? (or multiple chapters for a movie)

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