]> git.tdb.fi Git - libs/al.git/blobdiff - source/oggdecoder.cpp
Add utility functions for manipulating formats
[libs/al.git] / source / oggdecoder.cpp
index d28734208d605e2c912444fe662fb3c72c6c5413..78a2b5ac158d20a857db455f7ee7e1e969b12922 100644 (file)
@@ -89,15 +89,9 @@ OggDecoder::OggDecoder(IO::Seekable &io):
 
        vorbis_info *info = ov_info(&priv->ovfile, -1);
        freq = info->rate;
+       format = create_format(2, info->channels);
 
-       size = ov_pcm_total(&priv->ovfile, 0)*info->channels*2;
-
-       switch(info->channels)
-       {
-       case 1: format = MONO16; break;
-       case 2: format = STEREO16; break;
-       default: throw unsupported_sound(Msp::format("%d channels", info->channels));
-       }
+       size = ov_pcm_total(&priv->ovfile, 0)*get_unit_size(format);
 }
 
 OggDecoder::~OggDecoder()