summaryrefslogtreecommitdiffstats
path: root/gst/dvdspu/gstdvdspu.c
AgeCommit message (Collapse)AuthorFilesLines
2009-06-19Make build without warnings with debugging disabledTim-Philipp Müller1-3/+2
2009-05-26gstspu: Implement PGS rendering and alpha blendingJan Schmidt1-129/+97
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.
2009-05-26dvdspu: Move a bunch of vobsub specific logic to a separate file.Jan Schmidt1-339/+2
Start separating out the vobsub logic in preparation for creating separate renderer objects for each subpicture format.
2009-05-26dvdspu: Collect entire PGS packets and queue as eventsJan Schmidt1-11/+56
Collect fragmented PGS packets and submit as complete events for processing at the correct moment.
2009-05-26dvdspu: Add simple PGS handler that dumps the packet infoJan Schmidt1-72/+144
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.
2009-05-26dvdspu: Add a simple default colour table.Jan Schmidt1-0/+8
When we're not provided with a palette in advance, draw with a grey colour or two, instead of YUV green.
2009-05-26dvdspu: Don't accidentally lose the colour palette when flushing the SPUJan Schmidt1-9/+16
Fixes racy startup on DVDs where it sometimes gets entirely the wrong set of colours in the menus and subtitles.
2009-05-14dvdspu: Push update frame, if any, when entering stills.Jan Schmidt1-0/+7
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.
2009-05-11dvdspu: Make the debugging output a bit clearer.Jan Schmidt1-5/+10
Display more info about custom DVD events in the debug messages.
2009-05-11dvdspu: Always push a frame at the start of a still frame, and fix a leak.Jan Schmidt1-10/+24
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.
2009-04-30dvdspu: don't EOS when the subtitle got EOSWim Taymans1-0/+6
Don't forward the EOS on the subtitle pad as the video might still be running.
2009-04-02dvdspu: Add some debugJan Schmidt1-4/+10
Add a little bit of extra debug. Wrap a hardcoded #if 0 into a define instead.
2008-07-14ext/resindvd/gstmpegdemux.c: Remove whitespace line.Jan Schmidt1-1/+1
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.
2008-06-17ext/resindvd/resindvdbin.c: Parse the URI argument into the device name so ↵Jan Schmidt1-4/+4
dvd:///path/to/image works. 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.
2008-06-17configure.ac: Check for libdvdnav to build resindvd.Jan Schmidt1-0/+10
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.
2008-06-13docs/plugins/: docs/plugins/inspect/plugin-mythtv.xmlStefan Kost1-9/+5
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: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/gst-plugins-bad-plugins.prerequisites: * docs/plugins/gst-plugins-bad-plugins.signals: * docs/plugins/inspect/plugin-alsaspdif.xml: * docs/plugins/inspect/plugin-amrwb.xml: * docs/plugins/inspect/plugin-app.xml: * docs/plugins/inspect/plugin-bayer.xml: * docs/plugins/inspect/plugin-bz2.xml: * docs/plugins/inspect/plugin-cdaudio.xml: * docs/plugins/inspect/plugin-cdxaparse.xml: * docs/plugins/inspect/plugin-dtsdec.xml: * docs/plugins/inspect/plugin-dvb.xml: * docs/plugins/inspect/plugin-dvdspu.xml: * docs/plugins/inspect/plugin-faac.xml: * docs/plugins/inspect/plugin-faad.xml: * docs/plugins/inspect/plugin-fbdevsink.xml: * docs/plugins/inspect/plugin-festival.xml: * docs/plugins/inspect/plugin-filter.xml: * docs/plugins/inspect/plugin-flvdemux.xml: * docs/plugins/inspect/plugin-freeze.xml: * docs/plugins/inspect/plugin-gsm.xml: * docs/plugins/inspect/plugin-gstinterlace.xml: * docs/plugins/inspect/plugin-gstrtpmanager.xml: * docs/plugins/inspect/plugin-h264parse.xml: * docs/plugins/inspect/plugin-interleave.xml: * docs/plugins/inspect/plugin-jack.xml: * docs/plugins/inspect/plugin-ladspa.xml: * docs/plugins/inspect/plugin-metadata.xml: * docs/plugins/inspect/plugin-mms.xml: * docs/plugins/inspect/plugin-modplug.xml: * docs/plugins/inspect/plugin-mpeg2enc.xml: * docs/plugins/inspect/plugin-mpeg4videoparse.xml: * docs/plugins/inspect/plugin-mpegtsparse.xml: * docs/plugins/inspect/plugin-mpegvideoparse.xml: * docs/plugins/inspect/plugin-musepack.xml: * docs/plugins/inspect/plugin-musicbrainz.xml: * docs/plugins/inspect/plugin-mve.xml: * docs/plugins/inspect/plugin-mythtv.xml * docs/plugins/inspect/plugin-nas.xml: * docs/plugins/inspect/plugin-neon.xml: * docs/plugins/inspect/plugin-nsfdec.xml: * docs/plugins/inspect/plugin-nuvdemux.xml: * docs/plugins/inspect/plugin-oss4.xml * docs/plugins/inspect/plugin-rawparse.xml: * docs/plugins/inspect/plugin-real.xml: * docs/plugins/inspect/plugin-replaygain.xml: * docs/plugins/inspect/plugin-rfbsrc.xml: * docs/plugins/inspect/plugin-sdl.xml: * docs/plugins/inspect/plugin-sdp.xml: * docs/plugins/inspect/plugin-selector.xml: * docs/plugins/inspect/plugin-sndfile.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-spcdec.xml: * docs/plugins/inspect/plugin-speed.xml: * docs/plugins/inspect/plugin-speexresample.xml: * docs/plugins/inspect/plugin-stereo.xml: * docs/plugins/inspect/plugin-subenc.xml * docs/plugins/inspect/plugin-timidity.xml: * docs/plugins/inspect/plugin-tta.xml: * docs/plugins/inspect/plugin-vcdsrc.xml: * docs/plugins/inspect/plugin-videosignal.xml: * docs/plugins/inspect/plugin-vmnc.xml: * docs/plugins/inspect/plugin-wildmidi.xml: * docs/plugins/inspect/plugin-x264.xml: * docs/plugins/inspect/plugin-xvid.xml: * docs/plugins/inspect/plugin-y4menc.xml: * ext/amrwb/gstamrwbdec.c: * ext/amrwb/gstamrwbenc.c: * ext/amrwb/gstamrwbparse.c: * ext/dc1394/gstdc1394.c: * ext/directfb/dfbvideosink.c: * ext/ivorbis/vorbisdec.c: * ext/jack/gstjackaudiosink.c: * ext/mpeg2enc/gstmpeg2enc.cc: * ext/mplex/gstmplex.cc: * ext/musicbrainz/gsttrm.c: * ext/mythtv/gstmythtvsrc.c: * ext/theora/theoradec.c: * ext/timidity/gsttimidity.c: * ext/timidity/gstwildmidi.c: * gst-libs/gst/app/gstappsink.c: * gst/deinterlace/gstdeinterlace.c: * gst/dvdspu/gstdvdspu.c: * gst/festival/gstfestival.c: * gst/freeze/gstfreeze.c: * gst/interleave/deinterleave.c: * gst/interleave/interleave.c: * gst/modplug/gstmodplug.cc: * gst/nuvdemux/gstnuvdemux.c: Add missing elements to docs. Fix doc-markup: use convinience syntax for examples (produces valid docbook), add several refsec2 when we have several titles. Fix some types.
2008-02-14gst/dvdspu/gstdvdspu.c: Set n_line_ctrl_i to 0 whenever we free line_ctrl_i. ↵Sebastian Dröge1-0/+1
Patch based on an idea by Jan Schmidt, f... 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.
2008-01-21gst/dvdspu/: Fix up dvdspu element again after previous namespace mangling: ↵Tim-Philipp Müller1-86/+87
rename debug category variable to old nam... 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_*.
2008-01-21docs/plugins/: Add symbols from -unused.txt to the right place.Stefan Kost1-91/+95
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.
2007-09-24Massive leak fixing, plus code cleanups.Stefan Kost1-38/+61
Original commit message from CVS: * ext/audioresample/gstaudioresample.c: * ext/x264/gstx264enc.c: * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: * gst/festival/gstfestival.c: * gst/h264parse/gsth264parse.c: * gst/mpegtsparse/mpegtspacketizer.c: * gst/mpegtsparse/mpegtsparse.c: * gst/multifile/gstmultifilesink.c: * gst/multifile/gstmultifilesrc.c: * gst/nuvdemux/gstnuvdemux.c: * sys/dshowsrcwrapper/gstdshowaudiosrc.c: * sys/dshowsrcwrapper/gstdshowvideosrc.c: * sys/vcd/vcdsrc.c: Massive leak fixing, plus code cleanups.
2007-08-28gst/dvdspu/gstdvdspu.c: Don't need this include (fixes compilation in ↵Tim-Philipp Müller1-1/+0
uninstalled setup). Original commit message from CVS: * gst/dvdspu/gstdvdspu.c: Don't need this include (fixes compilation in uninstalled setup).
2007-08-27dvdspu element donated by Fluendo. It implements a DVD Sub-PictureJan Schmidt1-0/+1376
Original commit message from CVS: * configure.ac: * gst/dvdspu/.cvsignore: * gst/dvdspu/Notes.txt: * gst/dvdspu/gstdvdspu-render.c: (dvdspu_recalc_palette), (dvdspu_update_palettes), (dvdspu_clear_comp_buffers), (dvdspu_get_nibble), (dvdspu_get_rle_code), (dvdspu_draw_rle_run), (rle_end_x), (dvdspu_render_line), (dvdspu_update_chgcol), (dvdspu_render_line_with_chgcol), (dvdspu_blend_comp_buffers), (gstdvdspu_render_spu): * gst/dvdspu/gstdvdspu.c: (dvdspu_base_init), (dvdspu_class_init), (dvdspu_init), (dvdspu_clear), (dvdspu_dispose), (dvdspu_finalize), (dvdspu_flush_spu_info), (dvdspu_buffer_alloc), (dvdspu_src_event), (dvdspu_video_set_caps), (dvdspu_video_proxy_getcaps), (dvdspu_video_event), (dvdspu_video_chain), (dvspu_handle_vid_buffer), (dvdspu_redraw_still), (gstdvdspu_parse_chg_colcon), (dvdspu_exec_cmd_blk), (dvdspu_finish_spu_buf), (dvdspu_setup_cmd_blk), (dvdspu_handle_new_spu_buf), (dvdspu_handle_dvd_event), (dvdspu_dump_dcsq), (dvdspu_advance_spu), (dvdspu_check_still_updates), (dvdspu_subpic_chain), (dvdspu_subpic_event), (dvdspu_change_state), (gstdvdspu_plugin_init): * gst/dvdspu/gstdvdspu.h: dvdspu element donated by Fluendo. It implements a DVD Sub-Picture Unit, decoding and overlaying DVD subtitles and menu graphics. * gst/mpeg2sub/.cvsignore: * gst/mpeg2sub/Makefile.am: * gst/mpeg2sub/Notes.txt: * gst/mpeg2sub/gstmpeg2subt.c: * gst/mpeg2sub/gstmpeg2subt.h: * gst/mpeg2sub/mpeg2subt.vcproj: Delete old and broken mpeg2subt element that was never ported from 0.8