On Thu, Jan 01, 2009 at 10:52:31AM +0100, Ilja Sekler wrote: > On 31.12.2008 19:02, Nico Sabbi wrote: > > > Il giorno mer, 31/12/2008 alle 15.06 +0100, Reimar Döffinger ha > > scritto: > > > >> AFAICT the dvdread API is supposed to return 0 on error (I have no > >> clue what then the point is of allowing negative values, since I > >> can't see how they would make any sense, I only see this API > >> behaviour bloating up the libdvdread code for no good reason). > >> Problem is, dvdcss read function may also return negative values on > >> read errors, and the return values of dvdcss are passed through. So > >> we will end up with len < 0 here and thus an endless loop. Changing > >> !len to len <= 0 fixes it, and while I am in favour of such a fix > >> it breaks the dvdread API. > > > > thanks for fixing it :) > > Unfortunately, the fix for the hang seeking to chapters > max available > doesn't help against the crash > <http://lists.mplayerhq.hu/pipermail/mplayer-users/2008-December/075498.html>. > It is apparently a different bug. Well, that is no surprise. To everyone's joy libdvdread never got beyond exporting a raw dump of the hopelessly convoluted DVD structure with contradicting information placed all over. Unfortunately, I do not have a DVD where the main feature is not the first title, so I can not actually check if it works for those files, but I think this patch might be correct: Index: stream/stream_dvd.c =================================================================== --- stream/stream_dvd.c (revision 28216) +++ stream/stream_dvd.c (working copy) @@ -570,6 +570,15 @@ if(!vts_file || !tt_srpt) return 0; + if(title_no < 0 || title_no >= tt_srpt->nr_of_srpts) + return 0; + + // map global title to vts title + title_no = tt_srpt->title[title_no].vts_ttn - 1; + + if(title_no < 0 || title_no >= vts_file->vts_ptt_srpt->nr_of_srpts) + return 0; + if(chapter < 0 || chapter > vts_file->vts_ptt_srpt->title[title_no].nr_of_ptts-1) //no such chapter return 0; Greetings, Reimar Döffinger _______________________________________________ MPlayer-users mailing list MPlayer-users@xxxxxxxxxxxx https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users