summaryrefslogtreecommitdiffstats
path: root/ext/resindvd/gstmpegdemux.c
AgeCommit message (Collapse)AuthorFilesLines
2009-05-27resindvd: Create all the audio streams of all formatsJan Schmidt1-6/+11
Enable creation of the demuxer pads for all audio streams, even types we don't yet support. This means that unsupported types (LPCM, DTS) are output, but not linked to anything yet. If only unsupported streams are available, the user hears silence instead of having the pipeline not pre-roll correctly. This is a prerequisite for hooking up the automatic decoder switching.
2009-05-26resindvd: LPCM streams are only from 0xa0 to 0xaf.Jan Schmidt1-1/+1
Fix the same bug as the previous commit, but in resindvd's copy of mpegdemux.
2009-05-26resindvd: Fix subpicture timing in some casesJan Schmidt1-1/+3
Make sure we send events to all pads. Unmark the notlinked flag on freshly selected pads to ensure they get data.
2009-05-26resindvd: Try a different approach to segment filling.Jan Schmidt1-13/+19
Restore the old segment update behaviour, and instead extend the close segment stop time if the SCR (last_stop) overruns the calculated stop position.
2009-05-26resindvd: Minor change to inline a function in the demuxerJan Schmidt1-1/+1
2009-05-14resindvd: Make segment updates less aggressive.Jan Schmidt1-13/+25
When updating a pad, send the update to half a second behind the SCR, which avoids ever updating the start time for a pad to beyond the end of the cell. Also, remember the last actual new-segment start time for each pad, and use it when closing the segment.
2009-05-11resindvd: Modify the segment update logicJan Schmidt1-2/+10
Send segment updates to the audio and subpicture pads more frequently, but less often to the video pad, where timestamps appear less often. This helps with gap filling on some DVDs.
2009-04-29resindvd: Convert some g_print to GST_LOG_OBJECT and friends, remove some othersJan Schmidt1-16/+12
Trim down the g_print verbosity.
2009-04-29resindvd: Remove redundant modulo operation in the demuxerJan Schmidt1-1/+1
2009-04-29resindvd: Map audio and subpicture logical streams to physical.Jan Schmidt1-6/+19
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: Add some debug when creating the output pads in the demuxerJan Schmidt1-2/+15
2008-09-27ext/resindvd/: Add in Title/Chapter seeking, and simple but buggy audio and ↵Jan Schmidt1-5/+84
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-07-14ext/resindvd/gstmpegdemux.c: Remove whitespace line.Jan Schmidt1-1/+0
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-5/+23
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-17configure.ac: Check for libdvdnav to build resindvd.Jan Schmidt1-0/+1943
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.