Added AllowLargeSounds setting to disable v2 sound-decode strictness
Conflicts: indra/newview/app_settings/settings.xml
This commit is contained in:
@@ -249,7 +249,7 @@ BOOL LLVorbisDecodeState::initDecode()
|
|||||||
llwarns << "Bad sound caught by zmagic" << llendl;
|
llwarns << "Bad sound caught by zmagic" << llendl;
|
||||||
abort_decode = true;
|
abort_decode = true;
|
||||||
}
|
}
|
||||||
else
|
else if(!gAudiop->getAllowLargeSounds())
|
||||||
{
|
{
|
||||||
// </edit>
|
// </edit>
|
||||||
//Much more restrictive than zmagic. Perhaps make toggleable.
|
//Much more restrictive than zmagic. Perhaps make toggleable.
|
||||||
|
|||||||
@@ -115,6 +115,8 @@ void LLAudioEngine::setDefaults()
|
|||||||
|
|
||||||
for (U32 i = 0; i < LLAudioEngine::AUDIO_TYPE_COUNT; i++)
|
for (U32 i = 0; i < LLAudioEngine::AUDIO_TYPE_COUNT; i++)
|
||||||
mSecondaryGain[i] = 1.0f;
|
mSecondaryGain[i] = 1.0f;
|
||||||
|
|
||||||
|
mAllowLargeSounds = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -187,6 +187,8 @@ public:
|
|||||||
|
|
||||||
bool updateBufferForData(LLAudioData *adp, const LLUUID &audio_uuid = LLUUID::null);
|
bool updateBufferForData(LLAudioData *adp, const LLUUID &audio_uuid = LLUUID::null);
|
||||||
|
|
||||||
|
void setAllowLargeSounds(bool allow) { mAllowLargeSounds = allow ;}
|
||||||
|
bool getAllowLargeSounds() const {return mAllowLargeSounds;}
|
||||||
|
|
||||||
// Asset callback when we're retrieved a sound from the asset server.
|
// Asset callback when we're retrieved a sound from the asset server.
|
||||||
void startNextTransfer();
|
void startNextTransfer();
|
||||||
@@ -260,6 +262,8 @@ protected:
|
|||||||
private:
|
private:
|
||||||
void setDefaults();
|
void setDefaults();
|
||||||
LLStreamingAudioInterface *mStreamingAudioImpl;
|
LLStreamingAudioInterface *mStreamingAudioImpl;
|
||||||
|
|
||||||
|
bool mAllowLargeSounds;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ bool LLAudioEngine_FMOD::init(const S32 num_channels, void* userdata)
|
|||||||
// This means we also try to play audio when minimized,
|
// This means we also try to play audio when minimized,
|
||||||
// so we manually handle muting in that case. JC
|
// so we manually handle muting in that case. JC
|
||||||
fmod_flags |= FSOUND_INIT_GLOBALFOCUS;
|
fmod_flags |= FSOUND_INIT_GLOBALFOCUS;
|
||||||
|
fmod_flags |= FSOUND_INIT_DSOUND_HRTF_FULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LL_LINUX
|
#if LL_LINUX
|
||||||
|
|||||||
@@ -9,6 +9,17 @@
|
|||||||
<string>settings_rlv.xml</string>
|
<string>settings_rlv.xml</string>
|
||||||
</array>
|
</array>
|
||||||
|
|
||||||
|
<key>AllowLargeSounds</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Bypass stricter sound size/sample checks, which were introduced in SL2.x, for sound decoding.</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</map>
|
||||||
<key>FloaterAvatarTextRect</key>
|
<key>FloaterAvatarTextRect</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|||||||
@@ -687,6 +687,8 @@ bool idle_startup()
|
|||||||
if(init)
|
if(init)
|
||||||
{
|
{
|
||||||
gAudiop->setMuted(TRUE);
|
gAudiop->setMuted(TRUE);
|
||||||
|
if(gSavedSettings.getBOOL("AllowLargeSounds"))
|
||||||
|
gAudiop->setAllowLargeSounds(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -583,6 +583,12 @@ static bool handlePhoenixNameSystemChanged(const LLSD& newvalue)
|
|||||||
}
|
}
|
||||||
// [/Ansariel: Display name support]
|
// [/Ansariel: Display name support]
|
||||||
|
|
||||||
|
static bool handleAllowLargeSounds(const LLSD& newvalue)
|
||||||
|
{
|
||||||
|
if(gAudiop)
|
||||||
|
gAudiop->setAllowLargeSounds(newvalue.asBoolean());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
void settings_setup_listeners()
|
void settings_setup_listeners()
|
||||||
{
|
{
|
||||||
@@ -754,6 +760,8 @@ void settings_setup_listeners()
|
|||||||
// [Ansariel: Display name support]
|
// [Ansariel: Display name support]
|
||||||
gSavedSettings.getControl("PhoenixNameSystem")->getSignal()->connect(boost::bind(&handlePhoenixNameSystemChanged, _1));
|
gSavedSettings.getControl("PhoenixNameSystem")->getSignal()->connect(boost::bind(&handlePhoenixNameSystemChanged, _1));
|
||||||
// [/Ansariel: Display name support]
|
// [/Ansariel: Display name support]
|
||||||
|
|
||||||
|
gSavedSettings.getControl("AllowLargeSounds")->getSignal()->connect(boost::bind(&handleAllowLargeSounds, _1));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <> eControlType get_control_type<U32>(const U32& in, LLSD& out)
|
template <> eControlType get_control_type<U32>(const U32& in, LLSD& out)
|
||||||
|
|||||||
Reference in New Issue
Block a user