Commit Graph

369 Commits

Author SHA1 Message Date
James Chen 1fed9ae33b [ci skip]fix android AudioEngine Crash (#18124) (#18209)
* *fix android AudioEngine Crash

switch to background when sound effect is about to end, it's maybe crashed when switch to foreground again

* use "emplace" instead of "insert"
2017-09-01 11:30:10 +08:00
James Chen 1360c2860a Fixes compilation errors for android audio module while building with x86 arch. (#18150)
* Fixes compilation errors for android audio module while building with x86 arch.

* Update bitops.h
2017-08-22 15:13:08 +08:00
newnon 70ea1fc4d1 fix for ios audio engine (#18146) 2017-08-22 09:46:15 +08:00
Tyler Dauch a7d7aaa368 Update AudioCache.h (#18136) 2017-08-10 17:40:24 +08:00
Felippe Durán 78818ca275 Fix AudioEngine thread concurrency crash between myAlSourceNotificationCallback and _play2d iterating over _audioPlayers. (#18083) 2017-07-18 11:12:20 +08:00
Tiago Martines 74a6fd3293 Do not define VERY_VERY_VERBOSE_LOGGING by default. (#18036) 2017-07-06 14:57:02 +08:00
minggo 61839e7a5b fix warnings (#17970) 2017-06-23 17:46:37 +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
James Chen 5620e30f32 fixed #17922: [android] AudioEngine may crash while audio's over and stop state is triggered at the same time. (#17923)
* fixed #17922: [android] AudioEngine may crash while audio's over and stop state is triggered at the same time.
The Pull Request #17748 didn't resolve the issue since _track->getPrevState will be wrong while in scheduler callback. We need to capture it in lambda.
My Pull Request also merges PR #17716 to make filePath captured by lambda.

* Adds missing log tag in AudioEngine-inl.cpp
2017-06-13 17:44:04 +08:00
minggo 4ca29ac1cf Merge v3.15.1 (#17897)
* remove APP_SHORT_COMMANDS setting (#17722)

some developers report it will cause error on Windows though i can not reproduce it. It is strange, the setting is used to resolve command length limitation on Windows.

* Particle font size should be a const value (#17676)

* Particle font size should be a const value

* Minor fix: CCStencilStateManager.hpp -> CCStencilStateManager.h in xcode project.

* JSB SocketIO.connect supports to pass a CA cert file (#17736)

* JSB SocketIO.connect supports to pass a CA cert file

* The second parameter of SocketIO.connect function is probably a `option` object. JSB just ignores it.

* The optimization for huawei. (#17832)

* The optimization for huawei.

* setAnimationInterval fix for all platforms.

* disable debug

* include fix.

* Uses better configuration for huawei optimization (#17838)

* Uses better configuration for huawei optimization

* Updates jar file and uncomment fps controlling code

* [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#17840)

* update release not and version (#17845)

* [android] Removes an unused variable sRegistered in Cocos2dxActvity.java. (#17861)

* Updates jar to resolve warning while packaging APK file. (#17863)

* update release date (#17870)

* fix compiling error
2017-06-05 13:37:50 +08:00
James Chen 474491a5d6 Call 'update' method in 'stop/stopAll' to cleanup immediately (#17846) 2017-05-22 11:12:17 +08:00
Vladimir Perminov 4fccfb2102 [Win32] Fix AudioDecoder fopen unicode. (#17815)
If use fopen to need convert utf8 string FileUtils::getSuitableFOpen.
ov_fopen and mpg123_open use fopen.
2017-05-16 09:45:33 +08:00
James Chen 77f2f82b7a [android] Audio Engine crash on Android when playing and stopping some audios repeatedly. (#17748) 2017-04-27 09:48:13 +08:00
minggo ee84d9f12e update v3.15 2017-04-14 13:45:32 +08:00
James Chen 3c1e36c2c3 Cleanup AudioEngine resource after exiting NewAudioEngineTest. (#17675)
* Unschedules update in AudioEngine implementation while AudioEngine::end is called.

* Cleanup AudioEngine resource after exiting NewAudioEngineTest.
2017-04-13 17:58:49 +08:00
James Chen 57170200dd fixed #17685: [android] Audio in game couldn't be mute while a ring or a call is coming (#17686)
* fixed #17685: [android] Audio in game couldn't be mute while a ring or a call is coming

* Updates comments in AudioEngine-inl.cpp and removes extra empty line in javaactivity-android.cpp

* Puts audio focus relative code to another java file named Cocos2dxAudioFocusManager.java
Renames setAudioFocusLost to setAudioFocus.

* Renames JNI function.

* Register audio focus in onResume and unregister it in onPause.
2017-04-13 10:44:08 +08:00
James Chen 1f39fd5fdf CocosDenshionTest, unload doesn't work for android 5.0.1 devices (#17662) 2017-04-10 10:14:47 +08:00
James Chen 439f371758 fixed #17619: [android] Crash if uncache audio in the finished callback (#17620) 2017-03-31 09:38:45 +08:00
James Chen 6217d8c5ca fixed #17591: [ios, mac, win32] Audio could not be played in the callback of AudioEngine::setFinishedCallback (#17593)
* Moves the implementation of AudioEngine::AudioInfo to cpp file.

* fixed #17591: [ios, mac, win32] Audio could not be played in the callback of AudioEngine::setFinishedCallback

* fixed #17591: Adds test case.
2017-03-27 17:28:39 +08:00
James Chen ab9104f3ce Updates templates for switching AudioEngine in AppDelegate.cpp. (#17555) 2017-03-22 11:19:25 +08:00
James Chen 1f8eb3b7f5 fixed #17494: Adds setTimeout to wrap NSTimer since ‘timerWithTimeInterval:repeats:block’ is only available from iOS 10, macOS 10.12. (#17518)
* fixed #17494: Adds setTimeout to wrap NSTimer since ‘timerWithTimeInterval:repeats:block’ is only available from iOS 10, macOS 10.12.

* Sets _timeoutCallback to nullptr if onTimeoutCallback is called.
2017-03-16 11:04:36 +08:00
James Chen 8c542d711d issue #17503: Avoid crash if initializing audio fails. (#17505)
* issue #17503: Avoid crash if initializing audio fails.

* Corrects logic of checking the return value of decodeMP3.
2017-03-15 16:46:19 +08:00
James Chen 16e1bf47ac fixed #17494: [iOS] CrashIfClientProvidedBogusAudioBufferList (#17500) 2017-03-15 13:50:56 +08:00
James Chen b842202541 fixed #17395: OpenAL A003 error if doing AL invocation before alcMakeContextCurrent(s_ALContext); (#17492)
Pause director if Audio Session is still in interrupted state, resume director in interrupted ended.
2017-03-14 13:56:12 +08:00
James Chen 1dccd7b85b fixed #17395: AudioEngine alSourcePlay error code:a003 in lua-tests. (#17485) 2017-03-13 11:37:23 +08:00
James Chen eca39ba7aa fixed #17413: [Android] AudioEngine::play2d may still wait 2 seconds if preload is too fast. (#17414) 2017-02-27 15:11:39 +08:00
James Chen c86d7b0d2f fixed #17397: Updates CMakeList.txt for win32 audio module (#17401) 2017-02-23 16:13:26 +08:00
James Chen 41f135ec27 [Android] Software decoding while preloading audio files to avoid some crashes on some specific android devices, and it’s 5x - 15x faster than the old implementation. (#17233)
* [Android] Software decoding while preloading audio files to avoid some crashes on some specific android devices, and it’s 2x faster than the old implementation.

* Updates external/config.json to 126

* Updates library path, adds ‘android-specific’ prefix.

* Updates config.json to 127
2017-02-16 16:23:10 +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
Wilson E. Alvarez b672b94edc Removed unnecessary assignments (#17328) 2017-02-09 10:57:01 +08:00
Wilson E. Alvarez 5d748f941b Mitigate cppcheck message (#17323) 2017-02-08 15:32:01 +08:00
minggo 92704517bc remove unneeded assignment (#17320) 2017-02-08 13:58:11 +08:00
Dmitry 4bf1750cbd issue #17305 fix: cocos/audio/win32/AudioCache.h fixed include <AL/al.h> (#17306) 2017-02-08 10:22:05 +08:00
mogemimi 777a97e141 Fix typo in AudioState (#17258) 2017-02-04 10:34:34 +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
minggo f63fad3e27 Merge branch 'v3.14' into merge-v314 2017-01-04 09:49:22 +08:00
James Chen e4e872a065 fixed #16849: Preload many audios may cause crash on devices those use Samsung Exynos CPU. (#17049)
* fixed #16849: Preload many audios may cause crash on devices those use Samsung Exynos CPU.

* Adds comment for __SLPlayerMutex variable.

* Fixes wrong comments in AudioDecoder.cpp
2016-12-29 15:41:47 +08:00
James Chen 208d39151e Reverts create thread pool code, android doesn't need to create a thread pool in AudioEngine.cpp (#17081) 2016-12-29 10:22:45 +08:00
James Chen be43c4210f Fixes crash that playing long audio and then uncacheAll (#17079)
* Fixes crash of playing long audio then uncacheAll.

* update

* Updates comments in MciPlayer.h

* tab -> 4spaces

* include path fix.
2016-12-29 10:05:13 +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 ed72691bc9 [ios/macOS] Fixed a compilation error after enabling ‘CD_USE_STATIC_BUFFERS’. (#16997) 2016-12-13 13:37:31 +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
Wilson E. Alvarez fd6e10f0f5 Let FMOD autodetect the best output mode for Linux (#16819)
Thanks to filippovdaniil for the suggestion
2016-11-10 11:30:30 +08:00
James Chen 609750ef58 fixed #16754: [android] Background music which is playing could not be paused while game enters background. (#16755)
* fixed #16754: [android] Background music which is playing could not be paused while game enters background.

* Updates a comment of cocos/audio/android/AudioEngine-inl.h
2016-10-28 10:12:52 +08:00
Wilson E. Alvarez c0e1e91373 Performance tweak: Use range-based for-loops and allocate std::vector size() and *end() on the stack where favorable. (#16716)
* Use range-based for-loops and allocate std::vector size(), end(), cend(), rend(), crend() on the stack where favorable.

Other minor trivial changes were applied.

* Fixed Android compilation error

* Fixed windows-universal compilation error
2016-10-27 15:10:24 +08:00
QingliWang 7c1f88423b Fix bug when app paused the music is still resumed to play after interruption completed. (#16679)
* Support audio interruption and resume callback when change earphone status.

* Refactor keyevent callback and add makecurrent for compatible with different binary.

* Enable Tizen indicator.

* Remove the unnecessary evasobject in the window and refactor the function for glview mode.

* Fix the compatible issue between Tizen 2.3 and 2.4.

* Fix the wrong directory of script resources for HellLua template project.

* Create performance-test project for Tizen platform.
2016-10-12 15:48:27 +08:00
Wilson E. Alvarez cdee1e11de Performance tweak: use range-based for-loops instead of iterator-based for-loops. (#16642)
* Use ++ prefix instead for non-primitive data types in CCAutoPolygon.cpp

* Use ++ prefix instead for non-primitive data types in SimpleAudioEngine.cpp

* Use ++ prefix instead for non-primitive data types in CCNodeLoaderLibrary.cpp

* Use ++ prefix instead for non-primitive data types in CCActionManagerEx.cpp

* Use ++ prefix instead for non-primitive data types in CCDataReaderHelper.cpp

* Use ++ prefix instead for non-primitive data types in HttpClient-android.cpp

* Use ++ prefix instead for non-primitive data types in CCDevice-linux.cpp

* Use ++ prefix instead for non-primitive data types in ScriptingCore.cpp

* Switched implementation to range-based for loops

* Added readability, fixed loop in CCDataReaderHelper.cpp

Thanks to Dimon4eg for the code review.
2016-10-11 10:59:44 -07:00
colajam93 1d3a40f8be Fix warning (#16591) 2016-09-20 14:50:47 +08:00
minggo 84a102edf8 merge v3.13.1 back to v3 2016-09-15 10:08:28 +08:00
minggo 3075108f1c get sdk version from java (#16546) 2016-09-12 09:49:39 +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
minggo c51605971f fixed #16490: [android, audio] AudioEngine::stop() triggers 'finished' callback (#16491) (#16524) 2016-09-06 10:58:43 +08:00
minggo 9dc737901b fixed #16473: OpenSLES error while play background music in writable path or sdcard. (#16475) (#16521) 2016-09-06 09:41:53 +08:00
James Chen 64c62d37c2 fixed #16490: [android, audio] AudioEngine::stop() triggers 'finished' callback (#16491) 2016-09-01 16:06:29 +08:00
James Chen 6d27868918 fixed #16473: OpenSLES error while play background music in writable path or sdcard. (#16475) 2016-09-01 11:47:33 +08:00
James Chen 01e67f6203 fixed #16477: [android, audio] Deadlock if preload the same file more than 3 times in preload callback. (#16478)
And added test case.
2016-09-01 11:46:27 +08:00
James Chen 35f937cd40 AudioMixerController::initTrack should not setState for track. Otherwise, it may trigger Track state mess-up. (#16476)
* Warning fixes in AudioDecoder.cpp

* AudioPauseResumeAfterPlay test case should start in onEnter.
And add a loop to pause & resume many times.

* AudioMixerController::initTrack should not setState for track. Otherwise, it may trigger Track state mess-up.
2016-09-01 11:43:37 +08:00
minggo 04fd2b16b2 merge v3.13 back to v3 2016-08-29 11:57:13 +08:00
minggo 20a0798007 avoid to use __system_get_property__ (#16433)
* avoid to use __system_get_property__

* add utils

* revert console
2016-08-24 17:11:41 +08:00
James Chen 727c501285 Fixes crash while invoking pause&resume right after play2d. (#16406) 2016-08-22 09:43:06 +08:00
minggo 92ed162cbe replace replace __system_property_get() since it is deprecated in 64 bit android NDK (#16398) 2016-08-19 11:49:33 +08:00
James Chen 8af275c4a6 Fixes potential crash in AudioEngine::uncache(filePath). (#16345) 2016-08-11 16:06:59 +08:00
James Chen f44f253179 [Android] Notify waitup only while preloadEffect(info, cb) is invoked in play2d. (#16320)
Currently, if a audio isn't preloaded, then play2d will wait the preload operation to finish.
2016-08-05 14:07:19 +08:00
mogemimi a5f36e70a5 Add explicit type casts to suppress -Wformat warnings (#16306) 2016-08-05 09:46:50 +08:00
James Chen b135d512d2 Update copyright to 2016. (#16311) 2016-08-05 09:42:15 +08:00
mogemimi 3175316131 Fix format string warning when compiling for iOS armv7 (#16298) 2016-08-04 09:54:27 +08:00
James Chen cc9871b71d fixed #10482: New AudioEngine class can't play large ogg file on Win32. (#16303)
* fixed #10482: New AudioEngine class can't play large ogg file on Win32.

* [win32] Small logic fix in AudioPlayer::readPcmData.
2016-08-04 09:53:30 +08:00
mogemimi c03dd85c3f Remove redundant includes (#16285) 2016-08-01 10:22:35 +08:00
QingliWang bbfd2d334c Some bug-fix and quality assurance for Tizen support. (#16281)
* Support audio interruption and resume callback when change earphone status.

* Refactor keyevent callback and add makecurrent for compatible with different binary.

* Enable Tizen indicator.

* Remove the unnecessary evasobject in the window and refactor the function for glview mode.

* Fix the compatible issue between Tizen 2.3 and 2.4.

* Fix the wrong directory of script resources for HellLua template project.

* Create performance-test project for Tizen platform.
2016-07-31 22:32:59 +08:00
minggo a8ce513f6c Merge pull request #16228 from dumganhar/fix/iss14148-ios-no-sound
fixed #14148: Got an error while pressing home button at launch, after resuming from background, SimpileAudioEngine::playEffect will be mute.
2016-07-29 09:28:37 +08:00
James Chen 6efcf87b93 fixed #14148: Got an error while pressing home button at launch, after resuming from background, SimpileAudioEngine::playEffect will not be mute.
The error is: ERROR: [0x19e5fa000] >aurioc> 807: failed: '!pla' (enable 2, outf< 2 ch, 44100 Hz, Float32, non-inter> inf< 2 ch, 0 Hz, Float32, non-inter>)
2016-07-27 15:33:02 +08:00
James Chen bd1d630f93 fixed #16192: Crash while decoding small MP3 file on Android. 2016-07-27 13:54:39 +08:00
minggo 662a1636c3 replace __system_property_get (#16205)
* replace __system_property_get

* fix comment
2016-07-25 18:30:47 +08:00
mogemimi 15030ad4c3 Fix typos in log messages 2016-07-25 02:53:22 +09:00
minggo 8419cc2662 Merge pull request #16183 from SaxonDruce/android-willplaymusic
Implement willPlayBackgroundMusic() on Android
2016-07-22 10:57:26 +08:00
mogemimi 94d4971ddc Fix typos in documentation and comments 2016-07-22 02:05:19 +09:00
SaxonDruce bbedddbf08 Fix bugs with music not resuming when iOS app is reactivated (#16178)
* Pause instead of stopping music on resign

The [audioSource stop] causes the music to be stopped, and therefore it fails to resume later on a call to [audioSource resume], due to the addition of the if (!stopped) check in resume added in 26a04b38f2

* Don't re-pause music that has already been paused

In this situation:

1. Start game, music plays
2. Switch to Music app, game music paused, start other music
3. Switch to game, game music not resumed due to other music playing
4. Switch to Music app, stop other music
5. Switch back to game, game music should resume due to no other music playing

At step 5 the game music doesn't currently resume. This is because at step 4 when switching to the Music app, the game music gets re-paused (actually isPlaying is false, so systemPaused is set to NO, even though the music *is* still paused). This causes the music to not be resumed at step 5.

This change fixes this, by skipping the pause logic if systemPaused is already true.

Note that this is dependent on https://github.com/cocos2d/cocos2d-x/pull/16178

* Fix typo in previous fix.
2016-07-21 17:41:24 +08:00
James Chen 233f2111b9 fixed #16170: Random crash in alGenBuffers(AudioCache::readDataTask) at startup. (#16182)
* fixed #16170: Random crash in alGenBuffers(AudioCache::readDataTask) at startup.

* Minor fix: should -> may

* Minor fix: updates comments.

* Update comment.

* Comment fix again.
2016-07-21 16:51:04 +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
Saxon Druce de091cd3d9 Implement willPlayBackgroundMusic() on Android, to return false if there is other music already playing in another app. 2016-07-21 14:29:13 +08:00
James Chen 2e5626236b Remove unused code in cocos/audio/openal 2016-07-20 14:49:39 +08:00
James Chen 15ef80e27d [big refactoring] Audio latency fix for Android. Support to preload effects on Android now. (#15875)
* Audio latency fix for Android. Support preload effects on Android now.

Squashed commits:
[b6d80fe] log fix
[a0a918e] Fixes assetFd didn't be released while PcmData is returned from cache.
[4b956ba] Potential crash fix for PcmAudioPlayer while pause / resume.
[398ab8c] Updates LOG_TAG position in AudioEngine-inl.cpp
[e3634e7] include stdlib.h for posix_memalign
[9004074] fixes setVolume logical error.
[c96df46] Don't use another thread for mixing, enqueue is in a seperated thread, therefore doing mixing in another thread will waste more time.
[0a4c1a8] Adds setLoop, setVolume, setPostion support for Track
[c35fb20] Fixed include.
[cdd9d32] Do mixing by ourself. (TO BE POLISHED)
[6447025] µ -> u since µ could not be shown on some android devices.
[97be0c6] Don't send a silence clip.
[c1607ed] Make linter.py happy.
[0898b54] Puts enqueue & SetPlayState in PcmAudioPlayer::play to thread pool.
[b79fc01] Adds getDuration, getPosition support for PcmAudioPlayer
[80fa2ab] minor fix of the code position of resetting state to State::INITIALIZED
[d9c62f1] underrun fix for PcmAudioPlayer.
[9c2212a] UrlAudioPlayer, playOverMutex should be static, and should be used in update method.
[1519d2e] static variables
[19da936] _pcmAudioPlayer Null pointer check in AudioPlayerProvider.
[e6b0d14] Updates audio performance test.
[fc01dd4] Registers foreground & background event in AudioEngine-inl.cpp(android), the callback should invoke `provider`'s pause & resume method.
[e00a886] TBD: Pause & resume support for PcmAudioPlayerPool.
Since OpenSLES audio resources are expensive and device shared, we should delete all unused PcmAudioPlayers in pool while pause and re-create them while resume.
But this commit isn't finished yet, I don't find a better way to register pause&resume event in AudioEngine module.
[9e42ea3] Interleave mono audio to stereo audio. PcmAudioPlayerPool only contains PcmAudioPlayers with 2 channels.
[3f18d05] Adds a strategy for checking small size of different file formats.
[753ff49] Adds performance test for AudioEngine.
[09d3045] Releases an extra PcmAudioPlayer for UrlAudioPlayer while allocating PcmAudioPlayer fails.
[9dd4477] Using std::move for PcmData move constructor & move assignment.
[6ca3bcb] some fixes:
1) new -> new (std::nothrow)
2) break if allocate PcmAudioPlayer fails
3) renames 'initForPlayPcmData' to 'init'
4) PcmAudioPlayer destructor deadlock if 'init' failed
[54675b6] include path fix.
[a1903ca] More refactorings.
[19b9498] Makes linter.py happy. :)
[923c530] Fixes:
1) Avoid getFileInfo to be invoked twice
2) A critical bug fix for UrlAudioPlayer and adds detailed comments
3) __clang__ compiler option fix for AudioResamplerSinc.cpp.
[5ec4faf] minor fix.
[faaa0f3] output a log in the destructor of UrlAudioPlayer.
[9c20355] NewAudioEngineTest,TestControll crash fix.
[f114464] fixes an unused import.
[1dc5dab] Better algorithm for allocating PcmAudioPlayer.
[331a213] minor fix.
[e54084a] null -> nullptr
[f9a0389] Support uncache.
[89a364f] Removes unused update, and TODO uncache functionality.
[1732bf9] Supports AudioEngineImpl::setFinishCallback for android.
[43d1596] UrlAudioPlayer::stop fix.
[e2ee941] Test case fix in NewAudioEngineTest/AudioIssue11143Test
[5c5ba01] More fixes for making cpp-tests/New Audio Engine Test happy.
[8b554a3] Adds log while remove player from map.
[ed71322] If original file is larger than 30k bytes, consider it's a large audio file.
[fb1845a] Updates project.properties
[6f3839f] minor log output fix in AudioEngine-inl.cpp
[c68bc6c] Don't resample if the sample rate of the decoded pcm data matchs the device's.
[43ca45f] PcmAudioPlayers also need to be removed while they play over, but should not be deleted since their lifecycle is managed by PcmAudioPlayerPool.
[f5e63c9] Audio latency fix for Android. Support preload effects on Android now.

* Supports to loading audio files asynchronously.

* Crash fix for stop audio right after play2d.

* Minor fix for logic in AudioMixerController.cpp

* Adds missing files (CCThreadPool.h/.cpp).

* Minor fix for including.

* Minor fix for missing include <functional> in Track.h

* update license information in audio.h

* Don't use std::future/std::promise anymore since ndk counldn't support it well in armeabi arch.

* isSmallFile postion updated, fixes large audio file goto the checking logic of cache.

* std::atomic<int> isn't supported by ndk-r10e while compiling with `armeabi` arch, using a int with a mutex instead.

* fixes __isnanf & posix_memalign doesn't exist on low api (<=16) devices.

* namespace updated: cocos2d -> cocos2d::experimental

* Removes commented code in AudioMixerController.h/.cpp

* Removes unused code again, and fixes a memory leak of `Track` instance.

* Oops, namespace changed.

* Only outputs log in debug mode.

* Uses ALOGV for outputing logs in AudioEngine-inl.cpp

* const PcmData& ->  PcmData for Track

* Fixes a protential crash in NewAudioEngineTest

* Adds `COCOS` prefix in header #ifndef COCOS_BALABALA #define COCOS_BALABALA

* Uses _ prefix for cocos code style instead of `m` prefix.

* Deletes AudioResamplerSinc related files.

* Bug fix from @minggo's reply on github.

* Don't need to invoke pause after in UrlAudioPlayer::prepare.

* Updates ThreadPool class, uses enum class and adds const keyword.
2016-07-18 10:22:40 +08:00
mogemimi 2650fd1afd Add missing float suffix to avoid -Wdouble-promotion 2016-07-04 23:12:45 +09:00
mogemimi 2443e09d29 Fix typos and other mistakes in docs 2016-07-04 00:42:10 +09:00
minggo bbd837aefa merge v3.12 back to v3 2016-06-28 17:53:50 +08:00
mogemimi cbc0612306 Use nullptr instead of 0 or NULL 2016-06-23 12:39:23 +09:00
minggo 465da95c01 return true for preload though it is not implemented 2016-06-22 17:41:04 +08:00
Dale Stammen 53321e401a updated to support Windows 10 UWP x64 builds 2016-06-15 08:50:04 -07:00
MagicXrEv 8e6ca57f4f lua binding : Rename end() to endToLua(). 2016-06-14 23:35:17 +08:00
minggo 1d42bae8c5 Merge pull request #15735 from MrCapone/v3
AudioEngine-linux fix: add map contains IDs of preloaded files
2016-06-01 21:34:15 +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
capone 5b02460989 AudioEngine-linux fix: add map contains IDs of preloaded files 2016-05-26 17:57:56 +06:00
mogemimi 0f3b36e834 Fix gcc warnings and type mismatch issues in AudioEngine for Linux 2016-05-20 01:39:40 +09:00
mogemimi 09d839be35 Format the code to better align with cocos2d-x code style 2016-05-19 05:17:33 +09:00
mogemimi 7b61aca64e Fix indentation and remove trailing whitespaces 2016-05-19 03:42:34 +09:00
mogemimi 3a80e7d8fb Change 2 spaces to 4 spaces indentation 2016-05-19 03:34:04 +09:00
mogemimi 03be0de2fa Remove unnecessary trailing semicolons 2016-05-19 01:40:00 +09:00
minggo a5602cc732 merge v3.11 back to v3 2016-05-04 16:02:23 +08:00
Adrien de Sentenac 1a76c9ea3b Add OBB (zip) support (#15515)
* Add OBB support.
OBB must be a zip file with audio and video files stored uncompressed.

* Use introspection to be able to build with Android API level 10.
Using the new audio engine to play sounds from the OBB will only work with API level 12 (Android 3.1) or above.
2016-05-04 09:21:35 +08:00
zilongshanren 482788c933 Add tizen support (#15518)
* add Tizen Support

* fix linter error

* fix tizen audio engine lua bindings config
2016-04-28 09:49:55 +08:00