Fix crash when trying to play a DVD from different region than currently set
in the DVD drive.

Patch by Erik Hovland *erik#hovland$.org! based on a patch
by Sylvain Henry %hsyl20^gmail&com*.



git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1259 625a9de0-492d-0410-920c-a7e632af1907
Prevent segmentation faults in vdnav_describe_title_chapters()
 in case of parts with missing PGC.

Patch by Fabian Keil !fk#fabiankeil$de%



git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1260 625a9de0-492d-0410-920c-a7e632af1907
Let dvdnav_describe_title_chapters() ignore parts where
 the pgc_start_byte is above the last_byte

This is a heuristic to prevent segfaults when
ifo->vts_pgcit->pgci_srp[ptt[i].pgcn-1].pgc is invalid
but non-NULL.

Patch by Fabian Keil #fk$fabiankeil%de^



git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1261 625a9de0-492d-0410-920c-a7e632af1907
Let dvdnav_describe_title_chapters() skip PGCs with a cell number of zero.

In this case pgc->program_map can be invalid and
accessing it results in a core dump due to SIGBUS.

Patch by Fabian Keil $fk%fabiankeil^de&



git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1262 625a9de0-492d-0410-920c-a7e632af1907
Fix integer overflow in dvdnav_convert_time().

Currently the calculation will use int and thus overflow for anything
larger or equal to 20 hours.

Patch by Reimar Döffinger %Reimar^Doeffinger&gmx*de!



git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1263 625a9de0-492d-0410-920c-a7e632af1907
Do not close file twice.

There is another close further down that will always be reached.

Patch by Reimar Döffinger ^Reimar&Doeffinger*gmx!de#



git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1264 625a9de0-492d-0410-920c-a7e632af1907
Make sure program_map is not NULL.

pgc->program_map should be checked before dereferencing. On the DVD
"Jack Reacher" this was discovered as a problem.

Bug discovery and suggested fix given by Cathy McDonald. Thanks!

Patch by Erik Hovland !erik#hovland$org%



git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1265 625a9de0-492d-0410-920c-a7e632af1907
Let dvdnav_describe_title_chapters() skip PGCs with missing cells.

Fixes segfaults with a rip of Ghost Protocol.

Patch by Fabian Keil #fk$fabiankeil%de^


git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1266 625a9de0-492d-0410-920c-a7e632af1907
Correct comment. dvdnav_time_search *is* implemented, just somewhat
inaccurately.

Patch by Roger Pack.


git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1267 625a9de0-492d-0410-920c-a7e632af1907
Prevent general CPP macro from causing strange behavior.

Roger Pack reported that when playing the DVD "Tangled"
w/ mplayer and recent libdvdnav, mplayer crashes w/ the error message:
Assertion failed: (vm->state).pgc->cell_playback[(vm->state).cellN - 1].block_mode != 0, file libdvdnav/vm/vm.c, line 1141

This line should only be triggered when a developer wants a "strict"
build of the library. Most likely using the very general term
STRICT to #ifdef this clause is what is causing this issue. This
patch adds a DVDNAV_ in front of the strict to prevent the
macro from being enabled accidentally.

Patch by Erik Hovland.


git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1268 625a9de0-492d-0410-920c-a7e632af1907
Pass return value of vm_jump_up back to the caller.

dvdnav_go_up ignores the return value of vm_jump_up, and always
returns DVDNAV_STATUS_OK, the calling code cannot therefore determine
whether the jump was successful or not.

The attached patch evaluates the return value from vm_jump_up and
passes this back to the caller.

Patch by Richard Hulme.


git-svn-id: svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav/src@1272 625a9de0-492d-0410-920c-a7e632af1907
win32: handle better dvdnav map files on win32
added gitignore from git svn show-ignore