summaryrefslogtreecommitdiffstats
path: root/modules/opus
Commit message (Collapse)AuthorAgeFilesLines
* Remove WebM support (and deps libvpx and opus)Rémi Verschelde2021-10-154-332/+0
| | | | | | | | | | | | | | | | | | | We've had many issues with WebM support and specifically the libvpx library over the years, mostly due to its poor integration in Godot's buildsystem, but without anyone really interested in improving this state. With the new GDExtensions in Godot 4.0, we intend to move video decoding to first-party extensions, and this would likely be done using something like libvlc to expose more codecs. Removing the `webm` module means we can remove libsimplewebm, libvpx and opus, which we were only used for that purpose. Both libvpx and opus were fairly complex pieces of the buildsystem, so this is a nice cleanup. This also removes the compile-time dependency on `yasm`. Fixes lots of compilation or non-working WebM issues which will be linked in the PR.
* Update copyright statements to 2021Rémi Verschelde2021-01-012-4/+4
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* SCons: Add explicit dependencies on thirdparty code in cloned envRémi Verschelde2020-12-181-3/+16
| | | | | | | | | | | | | | Since we clone the environments to build thirdparty code, we don't get an explicit dependency on the build objects produced by that environment. So when we update thirdparty code, Godot code using it is not necessarily rebuilt (I think it is for changed headers, but not for changed .c/.cpp files), which can lead to an invalid compilation output (linking old Godot .o files with a newer, potentially ABI breaking version of thirdparty code). This was only seen as really problematic with bullet updates (leading to crashes when rebuilding Godot after a bullet update without cleaning .o files), but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
* [macOS] Add support for the Apple Silicon (ARM64) build target.bruvzg2020-06-291-0/+3
|
* SCons: Validate dependencies for linked multimedia modulesRémi Verschelde2020-06-031-1/+1
| | | | | | | | This is still a bit hacky and eventually we should rework the way we handle optional dependencies (especially with regard to builtin/system libs), but it's a simple first step. Fixes #39219.
* SCons: Format buildsystem files with psf/blackRémi Verschelde2020-03-302-18/+14
| | | | | | | | | | | | | | | | | | | | | Configured for a max line length of 120 characters. psf/black is very opinionated and purposely doesn't leave much room for configuration. The output is mostly OK so that should be fine for us, but some things worth noting: - Manually wrapped strings will be reflowed, so by using a line length of 120 for the sake of preserving readability for our long command calls, it also means that some manually wrapped strings are back on the same line and should be manually merged again. - Code generators using string concatenation extensively look awful, since black puts each operand on a single line. We need to refactor these generators to use more pythonic string formatting, for which many options are available (`%`, `format` or f-strings). - CI checks and a pre-commit hook will be added to ensure that future buildsystem changes are well-formatted.
* Adding missing include guards to header files identified by LGTM.Rajat Goswami2020-03-231-0/+5
| | | | This addresses the issue godotengine/godot#37143
* opus/vorbis: Remove dead code not used since 3.0Rémi Verschelde2020-03-187-623/+8
| | | | | | | | | | | Since the new audio system in 3.0 we switched the OGG support to stb_vorbis, and the Opus stream support was disabled as incompatible (see #7496). We still build the libraries as they are needed by the theora and webm modules, but we don't need any Godot code apart from `register_types`. Fixes #7496.
* Removed interactive loader, added proper thread loading.Juan Linietsky2020-02-282-2/+2
|
* Update copyright statements to 2020Rémi Verschelde2020-01-016-12/+12
| | | | | | | | | | | Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
* Revert "Update opus to 1.3.1 and opusfile to 0.11"Rémi Verschelde2019-11-181-7/+7
| | | | | | | | | | | | | | This reverts commit e00426c512a7905f5f925d382c443bab7a0ca693. The way we handle platform-specific intrinsics is not good, so the current state will not compile on armv8. This commit also requires SSE4.1 support, which is likely not a good idea for portable binaries. We'll have to redo this with more caution after 3.2 is released, or we might simply drop opus as we're only using it as dependency for theora right now. Fixes #33606.
* Update opus to 1.3.1 and opusfile to 0.11unknown2019-11-091-7/+7
|
* Added some obvious errors explanationsqarmin2019-09-251-6/+2
|
* Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in rest of 'modules/'Robin Hübner2019-08-121-2/+1
|
* Fixes minor issues found by static analyzerqarmin2019-07-071-1/+1
|
* SCons: Use CPPDEFINES instead of CPPFLAGS for pre-processor definesRémi Verschelde2019-07-031-6/+6
| | | | | | | | It's the recommended way to set those, and is more portable (automatically prepends -D for GCC/Clang and /D for MSVC). We still use CPPFLAGS for some pre-processor flags which are not defines.
* Merge pull request #29910 from m4gr3d/dev_deprecate_armv6Rémi Verschelde2019-06-201-1/+1
|\ | | | | Deprecate support for Android armv6 architecture
| * Deprecate armv6 support for Androidfhuya2019-06-191-1/+1
| |
* | Made use of semicolons more consitent, fixed formattingJohnJLight2019-06-191-2/+2
|/
* Unexpose subclasses of ResourceFormatLoader and -SaverRémi Verschelde2019-06-181-1/+0
| | | | | | | | | | | | | | ResourceFormatLoader and ResourceFormatSaver are meant to be overridden to add support for different formats in ResourceLoader and ResourceSaver. Those should be exposed as they can be overridden in plugins. On the other hand, all predefined subclasses of those two base classes are only meant to register support for new file and resource types, but should not and cannot be used directly from script, so they should not be exposed. Also unexposed ResourceImporterOGGVorbis (and thus its base class ResourceImporter) which are editor-only.
* Fix error macro calls not ending with semicolonRémi Verschelde2019-06-111-1/+1
| | | | | | | It's not necessary, but the vast majority of calls of error macros do have an ending semicolon, so it's best to be consistent. Most WARN_DEPRECATED calls did *not* have a semicolon, but there's no reason for them to be treated differently.
* SCons: Always use env.Prepend for CPPPATHRémi Verschelde2019-04-301-2/+2
| | | | | | Include paths are processed from left to right, so we use Prepend to ensure that paths to bundled thirdparty files will have precedence over system paths (e.g. `/usr/include` should have lowest priority).
* SCons: Review uses of CCFLAGS, CXXFLAGS and CPPFLAGSRémi Verschelde2019-04-241-6/+6
| | | | | | | | | | | | | | | | | | | | | | | Many contributors (me included) did not fully understand what CCFLAGS, CXXFLAGS and CPPFLAGS refer to exactly, and were thus not using them in the way they are intended to be. As per the SCons manual: https://www.scons.org/doc/HTML/scons-user/apa.html - CCFLAGS: General options that are passed to the C and C++ compilers. - CFLAGS: General options that are passed to the C compiler (C only; not C++). - CXXFLAGS: General options that are passed to the C++ compiler. By default, this includes the value of $CCFLAGS, so that setting $CCFLAGS affects both C and C++ compilation. - CPPFLAGS: User-specified C preprocessor options. These will be included in any command that uses the C preprocessor, including not just compilation of C and C++ source files [...], but also [...] Fortran [...] and [...] assembly language source file[s]. TL;DR: Compiler options go to CCFLAGS, unless they must be restricted to either C (CFLAGS) or C++ (CXXFLAGS). Preprocessor defines go to CPPFLAGS.
* SCons: Fix OPUS_ARM_OPT flag applied for all android/iphone archesRémi Verschelde2019-04-041-3/+8
| | | | | | | | The first 'if' always evaluated to true, as it evaluated values which are the default ones for Android and iOS respectively, so even if one of them was overridden, the other one would be true. Fixes #27658.
* SCons: Move platform-specific Opus config to its moduleRémi Verschelde2019-03-021-1/+7
|
* opus: Better sync sources list with upstream buildsystemRémi Verschelde2019-02-281-146/+153
|
* Update copyright statements to 2019Rémi Verschelde2019-01-016-12/+12
| | | | Happy new year to the wonderful Godot community!
* Added basic support for custom resource savers and loadersMarc Gilleron2018-12-152-1/+2
|
* SCons: Build thirdparty code in own env, disable warningsRémi Verschelde2018-09-281-5/+7
| | | | | Also remove unnecessary `Export('env')` in other SCsubs, Export should only be used when exporting *new* objects.
* Merge pull request #21982 from luzpaz/misc-typosRémi Verschelde2018-09-131-2/+2
|\ | | | | Misc. typos
| * Misc. typosluz.paz2018-09-121-2/+2
| | | | | | Found via `codespell -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"`
* | Make core/ includes absolute, remove subfolders from include pathRémi Verschelde2018-09-121-2/+2
|/ | | | | | This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
* SCons: Pass env to modules can_build methodRémi Verschelde2018-05-301-1/+1
| | | | | | This allows to disable modules based on the environment, in particular `env[tools]` which tells us if we are building the editor or not.
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-056-6/+15
| | | | | | Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
* Update copyright statements to 2018Rémi Verschelde2018-01-016-18/+18
| | | | Happy new year to the wonderful Godot community!
* Restored opus build since WebM needs it, but disabled it from code.Juan Linietsky2017-12-242-11/+11
|
* -Removed OpenMP support, replaced by a custom class.Juan Linietsky2017-12-241-1/+6
| | | | -Disabled Opus, implementation is wrong.
* Improve slang, especially in user-visible partsUnknown2017-12-051-1/+1
|
* doc: Make all module docs self-containedRémi Verschelde2017-11-151-2/+8
|
* Merge pull request #12014 from hi-ogawa/fix-video-playbackRémi Verschelde2017-11-134-4/+77
|\ | | | | Fix video playback
| * Fix video playbackMatt Hughes2017-10-144-4/+77
| | | | | | | | | | | | | | | | This adds support to - VideoPlayer - VideoStreamWebm - VideoStreamTheora
* | Refactor bufer to bufferPoommetee Ketson2017-10-282-4/+4
|/
* Use BoolVariable for third-party options.Elliott Sales de Andrade2017-09-251-2/+2
|
* Rename get_position => get_playback_position and seek_pos => seek on audio ↵Marcelo Fernandez2017-09-232-5/+5
| | | | classes
* Rename pos to position in user facing methods and variablesletheed2017-09-202-4/+4
| | | | | | | | | | | Rename user facing methods and variables as well as the corresponding C++ methods according to the folloming changes: * pos -> position * rot -> rotation * loc -> location C++ variables are left as is.
* Use HTTPS URL for Godot's website in the headersRémi Verschelde2017-08-274-4/+4
|
* Add "Godot Engine contributors" copyright lineRémi Verschelde2017-04-084-0/+4
|
* A Whole New World (clang-format edition)Rémi Verschelde2017-03-053-130/+132
| | | | | | | | | | | | | | | | | | | | | | | | I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
* Oops! Audio engine has vanished :DJuan Linietsky2017-01-151-1/+2
|
* rename String.extension() -> String.get_extension() / String.basename() -> ↵Juan Linietsky2017-01-141-1/+1
| | | | String.get_basename()