[gstreamer-bugs] [Bug 343348] [matroska] add support for vobsub subtitles

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Aug 4 10:41:03 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=343348
 GStreamer | gst-plugins-good | Ver: 0.10.6





------- Comment #2 from Frédéric Riss  2006-08-04 17:40 UTC -------
Created an attachment (id=70211)
 --> (http://bugzilla.gnome.org/attachment.cgi?id=70211&action=view)
Patch implementing VOBSUB support in matroska-demux

Find a first attempt at this in the attached patch. This is my first Gstreamer
code, I'd appreciate comments.

Vobsubs might be compressed in the matroska file. Thus this patch not only adds
support for VOBSUB subtitles, but also for zlib compressed blocks. 
A little hunk of the patch also uses the REFERENCEBLOCK data to skip non-key
frames while seeking. This makes the life of the video and audio decoders
easier (in my case, the ffmpeg XVid decoder emited a lot of warnings while
seeking).

Something important to note: this patch is useless until someone fixes the
dvdsubdec element to actually display the subtitles :-). The only thing that it
will get you right now is SPU commands executed by dvdsubdec that you'll see in
the element's debug output.

One last thing: while seeking with the patch applied, I get crashes in
dvdsubdec. From time to time (but always while seeking), the element executes
gst_dvd_sub_dec_merge_title() with a NULL dec->partialbuf. I don't know if it's
an issue in dvdsubdec or in my patch, any idea?

2006-08-04  Frederic Riss <frederic.riss at gmail.com>

        * gst/matroska/matroska-ids.h: New defines for CONTENTENCODINGS 
        support and VOBSUB.
        (struct _GstMatroskaTrackContext): Add encodings field.
        * gst/matroska/matroska-demux.c (subtitle_src): Add mime type for
        VOBSUB support.
        (gst_read_track_encodings): New function.
        (gst_matroska_demux_add_stream): Handle 
        GST_MATROSKA_ID_CONTENTENCODINGS.
        (gst_matroska_decode_buffer): New function.
        (gst_matroska_demux_parse_blockgroup_or_simpleblock): Handle
        GST_MATROSKA_ID_REFERENCEBLOCK.
        (gst_matroska_demux_subtitle_caps): Handle 
        GST_MATROSKA_CODEC_ID_SUBTITLE_VOBSUB.




-- 
Configure bugmail: http://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