aboutsummaryrefslogtreecommitdiff
path: root/audio/decoders
AgeCommit message (Collapse)Author
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
2013-04-16AUDIO: Fix invalid free callMatthew Hoops
2012-12-13Merge pull request #293 from clone2727/qtmidiclone2727
Add support for QuickTime Music playback
2012-12-10AUDIO: Fix MS ADPCM to work with Mono streams using odd sized buffers.D G Turner
2012-11-24AUDIO: Fix AIFF comment about supporting IMA ADPCMMatthew Hoops
2012-10-03AUDIO: Don't allow skipping negative times in skipSamples()Matthew Hoops
2012-09-26JANITORIAL: Remove trailing whitespaces.Johannes Schickel
Powered by: git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-09COMMON: Make QuickTimeParser::readSampleDesc take the desc sizeMatthew Hoops
2012-08-31ALL: Mark off some things as used by PegasusMatthew Hoops
2012-08-26Merge pull request #268 from clone2727/video-rewriteMatthew Hoops
VideoDecoder upgrade & partial rewrite
2012-08-12AUDIO: Move LimitingAudioStream to audio/Matthew Hoops
2012-08-09AUDIO: Fix "if" formatting in QDM2 code.Johannes Schickel
2012-08-04AUDIO: Correct ADPCM Fixes to ensure internal buffers are drained.D G Turner
This also adds an omitted _decodedSampleCount initialization in Oki ADPCM decoder.
2012-08-04AUDIO: Fix Oki ADPCM to work with Mono streams using odd sized buffers.D G Turner
2012-08-04AUDIO: Fix DVI ADPCM to work with Mono streams using odd sized buffers.D G Turner
2012-06-11AUDIO: Make VOC decoder a bit more failsafe by still playing parts of ↵Johannes Schickel
invalid VOC files. Formerly when an unsupported block was found the opening would fail. Instead now all the valid blocks till that occasion will be played. This fixes an missing sound in Full Throttle (thanks to clone2727 for reporting), which is using a VOC file which fails to specify the proper block length for its sound block.
2012-05-21AUDIO: Fix seeking to the end of a QuickTime audio trackMatthew Hoops
2012-04-28AUDIO: Fix seeking in QuickTime files with multiple edit listsMatthew Hoops
2012-04-13AUDIO: Remove now unused Sin/Cos table and FFT code from QDM2 Codec.D G Turner
This was only used by the RDFT code, now replaced by Common::RDFT.
2012-04-13AUDIO: Migrate QDM2 Codec to using Common::RDFT class.D G Turner
2012-04-13AUDIO: Fixes to restore QDM2 Codec function.D G Turner
The Bitstream format is changed to 32LELSB and an error in the getVlc2() function bitstream reading needed to be corrected to fix operation.
2012-04-13AUDIO: Update to QDM2 codec fixing pointer to stream buffer usage.D G Turner
This should allow the QDM2 codec to work again with Common::Bitstream instead of the older getBits() reader, but this aborts with a reading past end of stream error...
2012-04-13AUDIO: Removed qdm2_decode_sub_packet_header() function from QDM2.D G Turner
This is to allow modification of the code which needs to assign the data member of the sub_packet structure to an offset in the input byte readStream.
2012-04-13AUDIO: Fix skipping in QDM2 BitStream usage.D G Turner
getBits(n) would cause a runtime error if n is greater than 32, but using getBits() to skip is no longer necessary as the newer BitStream class has a skip method, which is used instead.
2012-04-13AUDIO: Clean up QDM2 getVlc2() function.D G Turner
2012-04-13AUDIO: Initial Refactoring of QDM2 to use Common::BitStream.D G Turner
This removes the internal getBitContext bitwise reading code and replaces with Common::BitStream. However, this breaks the codec as in one location, the internal buffer of getBitContext reader is used and this can't be directly replaced. This will need to be understood and rewritten.
2012-04-10AUDIO: Force QuickTime stereo samples to mono if neededMatthew Hoops
The number of channels in AAC can differ from the actual number of channels needed making us require this. The channel count inside the container is always the correct one.
2012-03-30AUDIO: Fix QDM2 extra data parsingMatthew Hoops
2012-03-19AUDIO: Add support for multiple QuickTime audio tracksMatthew Hoops
This also cleans up the QuickTime audio code to make it a bit more manageable too
2012-02-15JANITORIAL: Fix missing whitespace in pointer castTarek Soliman
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g' This seems to have caught some params as well which is not undesirable IMO. It also caught some strings containing this which is undesirable so I excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-09AUDIO: Add support for RAW PCM wave stream with an incomplete packetBastien Bouclet
The last incomplete packet is ignored
2012-01-26AUDIO: Add more warnings in case invalid VOC data is encountered.Johannes Schickel
2012-01-26AUDIO: Fix missing sounds in Simon 1 Amiga CD32.Johannes Schickel
It seems the VOC files used by Simon 1 Amiga CD32 use 128 as terminator block. Added this as a special case with a debug output when it's caught.
2011-12-31AUDIO: Remove outdated comment about RawStream. Thanks to clone2727 for ↵Johannes Schickel
noticing.
2011-12-29AUDIO: Fix M4A seeking with multiple time->sample chunksMatthew Hoops
2011-12-29AUDIO: Only warn about audio edit lists when the count is > 1Matthew Hoops
MPEG-4 files don't contain any elst atom
2011-12-24AUDIO: Remove obsolete loadVOCFromStream.Johannes Schickel
2011-12-24AUDIO: SAGA now uses the Mac snd code tooMatthew Hoops
2011-12-12VIDEO: Add support for QuickTime video track edit listsMatthew Hoops
2011-11-27VIDEO: Rewrite VMD audio streamingMatthew Hoops
Audio is now decoded in AudioStream classes instead of being decoded ahead of time and then queued.
2011-11-24AUDIO: Fix type 9 sound blocks in VOC code.Johannes Schickel
This should fix missing sound in Touche.
2011-11-20M4: Removed the M4/MADS engine from trunkPaul Gilbert
2011-11-06AUDIO: Simplify RawStream code.Johannes Schickel
This drops the (unused) ability to play based on a list of input blocks. This was formely only used by the NDS specific VOC streaming code, which has been removed in 9fa9f68789ef51e078cb8631e06bead13cae13f2.
2011-11-06AUDIO: Remove unused makeRawDiskStream_OLD factory.Johannes Schickel
2011-11-06AUDIO: Implement a basic VocStream class.Johannes Schickel
Now all VOCs are streamed rather than preloaded. This deprecates the STREAM_AUDIO_FROM_DISK define, which was previously used to stream VOCs from disk. This might very well break some engines which relied on the stream not being changed after makeVOCStream! I adapted all engines which had a check for STREAM_AUDIO_FROM_DISK in their code. It would be wise to check all other engines using VOC to see if this might cause any problems for them.
2011-11-04QDM2: Removed superfluous parenthesesFilippos Karapetis
2011-10-28AUDIO: Adapt include guard names to the "new" directory name.Johannes Schickel
2011-10-09DRASCULA: Remove unecessary VOC header dependency.D G Turner
Also, remove two engines not using VOC from voc.h header.