fix 16bit mixer handling on bigendian machines (sb16 hdma, cdda for cd images), also see sf patches #1284246 and #1989569
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3324
This commit is contained in:
parent
8288b0cd34
commit
ce5ef7a254
4 changed files with 102 additions and 26 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2002-2008 The DOSBox Team
|
||||
* Copyright (C) 2002-2009 The DOSBox Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/* $Id: cdrom_image.cpp,v 1.23 2008-10-05 14:44:52 qbix79 Exp $ */
|
||||
/* $Id: cdrom_image.cpp,v 1.24 2009-03-19 20:45:42 c2woody Exp $ */
|
||||
|
||||
#include <cctype>
|
||||
#include <cmath>
|
||||
|
@ -327,7 +327,11 @@ void CDROM_Interface_Image::CDAudioCallBack(Bitu len)
|
|||
}
|
||||
}
|
||||
SDL_mutexV(player.mutex);
|
||||
#if defined(WORDS_BIGENDIAN)
|
||||
player.channel->AddSamples_s16_nonnative(len/4,(Bit16s *)player.buffer);
|
||||
#else
|
||||
player.channel->AddSamples_s16(len/4,(Bit16s *)player.buffer);
|
||||
#endif
|
||||
memmove(player.buffer, &player.buffer[len], player.bufLen - len);
|
||||
player.bufLen -= len;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue