hi all,
I’ve run up against a problem with SMPEG_new where the
second call to it results in a SEGV and subsequent
SDL Parachute deploy.
The first time through the mpeg plays successfully and
then SMPEG_delete() is called. On the second iteration,
SMPEG_new() is called and a SEGV occurs in that function
call.
I have confirmed that the file being loaded second is
valid and playable. The same occurs if I load the same
file twice.
Interestingly, if I call SMPEG_new() with sdl_audio=0, then
the SEGV is avoided, but the first movie doesn’t play
properly (~20x slowdown), and subsequent movies don’t
play at all.
Any ideas?-----------------------------------------------------
versions:
smpeg-0.4.4-9
SDL-1.2.3-7
glibc-2.2.5-34
platform:
Red Hat Linux 7.3, using XFree86 4.2.0-8
simplified code follows:
SetVideo();
for (count=0; count < NumberOfMovies;count++) {
SelectNewMovie(filename);
mpeg = SMPEG_new(filename, &info, 1);
SMPEG_setdisplay(mpeg, screen, NULL, update);
SMPEG_move(mpeg, 100, 100);
SMPEG_scaleXY(mpeg, info.width, info.height);
SMPEG_play(mpeg);
while (!done &&(pause || (SMPEG_status(mpeg) == SMPEG_PLAYING))){
done = HandleEvent(mpeg, &pause);
SDL_Delay(1000/2);
}
SMPEG_delete(mpeg);
}
–
G. Richard Keech Chief Instructor
Red Hat Asia-Pacific rkeech at redhat.com, richard at keech.cx
Melbourne Australia http://people.redhat.com/rkeech
+61-419-036-463 mobile +61-3-9370-5611 fax
Legal: http://apac.redhat.com/disclaimer