
| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 17 (100.0%) | 779 (100.0%) | 45.8 |
| jstebbins | 16 (94.1%) | 757 (97.2%) | 47.3 |
| van | 1 (5.9%) | 22 (2.8%) | 22.0 |
add dvd main feature title detection
scans the dvd menus and presses buttons to see where they might lead.
when a button press leads to a title, i check to see if it is the
longest seen thus far and save it's index.
this only applies when dvdnav is enabled. when dvdread is in use,
the longest title of all the titles is flagged as the "main feature"
137 lines of code changed in:
fix some dvdnav hangs
title changes seem to confuse the vm sometimes. so do a dvdnav_reset
whenever a title change is going to happen.
Also, fix dvdnav_reset since it would deadlock on a mutex when called.
25 lines of code changed in:
disable asserts in libdvdnav except when configured with --debug=max
dvdnav asserts on things are are almost never fatal. so lets not
crash on them.
4 lines of code changed in:
fix another MTR feature title extraction issue
jump instructions to titles which were removed by MTR caused asserts.
now such jump instructions just transition to the Exit state.
54 lines of code changed in:
a better patch for handling MTR missing menu scenario
The previous method was not very robust and we found corner cases that broke.
This new method explicitly checks for the existance of a menu whenever
the vm attempts to transition to a menu. If there is no menu, it enters
the Exit state.
110 lines of code changed in:
dvdnav: fix crash when poorly masterd disc has no menus
Mac The Ripper, when in "Main Feature Extraction" mode, likes to create
an image with no menus, but leaves navigation commands in place that jump
to the non-existing menu. libdvdnav doesn't like this much.
0 lines of code changed in:
dvdnav: improved patch that guarantees forward seek moves position forward
The previous patch worked only for SEEK_CUR. This patch is more general.
50 lines of code changed in:
dvdnav: read error recovery
- patch libdvdnav seek to guarantee the position will move forward when making
a seek request to a position that is after the current position
- when a read error is detected, seek forward and retry.
70 lines of code changed in:
build system: some changes that simplify things for packaging tools
- Add DESTDIR to install path for HandBrakeCLI
- Modify linux packaging rules for deb and rpm packages to use DESTDIR
- lingui: only update icon cache during install if DESTDIR is not set
- patch out the hardcoded install path for m4 macros in libdvdread and libdvdnav
when uid==0
28 lines of code changed in:
libdvdnav: add patch that moves reading title label below validity checks
this eliminates the garbage title information libdvdnav spewed to stderr
21 lines of code changed in:
- Handle titles that use more than one PGC (like the one in this thread: http://forum.handbrake.fr/viewtopic.php?f=5&t=10678&p=55575&hilit=genesis#p55620).
- Make pgcn_map local rather than static since there can be simultaneous scans from both GUI and queue service threads and statics aren't thread safe. Also make map 32 bytes since standard allows only 255 PGCs per title.
- Fix minor bugs in NextPgcn (used pgcn rather than next_pgcn so tested wrong bit) and dvdnav_seek (missing 'break' & extraneous 'while').
22 lines of code changed in:
dvdnav: improve title scanning
- looks for ptt with longest pgc sequence instead of just picking first ptt
solves many 'short title' problems
- constructs chapters from the pg's within the pgc's instead of using ptt's
solve the problem of ptt's that point to an intro pgc instead of
to the actual chapter position in the title.
214 lines of code changed in:
add libdvdnav support
emulates the vm of a dvd player in order to navigate the disc more reliably
it is optional and disabled by default
CLI option '--dvdnav' enables. GUI's have a new option in preferences.
When dvdnav is enabled, you can also select angles (cli '--angle')
44 lines of code changed in: