aboutsummaryrefslogtreecommitdiff
path: root/audio/decoders
AgeCommit message (Collapse)Author
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.
2014-07-27AUDIO: Finish off AAC/QDM2 queues when done decoding a packetMatthew Hoops
2014-07-26AUDIO: Increment total play time when decoding MP3 data.Joni Vähämäki
2014-03-18COMMON: Move some QuickTime Track variables into SampleDesc where they belongMatthew Hoops
2014-02-18AUDIO: Make GPL headers consistent in themselves.Johannes Schickel
2014-01-15ALL: Remove optimization unstable code on checking for null after new.D G Turner
These issues were identified by the STACK tool. By default, the C++ new operator will throw an exception on allocation failure, rather than returning a null pointer. The result is that testing the returned pointer for null is redundant and _may_ be removed by the compiler. This is thus optimization unstable and may result in incorrect behaviour at runtime. However, we do not use exceptions as they are not supported by all compilers and may be disabled. To make this stable without removing the null check, you could qualify the new operator call with std::nothrow to indicate that this should return a null, rather than throwing an exception. However, using (std::nothrow) was not desirable due to the Symbian toolchain lacking a <new> header. A global solution to this was also not easy by redefining "new" as "new (std::nothrow)" due to custom constructors in NDS toolchain and various common classes. Also, this would then need explicit checks for OOM adding to all new usages as per C malloc which is untidy. For now to remove this optimisation unstable code is best as it is likely to not be present anyway, and OOM will cause a system library exception instead, even without exceptions enabled in the application code.
2013-04-20AUDIO: Cleanup namingMatthew Hoops
2013-04-20AUDIO: Remove default makeADPCMStream rate/channels valuesMatthew Hoops