Commit Graph

29 Commits

Author SHA1 Message Date
halx99 786eaafe56 Tidy audio source, unify headers: AudioEngineImpl.h AudioPlayer.h 2020-07-31 14:32:08 +08:00
halx99 484e4be579 [Audio] Improve mutex use 2020-06-04 23:11:24 +08:00
halx99 2cbb902813 [WAV] Finished MSADPCM & IMA4 compress format support. 2020-06-04 12:26:25 +08:00
halx99 9c0ef83757 optimize 2019-11-30 06:55:32 +08:00
halx99 121e09ee0d ogg for ios 2019-11-30 06:11:17 +08:00
halx99 7efc643e54 fix ios compile issue, merge header AudioCache.h 2019-11-26 02:33:54 +08:00
halx99 a759332591 Refactor AudioEngine implementation, use OpenAL for all platforms. 2019-11-24 14:54:45 +08:00
minggo 6b1e55f419
Remove experimental namespace (#20229) 2019-10-23 14:58:31 +08:00
leda 8d4ee80ac1
add test case for issue #18597(audio crash on iOS), and fix (#18865)
* use atomic_bool type for _isRotateThreadExited

* add test case for issues 18597

* fix test case error

* add data race comments, fix lock usage error

* add comments for audioplayer

* fix typo in comments

* revert wrong changes

* update test case, keep reproduce

* add alSourceUnqueueBuffers before stop

* improve UnqueueBuffers

* detail test case to show side effect

* remove unused comments

* add comments for AudioPlayer change

* correct a audio log level

* change log level from W to VV

* update time step, add play state check

* remove record time of UnqueueBuffers
2018-07-11 09:36:57 +08:00
leeda 18a6d8241d update Copyright. might need manual fix later (#18659)
* Copyright use python script updated. might be fix by manual later

* Revert "Copyright use python script updated. might be fix by manual later"

This reverts commit 49e99418e4da1fd02afda448ddeb16210f5e8c71.

* re modify copyright, consider utf-8-sig encoding

* another situation, add Copyright before  "Permission is hereby granted"

* Revert "another situation, add Copyright before  "Permission is hereby granted""

This reverts commit ee82591d32353c7ce2e146fe51ef447433b47571.

* another situation, add Copyright before Permission is hereby granted

* change "Copyright (c) 2016-2016 Chukong Technologies Inc." to " Copyright (c) 2016 Chukong Technologies Inc."

* script modify copyright, consider is cocos copyright or not

* change "Copyright (c) 2017 Chukong Technologies Inc." to "Copyright (c) 2016 Chukong Technologies Inc."

* manual fix, not fix audio related

* change "2016-2016" to "2016"
2018-01-29 16:25:32 +08:00
Tiago Martines 74a6fd3293 Do not define VERY_VERY_VERBOSE_LOGGING by default. (#18036) 2017-07-06 14:57:02 +08:00
James Chen 567fa5b0a7 fixed #17800: [iOS] Streaming audio (normally a background music) maybe cut and may not be looped. (#17947)
* fixed #17800: [iOS] Streaming audio (normally a background music) may be cut and may not be looped.

* Updates including.
2017-06-20 09:04:04 +08:00
CocosRobot d07794052f Update license to 2017 (#17362)
* Typo: CopyRight -> Copyright

* Copyright update: chukong-inc.com -> Chukong Technologies Inc.

* [js files] Copyright update: 2014 -> 2014-2017

* [cpp files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2015 -> 2015-2017

* [js files] Copyright update: 2014 -> 2014-2017

* Copyright update: 2016 -> 2016-2017

* Copyright update: 2013 -> 2013-2017

* Copyright update: 201?-201? -> 201?-2017

* License year fixes.

* Liscene year fix in CCRay.cpp

* Updates license years in CCGLProgramState.h & CCGLProgramStateCache.h
2017-02-14 14:36:57 +08:00
j-jorge c616d6d9ff Compilation fix (#17209)
* Fix various compilation issues.

Mostly errors on field initialization order but also missing files
in CMakeLists and missing include directives.

* Fix compilations issues with GCC 6.2

* Fix gitignore libs/ entry to not ignore the Android external libraries.
2017-02-04 09:46:32 +08:00
James Chen effb6f077a [mac, ios] 'ExtAudioFileRead' may return 0 frame while it doesn’t reach the end of very short audio file. (#17011)
* [mac, ios] Adds AudioDecoder::readFixedFrames. And uses readFixedFrames to simply code.

* [mac, ios] ‘ExtAudioFileRead’ may return 0 frame while it doesn’t reach the end of very short audio file.

* [mac, ios] Adds test case for small file test.

* [mac, ios] Adds small audio file.

* [mac, ios] Macro ‘BREAK_IF’ logic fix.

* [mac, ios] Returns false of AudioDecoder::open if total frames is 0.
2016-12-15 09:58:47 +08:00
James Chen b80e316150 fixed #16938: Audio could not be played entirely on iOS/macOS. And refactored some code of decoding. (#16946)
* fixed #16938: Audio could not be played entirely on iOS/macOS. And refactored some code of decoding.

* Adds license header, removes unused macros.

* issue #16938: Corrects remaining frame count calculation.

* Updates include path.

* Adds comments for AudioDecoder class.

* Adds const for getter functions in AudioDecoder.

* issue #16938: Adds test case.

* Updates license years.

* Deletes trailing white spaces.
2016-12-02 13:52:37 +08:00
James Chen b8f127e601 fixed #16547: [ios, mac] Protencial memory leak in AudioPlayer.mm. (#16556)
If playing a large audio and its loop flag is set to false, after the audio is played over, there will be 4 or 8 bytes memory leak by _rotateBufferThread variable.

Resolution:

The `isDestroy` flag should not be set to true in rotate buffer thread, to exiting the thread, we need another varible for this purpose.

Thanks @nicolechen819 for the feedback.
2016-09-12 09:48:27 +08:00
James Chen bb004c5e22 [audio] Fixes some issues while stop/uncache right after play/preload on OSX/iOS platform. (#16147)
* [audio] Fixes some issues while stop/uncache right after play/preload on OSX/iOS platform.

* Better state control in AudioCache.

* Adds State enum class which contains INITIAL, LOADING, READY, FAILED states.
* AudioPlayer::destroy should check AudioCache::_isAudioLoaded flag, otherwise, app will freeze in cpp-tests/NewAudioEngineTest/6:Test invalid audio file.

* Should check whether state is INITIAL in the destructor of AudioCache.

* Adds test case for switching play state frequently.

* Skips invoking reading data callback if cache's state is INITIAL.

* Variables initialization for AudioCache class and fixes protential missing delete AL buffers.
2016-07-21 14:57:59 +08:00
halx99 fa4bfe43d8 fix AudioEngine bug for iOS, UTF8 filePath (#15743)
* fix AudioEngine bug for iOS, UTF8 filePath

Fix bug for apple platform, open audio file failed with chinese App Name.

* Update AudioPlayer.mm
2016-05-30 10:47:48 +08:00
Xpol Wan 931d56bc10 Fixes includes in .m and .mm files. 2016-03-21 11:02:00 +08:00
Wenhai Lin b46000287e AudioEngine:Fixed crash cause by multiple threads access into a shared unsynchronized data.[iOS/Mac] 2015-08-11 18:11:59 +08:00
Wenhai Lin c06b5c5570 AudioEngine:Fixed play audio may fail when switch to new scene on iOS. 2015-07-01 17:19:28 +08:00
Justin Hawkwood 237e809f23 Remove use of autorelease NSString and NSURL
Since there is no autorelease pool, these were leaking.
2015-03-30 16:27:05 -07:00
Ricardo Quesada 33a2d0451c Code conforms with the cocos2d-x c++ guidelines 2014-11-25 17:53:52 -08:00
Ricardo Quesada 50dcae4bef fixes compiler warnings 2014-11-14 13:07:34 -08:00
Dhilan007 02fcb6488a Merge branch 'v3' of https://github.com/cocos2d/cocos2d-x into v3-audio-win32
Conflicts:
	cocos/2d/libcocos2d.vcxproj.filters
	tests/cpp-tests/proj.win32/cpp-tests.vcxproj
2014-09-30 14:19:27 +08:00
minggo 804b26344e fix warnings 2014-09-30 11:58:38 +08:00
Dhilan007 7ebe4a5548 Merge branch 'v3' of https://github.com/cocos2d/cocos2d-x into v3-audio-win32
Conflicts:
	cocos/audio/AudioEngine.cpp
	cocos/audio/apple/AudioPlayer.h
	cocos/audio/include/AudioEngine.h
	tests/cpp-tests/Classes/NewAudioEngineTest/NewAudioEngineTest.cpp
	tests/cpp-tests/Classes/NewAudioEngineTest/NewAudioEngineTest.h
2014-09-30 09:45:47 +08:00
Ricardo Quesada 7a1dac5aa6 Fixes audio issues when using CMake on Mac 2014-09-29 14:07:11 -03:00