summaryrefslogtreecommitdiffstats
path: root/ext/resindvd
AgeCommit message (Collapse)AuthorFilesLines
2009-07-13resindvd: Don't send empty language code stringsJan Schmidt1-3/+5
Ignore empty language codes on some poorly coded DVDs, rather than setting empty strings into our outgoing taglist.
2009-06-19Make build without warnings with debugging disabledTim-Philipp Müller1-2/+1
2009-05-27resindvd: Create all the audio streams of all formatsJan Schmidt4-10/+20
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: Fix the argument order in a debug statementJan Schmidt1-4/+6
Make the debug statement correctly show the 'old' and 'new' button coordinates, instead of the wrong way around.
2009-05-14resindvd: Make segment updates less aggressive.Jan Schmidt2-13/+26
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-14resindvd: Rework button highlight calculation slightlyJan Schmidt1-20/+21
When the current button number is higher than the number of available buttons, switch to the highest numbered button rather than the lowest. Also, don't throw errors when we fail to retrieve some button info from libdvdnav, just reset the highlight.
2009-05-14resindvd: Send commands-changed on button change and handle commands queryJan Schmidt2-5/+92
Send the commands-changed navigation message when the set of available DVD menu button actions changes, and handle the commands navigation query so that (e.g.) Totem can know about the available navigation commands.
2009-05-14resindvd: Fix a leak of the DVD title stringJan Schmidt1-0/+1
2009-05-14resindvd: Fix raciness in rsndvdbin when initially creating padsJan Schmidt2-12/+17
Protect pad exposure with a preroll lock to avoid situations where no-more-pads is fired more than once, or fired just before the last pad is actually added.
2009-05-11resindvd: Modify the segment update logicJan Schmidt2-2/+11
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-05-11resindvd: Increase the amount of filler audio generatedJan Schmidt1-2/+2
When creating a filler audio buffer in rsnaudiomunge, generate a bit more, as audio sinks don't seem to preroll otherwise. This needs a better algorithm in general, to intelligently fill the gap, rather than hard-coding a value.
2009-05-11resindvd: Manage timed still sequences betterJan Schmidt2-20/+54
Make timed still frames work better by extending the current segment when needed, and restarting the still sequence with the correct remaining duration when the wait it interrupted by activation of a highlight NAV packet.
2009-05-11resindvd: Change the audiomunge debug output.Jan Schmidt1-24/+27
Make sure we always show information about the segment events passing through, even when pre-roll audio buffers aren't going to be needed.
2009-05-11resindvd: Rename the audio munger debug categoryJan Schmidt1-2/+2
Rename a debug category: rsn_audiomunge -> rsnaudiomunge.
2009-05-11resindvd: Ensure we send a title tag in the first play section.Jan Schmidt1-37/+42
2009-05-11resindvd: Simplify some stuff. Remove an unnecessary LOG message.Jan Schmidt1-6/+6
Skip attempting to schedule a nav block unless we're in PLAYING. Take a lock slightly later, when we actually need it. Remove a noisy LOG message.
2009-05-11resindvd: Remove per-menu description from the TITLE tagJan Schmidt1-11/+1
The part number reported while in a menu doesn't reflect the selected menu, so it's pointless to use it to report which menu we're in (Audio, Angle etc). Just report "DVD Menu" in the title tag instead.
2009-05-11resindvd: Send title info message when current angle is switched.Jan Schmidt2-5/+10
Make sure we send an update title tag when the current angle or available angles changes.
2009-05-11resindvd: Implement navigation command change message and queryJan Schmidt2-0/+73
Send messages when the available DVD navigation commands changes, and handle navigation commands and angles queries.
2009-05-06resindvd: Don't open all VTS ifo at the startJan Schmidt1-20/+33
Load each VTS ifo the first time the disc enters that VTS, rather than scanning them all at the start.
2009-05-06resindvd: Send a title tag when we change chapter/menu/angleJan Schmidt2-6/+76
Allow apps like Totem to display a nicer title that reflects the current position on the disc.
2009-05-06resindvd: Don't send highlight-reset messages when not neededJan Schmidt1-1/+1
Fix a small bug that results in the SPU highlight being reset more often than is necessary - ie, clearing it when it's already cleared.
2009-05-06resindvd: send angles-changed messages when appropriateJan Schmidt2-5/+57
When the current angle changes, or the number of available angles changes, send an angles-changed message to let the app know.
2009-05-06resindvd: Make the next/prev angle switching cycle at the endsJan Schmidt1-9/+25
When the current angle is 1 and prev_angle is requested, loop to the maximum angle and vice versa for next_angle
2009-04-29resindvd: Convert some g_print to GST_LOG_OBJECT and friends, remove some othersJan Schmidt4-36/+32
Trim down the g_print verbosity.
2009-04-29resindvd: Add DVDFASTSTART env var to making some testing easierJan Schmidt1-1/+7
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 Schmidt2-24/+70
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-03resindvd: require libdvdnav >= 4.1.2 for dvdnav_get_current_time()Tim-Philipp Müller1-12/+0
Fixes #577864.
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 Schmidt3-119/+246
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: Switch to using a hard-coded mpeg2dec, and change pad blocking a bit.Jan Schmidt2-16/+98
Change the pad blocking behaviour during startup, and use a hard-coded mpeg2dec (for the moment), in order to make things work with playbin2.
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: Add back in support for using hardcoded a52decJan Schmidt1-4/+11
2009-04-02resindvd: Add some debug when creating the output pads in the demuxerJan Schmidt1-2/+15
2009-04-02resindvd: More hacking on the audio decoder.Jan Schmidt1-35/+41
2009-04-02resindvd: Trim back the g_print debug - convert to GST_DEBUG and GST_LOGJan Schmidt1-22/+24
2009-04-02resindvd: Extend the Resin audio decoder element, and switch rsndvdbin to use itJan Schmidt3-12/+315
2009-04-02resindvd: First part of the re-plugging audio decoderJan Schmidt3-0/+198
2009-04-02resindvd: remove unused code path from the binJan Schmidt1-33/+1
2009-04-02resindvd: Indent some thingsJan Schmidt1-12/+12
2009-04-02resindvd: Switch GST_BOILERPLATE to G_DEFINE_TYPE for no real reason.Jan Schmidt2-26/+14
2009-04-02resindvd: Add faststart, and work around some multi-angle issuesJan Schmidt2-17/+106
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