aboutsummaryrefslogtreecommitdiff
path: root/audio/decoders
AgeCommit message (Collapse)Author
2017-11-19AUDIO: Fix uninitialized data structures in PacketizedMP3StreamColin Snover
If the audio thread called to readBuffer before any packet had been added to the stream, the state of the stream would be changed from INIT to EOS. Later, when a packet was received, the state would go directly from EOS to READY, skipping decoder init, leaving garbage memory in the decoder structs and causing a crash of the decoder. Fixes Trac#9653.
2017-11-19AUDIO: Fix data race in PacketizedMP3StreamColin Snover
2017-11-08AUDIO: Switch to BitStreamMemoryStream in the QDM2 decoderBastien Bouclet
2017-11-08AUDIO: Add some padding to the QDM2 decoder input bufferBastien Bouclet
Fixes out of bounds reads in the Myst ME intro videos. OOB reads may happen because: - The bitstream implementation reads 4 bytes at a time, and the buffer size is not guaranteed to be a multiple of 4. - The huffman parsing code reads a fixed amount of bits when it sometimes needs not all of them. Also fixed bits vs bytes mismatch for the size parameter of the calls to the bitstream constructor, and removed a few unnecessary heap allocations. Fixes #10220.
2017-09-30AUDIO: QDM2: Use the shared int64 type instead of a custom oneBastien Bouclet
2017-09-22ALL: Specify the DisposeAfterUse constructor argument for dynamic memory ↵Bastien Bouclet
write streams
2017-09-21VIDEO: Change QT edit list to a Common::ArrayBastien Bouclet
And fix an out of bounds acces when seeking to the end of a video. Skipping samples is needed even when seeking through silent edits because a silent stream is queued for those. Fixes #10219.
2017-09-10AUDIO: Fix compilation on AmigaOS 4Colin Snover
2017-09-09AUDIO: Mark SCI engine as using ADPCMColin Snover
2017-09-09AUDIO: Fix incorrect reading of DK3 ADPCM audio dataColin Snover
Previously, _topNibble was not reset at the beginning of a new audio block, and the alignment byte at the end of odd blocks was being read as audio data, which caused audible clicks and out-of-bounds sample generation. There may have also been read errors related to the use of continue/break keywords inside of a macro wrapped with do-while(0). The introduction of partial block reads in this code when it was converted from ffmpeg to a ReadStream interface was also confusing and somewhat inefficient (calling SeekableReadStream::pos frequently), so this code has been refactored for clarity and to improve efficiency by reducing the number of virtual calls. Error detection has also been improved somewhat by ensuring that there are enough bytes to read a block header, and that the step indexes in the header are within the valid range.
2017-08-24COMMON: Remove BitStream base class to allow inlining callsWillem Jan Palenstijn
All users of BitStream were in fact using a specific, hardcoded variant, so we can hardcode that variant, removing the need for virtual calls, and enabling inlining.
2016-12-20AUDIO: Support Wave files with an initial fact chunkPaul Gilbert
2016-09-19AUDIO: Keep packetized MP3 stream from ending prematurelyTorbjörn Andersson
This fixes the audio in the intro AVI movie for German Fullpipe.
2016-09-03AUDIO: Whitespace fix in MP3 engine usage listPaul Gilbert
2016-09-02AUDIO: Add Titanic to list of engines using MP3 decoderPaul Gilbert
2016-09-02AUDIO: Disable MP3 decoding in Wave files if MAD dependency is disabledPaul Gilbert
2016-09-02AUDIO: Add support for MP3 encoded data in WAVE filesPaul Gilbert
This is needed for playback of Starship Titanic speech data
2016-08-05AUDIO: Add titanic to list of engines using wave filesPaul Gilbert
2016-07-31AUDIO: Fix buildWillem Jan Palenstijn
2016-07-31AUDIO: Fix indentationEugene Sandulenko
2016-07-06AUDIO: Fix audio corruption in MS ADPCM decoderTorbjörn Andersson
Since _decodedSamples[] is filled with either 2 or 4 samples, we can't use 1 - (count - 1) to "ensure that acts as a FIFO". When we have 4 samples, that index will become negative, putting uninitialized data into the buffer. We could still use a similar trick, but I think it's much clearer to use an index variable like this. We need an addition variable either way.
2016-06-21AUDIO: Fix incorrect forward declarationColin Snover
2016-06-19AUDIO: Make WAV streams seekableColin Snover
This allows raw PCM in WAVE containers to have duration and be seekable, and opens the door for ADPCM streams to be seekable later if necessary. This change is needed to avoid duplication of RIFF/WAVE container parsing for SCI engine, which uses raw PCM WAVE files and needs to be able to determine their lengths.
2016-05-15AUDIO: Plug potential memory leakEugene Sandulenko
2016-04-14JANITORIAL: Reduce audio header dependenciesOri Avtalion
2016-03-28JANITORIAL: Mark audio/decoders/vorbis as: used in WintermuteTobia Tesan
2015-09-15AUDIO: Fix compiler warningChristian Krause
This commit fixes a compiler warning about a "set but not used" variable. The warning was introduced by commit 2f707bf2.
2015-09-15AUDIO: Fix uninitialized read in MP3 initializationMatthew Hoops
Thanks to chkr-private for finding the issue
2015-08-30AUDIO: Mark the old Codec class as deprecatedMatthew Hoops
Once QuickTime audio edits are rewritten to use PacketizedAudioStream, we can remove this class.
2015-08-30AUDIO: Add a packetized version of ADPCM streamsMatthew Hoops
2015-08-30AUDIO: Add a packetized version of the PCM streamMatthew Hoops
2015-08-30AUDIO: Implement a packetized version of MP3Matthew Hoops
2015-08-30AUDIO: Split the seeking MP3 class from the base decoding streamMatthew Hoops
2015-06-07AUDIO: makeAIFFStream seek to start of dataStreamMartin Kiewitz
fixes non working audio when playing a File(Stream)
2015-06-06AUDIO: Make makeAIFFStream return a RewindableAudioStreamMatthew Hoops
All callers requiring SeekableAudioStream have been adapted by using dynamic_cast
2015-06-06AUDIO: Fix another syntax errorMatthew Hoops
2015-06-06AUDIO: Fix syntaxMatthew Hoops
2015-06-06SHERLOCK: rework 3DO audio, add AIFC file supportMartin Kiewitz
- rework 3DO audio decoders to decode into buffer only - 3DO audio decoders also use streams without separate size arg now - add support for ADP4 + SDX2 inside AIFC files - add debug command "3do_playaudio" to play AIFC files - remove audio flags and replace with stereo bool
2015-06-04AUDIO: Rewrite the AIFF decoder to support AIFCMatthew Hoops
2015-06-04AUDIO: Do not read the entire AIFF buffer into memoryMatthew Hoops
2015-06-04AUDIO: Mark AIFF as being used by BBVSMatthew Hoops
2015-06-04AUDIO: Only expose makeAIFFStream to clientsMatthew Hoops
2015-06-05AUDIO: Add more engines that use wave.h that I missed before.Torbjörn Andersson
2015-06-05AUDIO: Update list of engines that use wave.hTorbjörn Andersson
2015-06-04SHERLOCK: improve 3DO movie player, add SDX2 codecMartin Kiewitz
- queue up to 0.5 seconds of audio to avoid buffer underruns - support for SDX2 codec - put both audio codecs into audio/decoders/3do.cpp - made movie player capable of playing EA logo movie
2015-04-05AUDIO: Skip ID3 tag at start of mp3 filesThierry Crozat
This fixes bug #6834 MP3: ScummVM doesn't skip ID3 tag at beginning of file.
2015-01-26AUDIO: Fix skipping samples when the skip length is greater than the first chunkMatthew Hoops
2014-08-14AUDIO: Really fix seeking with audio editsMatthew Hoops
I really have no idea what I was thinking in acb127c2
2014-08-09Merge pull request #487 from clone2727/audio_fixesEugene Sandulenko
AUDIO: Miscellaneous AudioStream fixes
2014-08-01AUDIO: Rename MP3Stream's _totalTime to _curTime to better reflect the ↵Joni Vähämäki
variable's purpose.