mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-03 13:45:34 +00:00
Don't include al.h in decoder classes, format support check will need to be redone later. For now, resample all formats that might not be supported on any hardware.
This commit is contained in:
parent
dc6a99d32a
commit
ac067564ea
2 changed files with 8 additions and 14 deletions
|
@ -5,8 +5,6 @@
|
|||
|
||||
#include <stdexcept>
|
||||
|
||||
#include "al.h"
|
||||
|
||||
extern "C" {
|
||||
#ifndef HAVE_LIBSWRESAMPLE
|
||||
// FIXME: remove this section once libswresample is packaged for Debian
|
||||
|
@ -287,9 +285,8 @@ void FFmpeg_Decoder::getInfo(int *samplerate, ChannelConfig *chans, SampleType *
|
|||
if(!mStream)
|
||||
fail("No audio stream info");
|
||||
|
||||
if(((*mStream)->codec->sample_fmt == AV_SAMPLE_FMT_FLT || (*mStream)->codec->sample_fmt == AV_SAMPLE_FMT_FLTP)
|
||||
&& alIsExtensionPresent("AL_EXT_FLOAT32"))
|
||||
mOutputSampleFormat = AV_SAMPLE_FMT_FLT;
|
||||
if((*mStream)->codec->sample_fmt == AV_SAMPLE_FMT_FLT || (*mStream)->codec->sample_fmt == AV_SAMPLE_FMT_FLTP)
|
||||
mOutputSampleFormat = AV_SAMPLE_FMT_S16; // FIXME: Check for AL_EXT_FLOAT32 support
|
||||
else if((*mStream)->codec->sample_fmt == AV_SAMPLE_FMT_U8P)
|
||||
mOutputSampleFormat = AV_SAMPLE_FMT_U8;
|
||||
else if((*mStream)->codec->sample_fmt == AV_SAMPLE_FMT_S16P)
|
||||
|
@ -322,8 +319,8 @@ void FFmpeg_Decoder::getInfo(int *samplerate, ChannelConfig *chans, SampleType *
|
|||
}
|
||||
|
||||
mOutputChannelLayout = ch_layout;
|
||||
if ((ch_layout == AV_CH_LAYOUT_5POINT1 || ch_layout == AV_CH_LAYOUT_7POINT1
|
||||
|| ch_layout == AV_CH_LAYOUT_QUAD) && !alIsExtensionPresent("AL_EXT_MCFORMATS"))
|
||||
if (ch_layout == AV_CH_LAYOUT_5POINT1 || ch_layout == AV_CH_LAYOUT_7POINT1
|
||||
|| ch_layout == AV_CH_LAYOUT_QUAD) // FIXME: check for AL_EXT_MCFORMATS support
|
||||
mOutputChannelLayout = AV_CH_LAYOUT_STEREO;
|
||||
else if (ch_layout != AV_CH_LAYOUT_MONO
|
||||
&& ch_layout != AV_CH_LAYOUT_STEREO)
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
#include "../mwbase/environment.hpp"
|
||||
#include "../mwbase/soundmanager.hpp"
|
||||
|
||||
#include "al.h"
|
||||
|
||||
#include "sound_decoder.hpp"
|
||||
#include "sound.hpp"
|
||||
|
||||
|
@ -70,14 +68,13 @@ namespace MWSound
|
|||
sampleFormat = AV_SAMPLE_FMT_U8;
|
||||
else if (sampleFormat == AV_SAMPLE_FMT_S16P || sampleFormat == AV_SAMPLE_FMT_S16)
|
||||
sampleFormat = AV_SAMPLE_FMT_S16;
|
||||
else if ((sampleFormat == AV_SAMPLE_FMT_FLTP || sampleFormat == AV_SAMPLE_FMT_FLT)
|
||||
&& alIsExtensionPresent("AL_EXT_FLOAT32"))
|
||||
sampleFormat = AV_SAMPLE_FMT_FLT;
|
||||
else if (sampleFormat == AV_SAMPLE_FMT_FLTP || sampleFormat == AV_SAMPLE_FMT_FLT)
|
||||
sampleFormat = AV_SAMPLE_FMT_S16; // FIXME: check for AL_EXT_FLOAT32 support
|
||||
else
|
||||
sampleFormat = AV_SAMPLE_FMT_S16;
|
||||
|
||||
if ((channelLayout == AV_CH_LAYOUT_5POINT1 || channelLayout == AV_CH_LAYOUT_7POINT1
|
||||
|| channelLayout == AV_CH_LAYOUT_QUAD) && !alIsExtensionPresent("AL_EXT_MCFORMATS"))
|
||||
if (channelLayout == AV_CH_LAYOUT_5POINT1 || channelLayout == AV_CH_LAYOUT_7POINT1
|
||||
|| channelLayout == AV_CH_LAYOUT_QUAD) // FIXME: check for AL_EXT_MCFORMATS support
|
||||
channelLayout = AV_CH_LAYOUT_STEREO;
|
||||
else if (channelLayout != AV_CH_LAYOUT_MONO
|
||||
&& channelLayout != AV_CH_LAYOUT_STEREO)
|
||||
|
|
Loading…
Reference in a new issue