Opened 17 years ago

Closed 17 years ago

Last modified 10 years ago

#433 closed defect (fixed)

DIG: "unexistant streamer"

Reported by: fingolfin Owned by: SF/ender
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: The Dig

Description

Using scummvm-new and the new Smush player, I get a lot of
these warnings during the intro movie:

WARNING: Trying to stream to an unexistant streamer : 0!
WARNING: Trying to stream to an unexistant streamer : 1!

Would seem to me that something is wrong there? It happens
more often if my system is slow due to some heavy computations
running at the same time.

Ticket imported from: #600427. Ticket imported from: bugs/433.

Change History (4)

comment:1 by SF/xtrochu, 17 years ago

This is mainly a synchronisation problem.

What happens is that because the smush player waits for a
timer before starting to decode the next frame, it may append
the new decoded sound samples to late to the mixer, i.e. after
the channel has been marked as terminated and destroyed.

This is why you also can hear shoppy sound at the same
time as this happens.

Now, one possible solution (the one I used for my own
decoder) is to have the smush player wait not for a timer
event, but wait for the mixer to be *nearly empty*. I don't
really know how such an event could be set up in a way that
is portable, but that should correct this problem.

One other issue is that the frame rate of Full Throttle movies
are around 10 FPS, but for the dig it's around 12 or 15. Right
now the timer event is set to 75 ms (13.33 FPS) so Full
Throttle movie run too fast, so most sound overlap.

The proposed solution should also correct this issue.

comment:2 by SF/ender, 17 years ago

Resolution: fixed
Status: newclosed

comment:3 by SF/ender, 17 years ago

This has been mostly fixed by the latest CVS changes to SMUSH.

Remaining warnings() are simply just buffer underruns due to slow CD
access, but should cause no major problems.

comment:4 by Kirben, 10 years ago

Owner: set to SF/ender
Note: See TracTickets for help on using tickets.