Commit Graph

199 Commits (9edad026f4494de1a6f02ecc3f477faa27a361ef)

Author SHA1 Message Date
Ansariel 6e340961c0 Merge viewer-neko 2019-10-30 18:05:01 +01:00
andreykproductengine 1b4d5492c6 SL-11727 Fix build warnings 2019-10-23 16:37:15 +03:00
Ansariel 542efcb301 Merge Firestorm LGPL 2019-07-20 20:38:10 +02:00
Ansariel ce05cdab6c Fix assignment 2019-07-18 00:04:19 +02:00
Ansariel 562fce5a7d For for errors in FMOD::System::getDriverInfo calls 2019-06-27 23:37:13 +02:00
Ansariel 5e11d2725d Merge Firestorm LGPL 2019-06-13 18:29:33 +02:00
Ansariel 4a4e408e0b Add output device selection for inworld sounds for FMOD Ex as well 2019-06-02 21:19:04 +02:00
Ansariel 36a2de2353 Special request by Keli: Add output device selection for inworld sounds (only available with FMOD Studio!)
Selecting "Default" will always select the first output device; if the available
devices change and the previous default device isn't available anymore, the
viewer automatically switches to the new default device (depends on the OS which
gets the new default one!). Selecting a particular device will NOT automatically
switch to another device if it isn't available anymore (preferences will show
"Unavailable device"), but will switch back to this device once it becomes
available again.

Yank this change before Firestorm releases it and I will gladly yank your unreleased stuff!
2019-05-31 20:12:17 +02:00
Ansariel 6d377d07fa Merge viewer-neko 2019-05-04 01:02:28 +02:00
AndreyL ProductEngine 09dc92b264 SL-10334 Increased allowed sound clip length from 10s to 30s 2019-05-02 02:04:07 +03:00
Liny 375fe0a924 Fix build on osx by fixing equality typo. 2018-10-13 17:24:29 -07:00
Ansariel 872a28c506 FIRE-23152: Fix stream metadata display for OGG Vorbis (might be ICY streaming server specific) 2018-10-11 23:46:48 +02:00
Ansariel 1f02cfc1de Merge viewer-neko 2018-08-16 14:51:06 +02:00
andreykproductengine ac5a547019 MAINT-8958 Handle initDecode crash 2018-08-07 16:10:46 +03:00
Ansariel 5c1c3604b6 Somehow this got mangled up... 2018-01-09 23:15:13 +01:00
Ansariel 5e1c9a92a8 Add support for FMOD Studio, originally by Drake Arconis (Alchemy Viewer), with FS-specific additions by Drakeo 2017-12-16 19:34:03 +01:00
Ansariel b425ccf160 Print out FMOD_ERR_INVALID_HANDLE FmodEx errors as debug level since handles always seem to become invalid when a sound stops 2017-12-11 20:17:56 +01:00
Ansariel ef5b394a81 FIRE-4276: Increase number of audio buffers from 40 to 60 2017-11-28 15:19:43 +01:00
Ansariel 5fa82bfdb7 FIRE-17376: Pass application name to FMOD on Linux when using PulseAudio output type 2017-09-03 16:42:52 +02:00
Ansariel 31e4d9db08 Fix FMOD error logging 2017-09-02 12:04:04 +02:00
Ansariel 0f1891b661 Comment out logspam 2017-01-10 10:24:09 +01:00
Ansariel 743e0c0097 Merge Firestorm LGPL tip 2016-04-23 12:27:34 +02:00
Ansariel f1469a95bb FIRE-17812: Increase sounds length to 60s on OpenSim 2016-04-20 13:35:57 +02:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Ansariel 5e3ec29e30 Remove log message that's not needed anymore 2015-07-24 19:13:18 +02:00
Ansariel 6dd2070446 Add Firestorm tagging to previous commit 2015-06-17 10:20:47 +02:00
Drake Arconis c12f153b68 Audio Engine and FMOD Ex improvements and fixes from Shyotl Kuhr and Drake Arconis 2015-06-16 17:01:40 -04:00
Ansariel 80f42dfdd4 Backed out changeset 158bbab1eb2a (FIRE-12077) as it causes other issues 2015-06-16 20:25:27 +02:00
Nicky 566db89385 FIRE-15975; Do not leave stale locks if flushing a bad file. 2015-06-07 20:52:38 +02:00
Ansariel 5ed7fd5945 Add some more logging output for FIRE-15975 2015-05-31 10:45:56 +02:00
Nicky b9150394a7 FIRE-12077; Contribution by Gibson Firehawk to fix the bug that Linux clients freeze ocassionaly when the stream changes or stops.
From his original commit:

