aboutsummaryrefslogtreecommitdiff
path: root/sound/audiostream.h
AgeCommit message (Collapse)Author
2004-01-03renamed AudioInputStream -> AudioStreamMax Horn
svn-id: r12110
2003-12-26logic fix: we must do wrap around *before* read, not after. otherwise ↵Max Horn
eosIntern will in some border cases return wrong results; some cleanup svn-id: r11932
2003-12-21Rewrote make*Stream factory functions to work around bug in MSVC6 (see bug ↵Max Horn
report #860067); added some comments; LinearMemoryStream now can auto-dispose the data passed to it svn-id: r11798
2003-12-19distinguish between end of stream and end of dataMax Horn
svn-id: r11756
2003-12-19o Moved MP3 and Vorbis input streams to mp3.* resp. vorbis.*Max Horn
o Added SoundMixer::playInputStream and made some of the other play* methods use it o Added ProcInputStream stub (not working yet) which one day may allow us to replace the premix code, and allow other fancy stuff o Remove AudioInputStream::readBuffer default implementation (subclasses should always provide it for max. performance) o Some minor cleanup svn-id: r11754
2003-12-17Made sure that *all* AudioInputStream 'know' their sample rate; removed ↵Max Horn
pointless MusicStream class; removed various specific Channel subclasses and instead generalized the base class some more svn-id: r11699
2003-12-17changed the way 'streams' are handled: the finalization logic is now in the ↵Max Horn
WrappedAudioInputStream; this allows further streamlining of the channel/mixer code (can you already guess what I am working towards? :-) svn-id: r11696
2003-11-07fix invalid typo fixes ;-) (BTW did anybody get comit mails for khalek's ↵Max Horn
changes? I didn't) svn-id: r11183
2003-11-07spelling fixesJonathan Gray
svn-id: r11180
2003-08-13ZeroInputStream::readBuffer didn't have the same signature as the base class ↵Bertrand Augereau
version, making VC.NET 2K3 complain svn-id: r9668
2003-08-07replace code in readBuffer by slightly less efficient but hopefully working ↵Max Horn
code (at least it fixes an endless loop in COMI for me). I did fix the originaly bug in my optimization, and right now I clueless as to why that code isn't working as it should <sigh>. Need sleep svn-id: r9588
2003-08-04renamed eof -> eos (end of stream); hid MP3/Vorbis stream classes completly ↵Max Horn
(by providing factory methods); new readBuffer method for AudioInputStream for improved speed of the mixer; new MusicStream class (subclassed for MP3/Vorbis sound) which offers a getRate method; some other tweaks svn-id: r9467
2003-08-02slightly optimized MP3InputStream::eof, and some cleanupMax Horn
svn-id: r9422
2003-08-02converted ChannelMP3 to use new rate conversion scheme, too. Only thing ↵Max Horn
missing now is FLAG_REVERSE_STEREO support (and of course fixing regressions, and the long term goal is to make resample.cpp usable, too) svn-id: r9395
2003-08-01let the input stream handle the looping (by pretending to be of infinite ↵Max Horn
size -> this fixes a problem which cause 'gaps' at loop turn-over points) svn-id: r9379
2003-08-01implemented raw sound looping; some debug output enabled temporarilyMax Horn
svn-id: r9360
2003-08-01#include cleanup (explicityl specify the location for headers from common/, ↵Max Horn
so that we at some point can get rid of -Icommon; exception is made for stdafx.h, since a) we might want to rename it and b) might want to move it to the top level) svn-id: r9359
2003-07-31removed the AudioInputStream::size method -> only eof() is really needed, ↵Max Horn
and this can be implemented more efficiently stand-alone; implemented MP3InputStream (work in progress) svn-id: r9313
2003-07-29added VorbisInputStreamMax Horn
svn-id: r9271
2003-07-28make wrapped stream work (I can hear some music in CoMI now before it ↵Max Horn
segfaults :-) svn-id: r9258
2003-07-28rewrote the input streams, this should be more straightforward and inline ↵Max Horn
slightly better (the fact that the main AudioInputStream methods are virtual still means that no inlining can take place there; but of course, if we did change that, all the rate converters would have to exist in 8, instead of currently 2, compiled versions) svn-id: r9256
2003-07-28more work on WrappedMemoryStream (not yet tested)Max Horn
svn-id: r9253
2003-07-28instead of 'int channels', use 'bool stereo' (less extensible, but then I ↵Max Horn
don't think we'll ever support 5.1 sound :-)); fixed a bug in st_rate_flow where it sometimes would overflow the output buffer; made CopyRateConverter a template, too, increasing efficency svn-id: r9239
2003-07-28use a single converter for both channels (if input data is stereo), for ↵Max Horn
improved efficency; renamed MemoryAudioInputStream -> LinearMemoryStream and use some template voodoo to make the baseclass of Input8bitSignedStream etc. variable; added (commented out) draf of WrappedMemoryStream svn-id: r9209
2003-07-25move AudioInputStream implementations & makeInputStream into separate .cpp fileMax Horn
svn-id: r9190
2003-07-25reduced source code duplicationMax Horn
svn-id: r9189
2003-07-24added RateConverter classes as thin wrappers around st_* functions; renamed ↵Max Horn
InputStream -> AudioInputStream and cleaned up the hierarchy of its subclasses; added makeInputStream() auxillary function svn-id: r9179
2003-07-24new files, based on SoX (http://sox.sf.net): better resampling code. Note ↵Max Horn
that my mixer.cpp changes are on purpose not yet in CVS since they are not complete. Only reasons I checkin these files is that it's much more comfortable to have CVS, since I need to rewrite parts of resample.cpp now (I already have lots of modifications in). Also expect more OO in the future svn-id: r9176