aboutsummaryrefslogtreecommitdiff
path: root/audio/decoders
AgeCommit message (Collapse)Author
2019-02-10AUDIO: Simplify _audioGain calculationTorbjörn Andersson
No need to explicitly set it to 1.0. (There may have been in an earlier version, to avoid any possible rounding error. But if so, that reason is long gone.)
2019-02-10ZVISION: Boost volume for MPEG cutscenesTorbjörn Andersson
The high-resolution videos play back at much lower volume than the original ones. This adds hard-coded values for how much to amplify each cutscene. It's all done by ear, and it does introduce some clipping, but I think it should be acceptable. Of course, it could also be a problem with the audio decoder, so this may be the wrong approach entirely.
2018-12-08GLK: Add support for secondary Blorb files separate from the gamefilePaul Gilbert
It also hads further support for playing AIFF files. However, the Blorb files for Lurking Horror & Sherlock on the if-archive website don't seem to be valid AIFF files, so sound doesn't play using them
2018-12-08GLK: FROTZ: Further sound handlingPaul Gilbert
2018-11-04AUDIO: Add a separate AC-3 decoderTorbjörn Andersson
This code comes from clone2727's now defunct (?) ac3 branch.
2018-08-17JANITORIAL: Removing trailing spaces after int castsPaul Gilbert
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