summaryrefslogtreecommitdiffstats
path: root/ext/resindvd/resindvdsrc.c
AgeCommit message (Collapse)AuthorFilesLines
2009-04-29resindvd: Convert some g_print to GST_LOG_OBJECT and friends, remove some othersJan Schmidt1-11/+12
Trim down the g_print verbosity.
2009-04-29resindvd: Add DVDFASTSTART env var to making some testing easierJan Schmidt1-1/+7
2009-04-29resindvd: Map audio and subpicture logical streams to physical.Jan Schmidt1-18/+51
The logical audio and subpicture stream number doesn't always correspond with the physical substream it is coming from. When configuring the demuxer pads, use the mapping table provided in each PGC to get the layout and ensure the demuxer creates the correct pads.
2009-04-02resindvd: Send both the logical and physical substream ID in the stream change.Jan Schmidt1-7/+12
When sending the stream change message(s) to the demuxer, also include the logical stream id along with the physical ID, so that the demuxer can remap logical->physical MPEG stream ID.
2009-04-02resindvd: Use new GstNavigation functionality.Jan Schmidt1-117/+239
Handle the new DVD commands, so that we can handle commands from a player to change angle, jump to menus etc. Use the new GstNavigation event parsing functions, instead of hand-rolled stuff. Send GstNavigation notification messages when the mouse enters a button or leaves it, so UI can turn the mouse cursor to a hand icon.
2009-04-02resindvd: Add newline to debug g_print statementJan Schmidt1-1/+1
2009-04-02resindvd: Make highlights work when jumping into menusJan Schmidt1-5/+13
Make the highlights re-appear correctly when jumping back into menus by making sure to set the flushing_seek flag for user-action initiated seeks. Fiddle some debug related to tracking down the issue.
2009-04-02resindvd: Support multiangle titles.Jan Schmidt1-2/+14
Add a workaround for an apparent libdvdnav bug where it loses nav packets during multiangle titles, and add some keypress bindings to switch the angle.
2009-04-02resindvd: Trim back the g_print debug - convert to GST_DEBUG and GST_LOGJan Schmidt1-22/+24
2009-04-02resindvd: Add faststart, and work around some multi-angle issuesJan Schmidt1-17/+104
Add a 'fast-start' property to the rsndvdsrc element, that attempts to jump directly to the DVD menu when starting. Doesn't work correctly on all titles yet. Add workarounds for issues with multiple angles in libdvdnav: Use a heuristic to avoid detecting discontinuities during multiple-angle titles, it seems caused by libdvdnav losing some NAV packets in multiangle titles. Fix seeking in multi-angle titles by aligning our sector calculation logic with libdvdnav's. Also, use libdvdnav's dvdnav_get_current_time() method to determine the logical position of the current cell when it changes, as the cell_start value in the cell_change event provides a number that doesn't compensate for angle cell blocks.
2009-04-02resindvd: Small debug output change in the source elementJan Schmidt1-1/+1
2009-01-09ext/resindvd/resindvdsrc.c: Additional patch for resin fixes time-based ↵Jan Schmidt1-21/+92
seeking in titles that don't start at sector ... Original commit message from CVS: * ext/resindvd/resindvdsrc.c: Additional patch for resin fixes time-based seeking in titles that don't start at sector 0 in the VTS, and fixes interpretation of the cell elapsed time, so that it reports the correct time after the seek completes. Really fixes #566957.
2009-01-08ext/resindvd/: Add support for time based seeking.Jan Schmidt1-5/+86
Original commit message from CVS: * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: * ext/resindvd/rsnaudiomunge.c: Add support for time based seeking. Make setting dvd:// reset to the default device. Make the 'audiomunge' element send any new segment start before the 'gap filler' buffer it generates, and any segment closes after. Fixes: #566957
2008-11-23ext/resindvd/resindvdsrc.c: Fix format string. Fixes bug #561992.Tal Shalif1-1/+1
Original commit message from CVS: Patch by: Tal Shalif <tshalif at nargila dot org> * ext/resindvd/resindvdsrc.c: (rsn_dvdsrc_prepare_streamsinfo_event): Fix format string. Fixes bug #561992.
2008-10-30ext/resindvd/resindvdsrc.*: Better fix for #546319 and similar cases by ↵Jan Schmidt1-20/+27
explicitly registering when we're in playing ... Original commit message from CVS: * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: Better fix for #546319 and similar cases by explicitly registering when we're in playing state or not.
2008-10-29ext/resindvd/resindvdsrc.c: Make sure to start the NAV packet processing ↵Jan Schmidt1-17/+27
when changing state to PLAYING by passing a... Original commit message from CVS: * ext/resindvd/resindvdsrc.c: Make sure to start the NAV packet processing when changing state to PLAYING by passing a flag that indicates the state change is in progress. Fixes: #546319
2008-10-07ext/resindvd/resindvdsrc.c: Fix next/prev chapter seeking at the beginning ↵Jan Schmidt1-4/+14
or end. Original commit message from CVS: * ext/resindvd/resindvdsrc.c: Fix next/prev chapter seeking at the beginning or end. Use 64-bit scaling utility functions for converting MPEG timestamps.
2008-09-27ext/resindvd/: Add in Title/Chapter seeking, and simple but buggy audio and ↵Jan Schmidt1-25/+151
subtitle stream selection. Original commit message from CVS: * ext/resindvd/gstmpegdemux.c: * ext/resindvd/gstmpegdemux.h: * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdsrc.c: * ext/resindvd/rsnstreamselector.c: Add in Title/Chapter seeking, and simple but buggy audio and subtitle stream selection.
2008-09-02Enable/fix up translations for these plugins.Tim-Philipp Müller1-2/+1
Original commit message from CVS: * ext/resindvd/plugin.c: (plugin_init): * ext/resindvd/resindvdsrc.c: * ext/twolame/gsttwolame.c: (plugin_init): * gst/aiffparse/aiffparse.c: (plugin_init): Enable/fix up translations for these plugins. * po/LINGUAS: Add 'ca' to LINGUAS. * po/POTFILES.in: * po/POTFILES.skip: Add more files for translation and more files which tools should skip.
2008-07-14ext/resindvd/gstmpegdemux.c: Remove whitespace line.Jan Schmidt1-2/+4
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-07-11docs/plugins/.cvsignore: Ignore *-undeclared.txtJan Schmidt1-59/+134
Original commit message from CVS: * docs/plugins/.cvsignore: Ignore *-undeclared.txt * ext/resindvd/rsnaudiomunge.c: Turn g_print's into debug statements. * ext/resindvd/resin-play: * ext/resindvd/Makefile.am: * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdbin.h: * ext/resindvd/rsnparsetter.c: * ext/resindvd/rsnparsetter.h: * ext/resindvd/rsnwrappedbuffer.c: * ext/resindvd/rsnwrappedbuffer.h: Add a bloated implementation of a really simple idea: Replace the pixel-aspect-ratio in the output video with a prescribed one when necessary. There must be an easier way. Split the dvdspu out of the resindvdbin and put out the subpicture stream on the subpicture pad. * ext/resindvd/gstmpegdemux.c: Send video-aspect events down the pipe from the demuxer. * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: Handle timed-stills somewhat using g_cond_timed_wait, with a FIXME to make it use clock-waiting later. * ext/resindvd/rsnbasesrc.c: Don't overwrite the last_stop in the basesrc segment after a seamless seek.
2008-06-20ext/resindvd/resindvdsrc.*: Schedule NAV packets and activate them with an ↵Jan Schmidt1-91/+401
async clock callback at the right moment. ... Original commit message from CVS: * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: Schedule NAV packets and activate them with an async clock callback at the right moment. This makes delayed menu highlights appear at the correct time and fixes Back To The Future. When outputting new segment in do_seek(), calculate our position value properly, so we report the right time when popping in and out of the menus. * ext/resindvd/rsnbasesrc.c: When handling a non-flushing seek, accumulate the segment, rather than having every seek start from 0 and messing with sync
2008-06-17ext/resindvd/resindvdbin.c: Parse the URI argument into the device name so ↵Jan Schmidt1-0/+33
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/+1426
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.