Guidance while adding Closed Caption (CEA-708) support

Steve Maynard steve at
Wed Jul 3 09:22:46 PDT 2013

The group I'm working with has created an element that accepts MPEG user
data on its sink pad and dissects and compiles that data into CEA-708 CC
packets/commands and further digests this information into WebVTT(text/vtt)
output on its source pad.

During development I created a bin with a tee and queues that processed in
parallel with mpegtsdemux and generated the MPEG user data output with a
new mime-type of video/user-data.  The new CC element auto plugged to this
output and all was well.  In an attempt to move this code closer to
something acceptable to the GStreamer community, I have moved the CC
element down into plugins-bad and I had thought I would patch mpegtsdemux
to add a new source pad, however mpegtsdemux does not dig deep enough into
the video packets to obtain the user data.  It appears that mpegvideoparse
however does.  I was planning on modifying mpegvparse, but that would
violate its purpose as a parser (adding another output pad).  (apologies
for the long-winded set-up for my question)

Should I modify mpegvparse to add "user data" to its out-bound caps and
then add another demuxer of-sorts to split out the user data stream for the
new CC element?  Or is there yet a better way that currently eludes me?

Steve Maynard

Steve Maynard
Principal Engineer & Partner

Second Stryke Services LLC
8405 West 68th Place
Arvada, CO 80004

303.648.4094 x22 Voice
303.960.6749     Mobile
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list