[Bug 639055] discoverer: add support for subtitle streams

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Aug 24 02:54:13 PDT 2011


https://bugzilla.gnome.org/show_bug.cgi?id=639055
  GStreamer | gst-plugins-base | git

--- Comment #5 from Vincent Penquerc'h <vincent.penquerch at collabora.co.uk> 2011-08-24 09:54:00 UTC ---
> Looks good but with the language code problem you mean that you don't get any
> language at all for the subtitle streams, i.e. info->language is always NULL?

Correct. The tags appear to be on another related pad, as there is a chain
created by decodebin, and the way it's all setup still eludes me fully.
The tags are there *somewhere* though, including the language-code tag with the
correct language, it's just an issue of working out just how to get to it.

> g_free() is NULL-safe

Yes, all the other cleanup code was testing for NULLness, including g_free
calls. I went along with that too, but I don't mind either way.

> ::: gst-libs/gst/pbutils/gstdiscoverer.c
> @@ +447,3 @@
>          "subpicture/x-pgs; subpicture/x-dvb; application/x-subtitle-unknown; "
>          "application/x-ssa; application/x-ass; subtitle/x-kate; "
> +        "application/x-kate; video/x-dvd-subpicture; ");
> 
> Ideally you would make this a separate commit

OK.

> @@ +831,3 @@
>                g_str_has_prefix (name1, "image/")) &&
> +          g_str_has_prefix (name2, "video/x-raw")) ||
> +      (g_str_has_suffix (name1, "/x-kate"))) {
> 
> Why?

Ah, that does warrant an explanation indeed.
Originally, the Kate plugin output text via katedec, and overlaid the stream on
video via tiger. It was requested that katedec, when getting images, be able to
output DVD subpctures (so it'd work with things like dvdspu).
So without considering Kate streams as final, decodebin will plug in a DVD SPU
decoder, and consider that the stream is actually video
(video/x-dvd-subpicture), which is true in a sense, but not what we want here.

I can make that one a separate commit with that explanation as well, or include
the explanation in the code and leave in the same commit, whichever you prefer.

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