psi29a
436db8c0e5
Merge branch 'ffmpeg5' into 'master'
...
fix hang with ffmpeg5 (ffmpeg_decoder: signal EOF/errors on readPacket)
Closes #6631
See merge request OpenMW/openmw!1941
2022-06-09 20:45:50 +00:00
Dominique Martinet
c5cdb0c277
ffmpeg_decoder: signal EOF/errors on readPacket
...
openmw with ffmpeg 5 would hang in an infinite loop trying to read at end of
files in avformat_open_input()
avio_read() apparently now no longer handlers 0 as a return value to signal
EOF and we need ot explicitly return AVERROR_EOF; their documentation
explicitely states "For stream protocols, must never return 0 but rather
a proper AVERROR code." for avio_alloc_context's read_context.
Also fix the exception case to return AVERROR_UNKNOWN -- I assume we'd
otherwise get stuck there too, but I don't know what would trigger this
case.
Fixes #6631
2022-06-08 12:33:25 +09:00
Evil Eye
3c83117e99
Replace new with make_unique in openmw
2022-05-29 13:24:48 +02:00
psi29a
f17d7fc00b
Merge branch 'string_view' into 'master'
...
Make getStringLiteral return a string_view
See merge request OpenMW/openmw!1896
2022-05-22 20:50:04 +00:00
Evil Eye
c6ca0e78c9
Make getStringLiteral return a string_view
2022-05-21 01:21:55 +02:00
elsid
24712e2cb1
Avoid changing map when updating ptr
...
This is not necessary and has overhead.
2022-05-21 00:12:33 +02:00
elsid
2dc6e755b2
Remove redundant update virtual functions
2022-05-06 23:44:04 +02:00
psi29a
9275b3c08f
Merge branch 'make_shared' into 'master'
...
Use std::make_shared instead of new
See merge request OpenMW/openmw!1753
2022-04-08 21:35:55 +00:00
elsid
4509b05bc8
Use std::make_shared instead of new
...
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
2022-04-08 22:50:09 +02:00
elsid
df092b558b
Replace shared_ptr by unique_ptr
2022-04-08 22:42:22 +02:00
Bret Curtis
74e7cfc023
remove unused includes: part1
...
remove unused imports: part2
revert one tidy we will keep for c++20
2022-01-23 17:30:25 +01:00
Bret Curtis
d1fb854521
move most of the files from esm to esm3, keep common code in esm; this is make space for a future with esm4
...
esm typo
esm typo
2022-01-23 17:04:48 +01:00
Cédric Mocquillon
512d64e514
Extract correctSoundPath method to avoid code duplication. Add unit test for the new method
2021-11-10 23:06:35 +01:00
psi29a
295ebbebbd
Merge branch 'astoecke-fix-6354-sfx-distance-attenuation' into 'master'
...
Fade sounds when performing distance-based culling (Fixes #6354 )
Closes #6354
See merge request OpenMW/openmw!1341
2021-11-09 14:33:52 +00:00
Alexei Dobrohotov
7a0c13fcf8
Make better use of std::clamp
2021-11-06 08:47:32 +03:00
Andreas Stöckel
3ee4aadd88
Heuristic for fading environment sounds in
2021-11-04 16:05:31 -04:00
Andreas Stöckel
1cafef7bdb
Fade water sounds more softly
2021-11-04 16:05:31 -04:00
Andreas Stöckel
9cfa2eeab8
Remove hard maximum distance in the OpenAL driver
...
Hard sound source culling is now handled by the SoundManager.
2021-11-04 16:05:31 -04:00
Andreas Stöckel
6f2e311c58
Fade out sound sources that are no longer close
...
* Handle culling of all sound sources in a separate function cull3DSound
* Add two new settings Sound::sfx fade in duration and Sound::sfx fade out duration
2021-11-04 16:05:31 -04:00
Andreas Stöckel
1583252dd8
Improve sound fading
...
* Implement a more general SoundBase::setFade that can be used to fade to any desired
volume and not just fading out
* Implement SoundBase::setFadeout by using SoundBase::setFade
* Implement an exponential fade mode
2021-11-04 16:05:31 -04:00
Evil Eye
4a6464ea67
Stop trying to play non-existent music files started by scripts
2021-10-13 22:40:07 +02:00
Cédric Mocquillon
c2df0949e2
Change normalizeFilename signature
2021-09-14 18:09:55 +02:00
Cédric Mocquillon
d4e26746a3
Use recurse subdirectory iterator to iterate over the VFS without exposing internal details
2021-09-14 18:09:54 +02:00
jvoisin
5840279f16
Use default
instead of empty constructors/destructors
...
See https://pvs-studio.com/en/docs/warnings/v832/ for details
2021-06-24 00:26:15 +02:00
Dan Church
70a0229010
Fix future FFMpeg API changes
...
avcodec_find_decoder now returns const AVCodec*.
2021-06-01 10:56:48 -05:00
Andrei Kortunov
963e1b8b3f
Fix MSVC's C4244 warnings
2021-05-12 10:34:40 +04:00
fredzio
efb241f1de
Use override instead of virtual
2021-04-11 14:46:51 +02:00
elsid
9275dd2dcb
Avoid virtual dispatch in SoundManager dtor
2021-03-13 18:25:56 +01:00
elsid
b0311ce9f1
Remove DEFAULT_OUTPUT macros
2021-03-13 18:25:56 +01:00
elsid
e30a59772c
Remove DEFAULT_DECODER macros
2021-03-13 18:25:48 +01:00
Gleb Mazovetskiy
1db7d2ec4e
Restore compatibility with FFMpeg < 57.80.100
...
This should fix macOS Travis build broken by 58d33aa95b729d81c236a587b59352c6a7c7f017
2021-03-08 19:29:34 +00:00
Gleb Mazovetskiy
58d33aa95b
AV: Fix all memory leaks
...
The most substantial memory leak came from `PacketQueue::get`
not unreferencing its argument packet.
Other leaks came from using `av_free` instead of type-specific free
functions.
Also modifies `PacketQueue::put` for readability.
2021-03-08 03:16:55 +00:00
elsid
a6aba83741
Remove redundant SoundManager::lookupSound and loadSound
2021-01-09 14:11:49 +01:00
elsid
e4cce88142
Replace std::tie by structured binding
2021-01-09 14:09:27 +01:00
elsid
90c8e77e2c
Remove redundant default Sound_Buffer fields initialization
2021-01-09 14:08:54 +01:00
elsid
24f8a2db27
Use perfect forwarding in Sound_Buffer ctor
2021-01-09 14:07:30 +01:00
elsid
944033db4e
Separate sound buffer pool from sound manager
2021-01-09 02:45:21 +01:00
Andrei Kortunov
8084a336b5
Replace zeroes and nulls by nullptrs
2020-11-29 11:14:07 +04:00
Alexei Dobrohotov
53f91a3aa5
Merge pull request #3018 from akortunov/emplace
...
Use emplace_back instead of push_back
2020-11-01 01:58:56 +03:00
Andrei Kortunov
64ba81ecf2
Fix some issues, found by CoverityScan
2020-10-28 18:02:31 +04:00
unknown
eae9eafb8c
Merge branch 'master' of gitlab.com:OpenMW/openmw into regionsounds
2020-10-25 14:13:14 +01:00
unknown
eebb320916
Wait for the previous sound to stop
2020-10-25 12:20:14 +01:00
Bret Curtis
f6bead88a9
purge boost/optional.hpp headers
2020-10-25 00:58:44 +02:00
Bret Curtis
62b0781f7d
use std::optional instead of boost::optional
2020-10-25 00:33:41 +02:00
unknown
1ce296aa7f
Use fallback values for region sounds and fix probability
2020-10-24 18:54:46 +02:00
Andrei Kortunov
065ed5138e
Use emplace_back instead of push_back
2020-10-18 10:27:35 +04:00
Andrei Kortunov
8ca3c3b123
Mark overrided methods by override keyword
2020-10-16 22:18:54 +04:00
elsid
9240833bda
Init sound by a single object
2020-07-15 19:46:34 +02:00
elsid
1c9ce03575
Lookup sound when need to fade out
2020-07-08 22:43:16 +02:00
elsid
624baa6d89
Check distance to object before load sound
2020-07-07 21:19:00 +02:00