Handle Gap events the way we used to handle segment updates
and advance/fill in the video stream accordingly. Fixes
'still' menus which aren't DVD still frames, but are just a
single frame with accompanying audio.
Clean up debug code for drawing highlight rects which wasn't even
compiling previously.
TODO: might be nice if this could be controlled by properties or
env variables to make it possible to enable the debug code at
runtime.
https://bugzilla.gnome.org/show_bug.cgi?id=667223
Conflicts:
gst/dvdspu/gstspu-vobsub-render.c
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 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=620119
Remove the android/ top dir
Fixe the Makefile.am to be androgenized
To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
Move include directives for gst-libs into GST_PLUGINS_BAD_CFLAGS,
and fix all the Makefiles that use it. This is so that all the
include directories are added in the proper order: first the
directories in srcdir/builddir, then gst-plugins-base dirs, then
gstreamer dirs. If the order is wrong, installed headers may be
used instead of local headers and/or uninstalled headers from -base.
Improve (slightly) the interpretation of PGS set-window blocks
to avoid printing warnings about unused bytes when there are multiple
window definitions.
Fix the rendering when we hit the right hand side of the display
area, by resetting to the correct X coordinate, and add some more
guards against bad PGS data.
Use G_GSSIZE_FORMAT for printing pointer differences, which should work on
both 32-bit and 64-bit systems.
Use GST_ERROR instead of g_warning for printing messages about unknown
packet contents.
Refactor the DVD subpicture compositing, switching it to 8-bit alpha
calculations. Reuse some of the resulting code to implement PGS
subpicture blending.
Implement parsing and collecting of composition objects properly, but
assuming a single active window and colour palette for now. I need more
PGS samples.
Add setcaps logic on the subpicture sink pad for configuring
which subpicture format is arriving.
Add the first piece of PGS subpicture handling by dumping the stream
contents out to the terminal as the packets arrive.
Add some more debug.
Don't calculate the running time for our subpicture packets twice,
once is enough.
When entering a still frame generates an updated buffer, make sure
to push it out, otherwise we may not put a frame onscreen with a
rendered button, causing raciness as to whether buttons get drawn
or not when jumping back to the menu on some discs.
Make sure to push the frame for a still frame, with discont = true and
timestamp=none, so that it gets displayed by the sink. Also, don't leak
each rendered video frame during still menus.
Original commit message from CVS:
* ext/resindvd/gstmpegdemux.c:
Remove whitespace line.
* ext/resindvd/resindvdbin.c:
* ext/resindvd/resindvdbin.h:
Make it so that audio/video pads aren't added to the bin
until after data flow starts.
* ext/resindvd/resin-play:
Move video buffer queue outside resindvdbin
* ext/resindvd/resindvdsrc.c:
Check that the nav_clock_id didn't already get unscheduled.
* gst/dvdspu/gstdvdspu.c:
Remove assert that sometimes triggers erroneously.
Original commit message from CVS:
* ext/resindvd/resindvdbin.c:
Parse the URI argument into the device name so dvd:///path/to/image
works.
* ext/resindvd/resindvdsrc.c:
Implement a trivial duration query reporting the current PGC length.
* gst/dvdspu/gstdvdspu.c:
Rename typo in the function name.
Original commit message from CVS:
* configure.ac:
Check for libdvdnav to build resindvd.
* ext/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/resindvd/gstmpegdefs.h:
* ext/resindvd/gstmpegdemux.c:
* ext/resindvd/gstmpegdemux.h:
* ext/resindvd/gstmpegdesc.c:
* ext/resindvd/gstmpegdesc.h:
* ext/resindvd/gstpesfilter.c:
* ext/resindvd/gstpesfilter.h:
* ext/resindvd/plugin.c:
* ext/resindvd/resin-play:
* ext/resindvd/resindvdbin.c:
* ext/resindvd/resindvdbin.h:
* ext/resindvd/resindvdsrc.c:
* ext/resindvd/resindvdsrc.h:
* ext/resindvd/rsnaudiomunge.c:
* ext/resindvd/rsnaudiomunge.h:
* ext/resindvd/rsnbasesrc.c:
* ext/resindvd/rsnbasesrc.h:
* ext/resindvd/rsnpushsrc.c:
* ext/resindvd/rsnpushsrc.h:
* ext/resindvd/rsnstreamselector.c:
* ext/resindvd/rsnstreamselector.h:
First commit of DVD-Video playback component 'rsndvdbin'
and helper elements.
Use --enable-experimental for now, but feel free to give it a
try using the resin-play script.
* gst/dvdspu/gstdvdspu.c:
Add some extra guards for malformed events.
Original commit message from CVS:
* gst/dvdspu/gstdvdspu.c: (gst_dvd_spu_handle_new_spu_buf):
Set n_line_ctrl_i to 0 whenever we free line_ctrl_i. Patch based
on an idea by Jan Schmidt, fixes bug #516436.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
Update lists again. Those whole can build ivorbisdec, mythtvsrc,
nvudemux and theoradecexp, please commit the inspect/plugin-xxx.xml.
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-rawparse.xml
* docs/plugins/inspect/plugin-videoparse.xml:
Replace videoparse with rawparse.
* gst/dvdspu/gstdvdspu.h:
Help gtk-doc to recognize the object struct.
Original commit message from CVS:
* gst/dvdspu/gstdvdspu-render.c: (gst_dvd_spu_render_spu):
* gst/dvdspu/gstdvdspu.c: (dvdspu_debug), (GST_CAT_DEFAULT),
(subpic_sink_factory), (gst_dvd_spu_base_init),
(gst_dvd_spu_class_init), (gst_dvd_spu_init), (gst_dvd_spu_clear),
(gst_dvd_spu_dispose), (gst_dvd_spu_finalize),
(gst_dvd_spu_flush_spu_info), (gst_dvd_spu_buffer_alloc),
(gst_dvd_spu_src_event), (gst_dvd_spu_video_set_caps),
(gst_dvd_spu_video_proxy_getcaps), (gst_dvd_spu_video_event),
(gst_dvd_spu_video_chain), (dvspu_handle_vid_buffer),
(gst_dvd_spu_redraw_still), (gst_dvd_spu_parse_chg_colcon),
(gst_dvd_spu_exec_cmd_blk), (gst_dvd_spu_finish_spu_buf),
(gst_dvd_spu_setup_cmd_blk), (gst_dvd_spu_handle_new_spu_buf),
(gst_dvd_spu_handle_dvd_event), (gst_dvd_spu_advance_spu),
(gst_dvd_spu_check_still_updates), (gst_dvd_spu_subpic_chain),
(gst_dvd_spu_subpic_event), (gst_dvd_spu_change_state),
(gst_dvd_spu_plugin_init):
* gst/dvdspu/gstdvdspu.h: (GST_TYPE_DVD_SPU):
Fix up dvdspu element again after previous namespace mangling:
rename debug category variable to old name, matching that in
dvdspu-render.c, to avoid undefined symbol error when loading
the module; same for the _render function in dvdspu-render.c:
we must use the same name in both .c files; change functions
now called gstgst_* back to gst_* again; and while we're at it,
we may as well canonicalise the namespace properly, namely to
gst_dvd_spu_*.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
Add symbols from -unused.txt to the right place.
* gst/dvdspu/gstdvdspu.c:
* gst/dvdspu/gstdvdspu.h:
Coherent namespace usage.
* gst/spectrum/gstspectrum.c:
Fix broken XML fragment in doc snippet even more.
Original commit message from CVS:
Patch by: Richard Hult <richard imendio com>
* gst/dvdspu/Makefile.am:
Fix LIBS - we need to link against libgstreamer.