OPEN-279 Potential fix for the BUG-3214 stream stopping issue
Here is what the FMOD documentation says about the stream state FMOD_OPENSTATE_Ready and playing, but not possible to release at this time without stalling the main  Since the FMOD Ex implementation (not sure about the old FMOD 3.75), streams have been released while the stream state is FMOD_OPENSTATE_PLAYING. Before release is called, the stream would only be paused, not stopped. The stream must be stopped for it to no longer be in playing state. Also, there usually needs to be just a little time between when a stream is stopped for it to exit playing state before releasing it. The viewer has been calling release almost instantly after just pausing the stream.
I think s quite possible that, even though releasing streams while they are in playing state t appear to be problematic most of the time, that some of the stream stopping issues such as BUG-3214 are a result of it. In the net streaming example program that comes with the FMOD API, when a stream is to be stopped, stop is called for the channel and then right before release, the program waits not only for the stream to exit playing state, but also for the stream to return to FMOD_OPENSTATE_READY before releasing. Due to the differences in how the viewer has been stopping and releasing streams compared to how FMOD does it in their example program, along with what they say in their documentation about the stream state FMOD_OPENSTATE_PLAYING, i have made the following changes to how streams are stopped and released by the viewer.
1.) Stop the stream channel instead of just pausing it before release so the stream can exit FMOD_OPENSTATE_PLAYING state and return (usually very quickly after stop is called) to FMOD_OPENSTATE_READY.
2.) Converted the dead streams list into a delayed release list. If a s state is not FMOD_OPENSTATE_READY when s checked right before release, push the stream to the delayed release list. Check for delayed release streams during each update like how was done before with the dead streams list and release streams that are in ready state.
3.) During viewer shutdown, call stop on the currently playing stream. After that, check if any streams are in the delayed release list, and, if so, release them when their stream state is ready state. If an unlikely edge case occurs where the streams in the delayed release list are not released in a timely fashion, force release them. The force release added in this change is actually pretty much the equivalent of how streams used to be stopped previously. The main difference, and advantage, is that regardless of which state the stream might be in during force release besides FMOD_OPENSTATE_READY, it won't be in FMOD_OPENSTATE_PLAYING when released.itstreamdoesnitthread.PLAYING -
2015-05-11 14:05:44 +02:00
Nicky 006190f2a1 Merge with tools update. 2015-05-05 13:09:27 +02:00
Oz Linden 9960145ed0 remove redundant include of Audio.cmake 2014-12-15 12:52:26 -05:00
callum_linden f708104e37 Update to build on Xcode 6.0: more removal of unused variables [-Wunused-variable] 2014-10-17 15:14:21 -07:00
callum_linden 76a35059f2 Update to build on Xcode 6.0: clang detecting unsigned int (size_t) comparison with <0 [-Wtautological-compare] 2014-10-17 15:11:10 -07:00
Nicky fc7e96317c FIRE-15882; avoid endless recursion on bad audio data. 2015-04-18 00:24:35 +02:00
Ansariel f14da991e1 FIRE-480: Opening multiple instances causes sound failures; Based on a patch by Jules Joffe contributed to https://jira.secondlife.com/browse/VWR-10592 but heavily modified to make it really work 2015-04-11 11:18:01 +02:00
Ansariel a114bb2778 Fix copy&paste error, found in an old patch by Jules Joffe 2015-03-31 14:40:21 +02:00
Ansariel 17fdda5eb9 FIRE-11266 / BUG-3549 / MAINT-2983: Changing audio device now requires relog to restore sounds; path by Gibson Firehawk 2015-03-20 09:10:44 +01:00
Oz Linden 5519e8eac2 merge changes for OPEN-213 2014-08-18 11:58:04 -04:00
simon 250db74bf9 Pull and merge viewer-release as version 3.7.8 2014-05-07 10:56:41 -07:00
Cinder Biscuits 71c4655235 Fix broken header guard 2014-04-09 22:11:59 +00:00
Richard Linden e5bbdafded merge with release 2014-03-24 19:23:34 -07:00
simon 5c20e06dbd Pull in viewer-release and become version 3.7.5 2014-03-26 10:02:25 -07:00
Monty Brandenberg c62d2cca29 Additions & fixes for lib copy, use only forwarded ptrs in LLAE interfaces.
Copy3rdPartyLibs needed to copy the now-corrected fmodexL libraries
and it had a bad library reference on Linux for release.  In
llaudio land, the audio engine interfaces, even the fmodex
specializations, seem to want to be external-structure free
so use a forward declaration and pointer to FMOD_DSP_DESCRIPTION
and deal with it in the ctor/dtor.
2014-03-14 20:58:35 -04:00
Monty Brandenberg 4f565ed077 Update fmodex to 4.44.31. Move DSP descriptor to heap storage. 2014-03-14 19:48:35 -04:00
maksymsproductengine 36c8c92098 MAINT-3804 FIXED Crash in LLAudioEngine::getAudioData when playing gestures with audio device disabled. 2014-03-14 06:39:09 +02:00
Richard Linden 5b846ed2a6 merge with release 2014-03-12 12:48:43 -07:00
Ansariel ad1605950e Pass source object UUID as const ref 2014-06-19 17:24:50 +02:00