Commit Graph

97 Commits

Author SHA1 Message Date
Matthew Hoops
f0091af6b5 AUDIO: Don't allow skipping negative times in skipSamples() 2012-10-03 10:45:43 -04:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Matthew Hoops
2f9b1b67b0 ALL: Mark off some things as used by Pegasus 2012-08-31 22:26:02 -04:00
Matthew Hoops
857b92f8ff Merge pull request #268 from clone2727/video-rewrite
VideoDecoder upgrade & partial rewrite
2012-08-26 15:41:56 -04:00
Matthew Hoops
813689d68c AUDIO: Move LimitingAudioStream to audio/ 2012-08-12 00:08:13 -04:00
Johannes Schickel
84426c6355 AUDIO: Fix "if" formatting in QDM2 code. 2012-08-09 03:25:14 +02:00
D G Turner
43e2c6ee1e AUDIO: Correct ADPCM Fixes to ensure internal buffers are drained.
This also adds an omitted _decodedSampleCount initialization in Oki
ADPCM decoder.
2012-08-04 20:29:37 +01:00
D G Turner
9c47fdae29 AUDIO: Fix Oki ADPCM to work with Mono streams using odd sized buffers. 2012-08-04 18:38:12 +01:00
D G Turner
b79221729b AUDIO: Fix DVI ADPCM to work with Mono streams using odd sized buffers. 2012-08-04 18:36:13 +01:00
Johannes Schickel
9c14f4419b AUDIO: Make VOC decoder a bit more failsafe by still playing parts of 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-06-11 20:37:04 +02:00
Matthew Hoops
a3832ecd5d AUDIO: Fix seeking to the end of a QuickTime audio track 2012-05-21 22:38:32 -04:00
Matthew Hoops
acb127c2d2 AUDIO: Fix seeking in QuickTime files with multiple edit lists 2012-04-28 15:22:42 -04:00
D G Turner
8a5b08341e AUDIO: Remove now unused Sin/Cos table and FFT code from QDM2 Codec.
This was only used by the RDFT code, now replaced by Common::RDFT.
2012-04-13 07:37:31 +01:00
D G Turner
7f930dfae3 AUDIO: Migrate QDM2 Codec to using Common::RDFT class. 2012-04-13 07:37:30 +01:00
D G Turner
ce1f805212 AUDIO: Fixes to restore QDM2 Codec function.
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-13 07:37:29 +01:00
D G Turner
50a9c6429d AUDIO: Update to QDM2 codec fixing pointer to stream buffer usage.
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-13 07:37:28 +01:00
D G Turner
b5f5cbe5fa AUDIO: Removed qdm2_decode_sub_packet_header() function from QDM2.
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-13 07:37:27 +01:00
D G Turner
845812f12e AUDIO: Fix skipping in QDM2 BitStream usage.
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-13 07:37:26 +01:00
D G Turner
220f60fd60 AUDIO: Clean up QDM2 getVlc2() function. 2012-04-13 07:37:25 +01:00
D G Turner
fa44707028 AUDIO: Initial Refactoring of QDM2 to use Common::BitStream.
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-13 07:37:24 +01:00
Matthew Hoops
3e47203d64 AUDIO: Force QuickTime stereo samples to mono if needed
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-04-10 16:44:41 -04:00
Matthew Hoops
68e1a04183 AUDIO: Fix QDM2 extra data parsing 2012-03-30 14:40:14 -04:00
Matthew Hoops
be8c557645 AUDIO: Add support for multiple QuickTime audio tracks
This also cleans up the QuickTime audio code to make it a bit more manageable too
2012-03-19 12:04:46 -04:00
Tarek Soliman
a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
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-15 10:07:10 -06:00
Bastien Bouclet
577635acf2 AUDIO: Add support for RAW PCM wave stream with an incomplete packet
The last incomplete packet is ignored
2012-02-09 16:10:50 +01:00
Johannes Schickel
86a4bbbd9b AUDIO: Add more warnings in case invalid VOC data is encountered. 2012-01-26 02:43:58 +01:00
Johannes Schickel
d620dd90bd AUDIO: Fix missing sounds in Simon 1 Amiga CD32.
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.
2012-01-26 02:36:51 +01:00
Johannes Schickel
b89e63798a AUDIO: Remove outdated comment about RawStream. Thanks to clone2727 for noticing. 2011-12-31 06:29:56 +01:00
Matthew Hoops
df88a1f2a7 AUDIO: Fix M4A seeking with multiple time->sample chunks 2011-12-29 14:50:05 -05:00
Matthew Hoops
5b1095a400 AUDIO: Only warn about audio edit lists when the count is > 1
MPEG-4 files don't contain any elst atom
2011-12-29 12:47:53 -05:00
Johannes Schickel
c6599ea5ee AUDIO: Remove obsolete loadVOCFromStream. 2011-12-24 18:23:47 +01:00
Matthew Hoops
42bb9a2264 AUDIO: SAGA now uses the Mac snd code too 2011-12-24 11:09:54 -05:00
Matthew Hoops
b367772b5f VIDEO: Add support for QuickTime video track edit lists 2011-12-12 12:28:48 -05:00
Matthew Hoops
6bbff58314 VIDEO: Rewrite VMD audio streaming
Audio is now decoded in AudioStream classes instead of being decoded ahead of time and then queued.
2011-11-27 15:52:05 +01:00
Johannes Schickel
dd42278373 AUDIO: Fix type 9 sound blocks in VOC code.
This should fix missing sound in Touche.
2011-11-24 22:55:25 +01:00
Paul Gilbert
b0611f3189 M4: Removed the M4/MADS engine from trunk 2011-11-20 12:14:10 +11:00
Johannes Schickel
38164ba66a AUDIO: Simplify RawStream code.
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 9fa9f68789.
2011-11-06 14:19:17 +01:00
Johannes Schickel
408d119a11 AUDIO: Remove unused makeRawDiskStream_OLD factory. 2011-11-06 13:57:05 +01:00
Johannes Schickel
9fa9f68789 AUDIO: Implement a basic VocStream class.
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-06 13:30:34 +01:00
Filippos Karapetis
e4d1a5da3d QDM2: Removed superfluous parentheses 2011-11-04 00:42:40 +02:00
Johannes Schickel
3ddb6c0c90 AUDIO: Adapt include guard names to the "new" directory name. 2011-10-28 12:27:50 +02:00
D G Turner
a293bbbbb4 DRASCULA: Remove unecessary VOC header dependency.
Also, remove two engines not using VOC from voc.h header.
2011-10-09 22:13:30 +01:00
Johannes Schickel
3e1405b939 AUDIO: Add default disposeAfterUse value to makeVOCStream again. 2011-10-09 21:24:06 +02:00
Johannes Schickel
d4f54a2c97 AUDIO: Strip out some unused VOC code. 2011-10-09 21:24:00 +02:00
Johannes Schickel
221434a83f AUDIO: Remove unused makeVOCStream interface. 2011-10-09 21:23:29 +02:00
Matthew Hoops
9a79a336aa AUDIO: Don't abuse rewind() for looping in XA
Thanks to LordHoto for pointing out my stupidity :P
2011-08-25 11:16:58 -04:00
Matthew Hoops
64d2e2db11 AUDIO: Cleanup the XA code
endOfData() will not return true if the eos flag is encountered. Flag handling is a bit stricter than before (flags == 1 does not necessarily mean eos). Also removed some dead code, fixed wrong code, and fixed formatting.
2011-08-25 11:02:08 -04:00
Matthew Hoops
37a401a172 AUDIO: Properly handle XA flags 2011-08-25 10:14:17 -04:00
Matthew Hoops
4e849092d2 AUDIO: Add a DisposeAfterUse parameter to makeXAStream 2011-08-24 09:54:19 -04:00
Matthew Hoops
40fd9ce27c AUDIO: Remove default rate parameter from xa 2011-08-24 09:54:19 -04:00