[Webkit-unassigned] [Bug 103771] [GStreamer] support in-band text tracks

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 15 15:02:58 PDT 2013


--- Comment #57 from Brendan Long <b.long at cablelabs.com>  2013-07-15 15:03:36 PST ---
Here's a new patch that uses playbin.

I need two WebVTTParser patches to make this work:

  * Bug #118483 - WebVTTParser's identifier buffering can ignore subsequent lines
  * Bug #118687 - Make WebVTTParser return cue data instead of cue DOM objects

This only works with GStreamer >= 1.1.2, because we need the "text-stream-combiner" property and we need funnel to work in playbin. I do the checks at runtime though, so InbandTextTrackPrivateGStreamer and TextCombinerGStreamer are only built for GStreamer >= 1.0, and we only setup the stream combiner and callbacks when running against GStreamer >= 1.1.2.

TextCombinerGStreamer is a bin with a funnel. It adds "webvttenc" elements as needed to get WebVTT output (based on caps events). I initially tried to use 
"autoconvert", but it wouldn't link.

We use stream start events to determine which stream a cue belongs to, and watch for tag events to get the label and language (still need to add TAG_KIND for the "kind" attribute). I added labelChanged and languageChanged callbacks to InbandTextTrack.

This patch won't pass style because GLib's macros name init functions with underscores. That's the only style problem though.

It still needs some updates to the tests, and I'm having a problem where videos with multiple text tracks get cues slowly sometimes (I think stream synchronizer may be holding on to them too long?).

Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

More information about the webkit-unassigned mailing list