Mercurial > libdvdnav.hg
comparison vm/vm.c @ 246:0ba179301f71 src
division by zero fix reported by david huber
author | mroi |
---|---|
date | Fri, 21 May 2004 19:32:25 +0000 |
parents | a27c81078c3c |
children | 84f652524ecb |
comparison
equal
deleted
inserted
replaced
245:b4f9a592bc84 | 246:0ba179301f71 |
---|---|
448 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.hour & 0x0f) * 3600; | 448 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.hour & 0x0f) * 3600; |
449 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute >> 4 ) * 600; | 449 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute >> 4 ) * 600; |
450 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute & 0x0f) * 60; | 450 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.minute & 0x0f) * 60; |
451 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second >> 4 ) * 10; | 451 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second >> 4 ) * 10; |
452 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second & 0x0f) * 1; | 452 time += ((vm->state).pgc->cell_playback[(vm->state).cellN - 1].playback_time.second & 0x0f) * 1; |
453 if (size / time > 30) | 453 if (!time || size / time > 30) |
454 /* datarate is too high, it might be a very short, but regular cell */ | 454 /* datarate is too high, it might be a very short, but regular cell */ |
455 return; | 455 return; |
456 if (time > 0xff) time = 0xff; | 456 if (time > 0xff) time = 0xff; |
457 position->still = time; | 457 position->still = time; |
458 } | 458 } |