[Gstreamer-bugs] [Bug 143222] New: - [oggdemux] Optimize tag reading

bugzilla-daemon at bugzilla.gnome.org bugzilla-daemon at bugzilla.gnome.org
Wed May 26 10:14:12 PDT 2004


http://bugzilla.gnome.org/show_bug.cgi?id=143222
GStreamer | gst-plugins | Ver: HEAD CVS

           Summary: [oggdemux] Optimize tag reading
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins
        AssignedTo: gstreamer-maint at bugzilla.gnome.org
        ReportedBy: johan at gnome.org
         QAContact: gstreamer-maint at bugzilla.gnome.org


When using a pipeline like this: filesrc ! oggdemux ! vorbistag ! fakesink
(which is useful for tag reading), oggdemux first reads the whole file and then
seeks back to the beginning before pushing and buffers to vorbistag. This makes
it take approximately 2000 iterations (and 200 ms on my box) before vorbistag
even can see the tags!

It doesn't matter a lot for playing the file, 200 ms is acceptable (but not
optimal) but for something like tag reading when importing your whole database,
this is quite critical for performance.

A solution which was mentioned by Benjamin on irc involves checking the first
page of the stream and save the serial number, then seek to the end without
reading all the pages and find the last page and compare the serial number of
the oggstream and read the length (by calling ogg_page_granulepos) and seek back
to the beginning and push the tags.

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the QA contact for the bug, or are watching the QA contact.




More information about the Gstreamer-bugs mailing list