[Scummvm-git-logs] scummvm master -> 1d20d016addce910ffe2c48982f109df82e0914e

AndywinXp noreply at scummvm.org
Sun Feb 27 22:56:49 UTC 2022


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
1d20d016ad SCUMM: SMUSH: Stop channel handles when stopping a video


Commit: 1d20d016addce910ffe2c48982f109df82e0914e
    https://github.com/scummvm/scummvm/commit/1d20d016addce910ffe2c48982f109df82e0914e
Author: Andrea Boscarino (andywinxp at gmail.com)
Date: 2022-02-27T23:56:47+01:00

Commit Message:
SCUMM: SMUSH: Stop channel handles when stopping a video

This has been thoroughly tested with all SCUMM 7-8 games:
- FT (full and demo) and DIG (demo) now exhibit the expected behaviour from the interpreters: when finishing or skipping a video, audio does not continue to play for a period of time (which is, until all the channel streams are emptied out);
- DIG (full) is unaffected, it uses other audio routines (DiMUSE);
- COMI (full and demo) is unaffected, it has its own separate IACT channel handle which is already being closed correctly.

Changed paths:
    engines/scumm/smush/smush_mixer.cpp


diff --git a/engines/scumm/smush/smush_mixer.cpp b/engines/scumm/smush/smush_mixer.cpp
index 5fb084d299b..44a087c7beb 100644
--- a/engines/scumm/smush/smush_mixer.cpp
+++ b/engines/scumm/smush/smush_mixer.cpp
@@ -141,6 +141,7 @@ bool SmushMixer::stop() {
 				_channels[i].stream->finish();
 				_channels[i].stream = nullptr;
 			}
+			_mixer->stopHandle(_channels[i].handle);
 		}
 	}
 




More information about the Scummvm-git-logs mailing list