Ticket #2808: dvd_seeking_fix.diff
File dvd_seeking_fix.diff, 1.4 KB (added by , 17 years ago) |
---|
-
libs/libmythdvdnav/searching.c
258 258 for(cell_nr = first_cell_nr; (cell_nr <= last_cell_nr) && !found; cell_nr ++) { 259 259 cell = &(state->pgc->cell_playback[cell_nr-1]); 260 260 length = cell->last_sector - cell->first_sector + 1; 261 if (target >= length) { 262 target -= length; 263 } else { 264 /* convert the target sector from Cell-relative to absolute physical sector */ 265 target += cell->first_sector; 261 if (target >= cell->first_sector && target <= cell->last_sector) { 266 262 found = 1; 267 263 break; 268 264 } -
libs/libmythtv/DVDRingBuffer.cpp
296 296 297 297 if (repeatseek) 298 298 { 299 QMutexLocker lock(&seekLock); 299 300 Seek(seekpos, seekwhence); 300 301 repeatseek = false; 301 302 } … … 510 511 if (newPart > 0) 511 512 dvdnav_part_play(dvdnav, title, newPart); 512 513 else 513 Seek(0,SEEK_SET); // May cause picture to become jumpy. 514 { 515 QMutexLocker lock(&seekLock); 516 Seek(0,SEEK_SET); 517 } 514 518 gotStop = false; 515 519 } 516 520