This speeds up rendering a fair bit by not requiring colorspace
conversion, whether there is anything to overlay or not.
The blending code was nicked from textoverlay. I would think
this might be a helpful thing to put in, say, libgstvideo at
some point.
https://bugzilla.gnome.org/show_bug.cgi?id=660528
http://dvd.sourceforge.net/spu_notes does not mention that high bits
are to be masked, and not clearing them makes a sample work, where
clearing them yielded left > right.
History from the dvdspu plugin, from where this code was copied,
does not shed any light, as tracing this code's origin shows
the same bitmasks being there in 2007 when it was imported.
https://bugzilla.gnome.org/show_bug.cgi?id=657091
Sync both pads by waiting in the kate chain function.
Do not reset our internal segment from segment updates, in order
to be able to map video running time to kate running time, to
give libtiger the timestamp it expects. This allows us to use
running time to sync to video, which is The Right Way.
https://bugzilla.gnome.org/show_bug.cgi?id=600929
Don't leak source caps. Use GST_PTR_FORMAT to log caps, so
we don't need to leak strings from gst_caps_to_string().
No need to use GST_DEBUG_FUNCPTR for vfuncs where the base
class will never look them up (like property getters/setters).
Don't use g_return_*_if_fail() for things that aren't directly
programming errors (by the application developer).
Fixes kate unit test under valgrind.
When Totem switches streams, tiger will be reset, and start receiving
buffers from the middle of the stream, without being sent headers.
If this happens, try to get headers from the caps.
https://bugzilla.gnome.org/show_bug.cgi?id=638004
Don't escape special characters, as we'll send the buffer as
text/plain rather than text/x-pango-markup; this avoids e.g.
quotes from appearing as " in the rendered subtitles.
See bug #600929.
Print flow return as string in log message; if we check the return
value of gst_buffer_new_and_alloc() we should use the _try() function
that might actually return NULL. Post error message when returning
GST_FLOW_ERROR. Use portable GLib macros to print 64-bit integers.
Don't use 0LL, that's also not portable (and unneeded here).
Only put primary language into GST_TAG_LANGUAGE, and convert to lower case,
ie. only use "en" of "en_GB". This is per our tag documentation and hence
what apps expect. Also add example to kateenc property description so people
know a language code is wanted here.