Commit Graph

52 Commits

Author SHA1 Message Date
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 edee97278f V3 android cmake support, add mac/ios support (#18646)
* CMake build improvements

* android cmake support

* Enable proguard for cocos2d

* examples & test cmake support

* add android build type param to gradle.properties file

* less warnings

* update all android configs to recomended settings

* fix network cmake error

* fix js-tests cmake error

* android build config, add cmake

* android build config, add cmake

* add lua share lib

* android lua cmake build fix

* fix

* luajit test

* run fail, still

* fix js-warning

* correct lua main include

* lua test project cmake support android

* try to add lua-template cmake support

* lua template fix

* js_tests support cmake on android

* js-tests improve

* cmake support js-template

* test to realise prebuild

* cmake improve, no feature

* improve templates cmake

* refactor cmake struct

* correct cpp-tests cmake

* cpp-templates cmake improve

* typo fix

* cmake struct refator

* change default option

* adapt new project struct

* uniform cmake test style

* add_dependencies to support make -j

* little struct improve

* little fix

* adapt cmake bin dir

* little improve about cmake version

* change build all tests condition

* add source_group for Xcode

* add mark source files

* add more mark source code

* add template project to test

* add macos info.plist template

* add pak macos for all project

* lua test icon fix

* not consider lua project for now

* modify pak method

* add another ios toolchain

* add ios system library

* update ios toolchain, and reduce ios compile errors

* reduce error

* make ios engine lib compile pass

* cpp-empty-test ios bundle

* cpp-tests ios support

* js-tests ios support

* templates project support ios

* fix the way of lua-tests package

* try to fix lua-template on macOS

* comment lua-template sim file

* improve display on xcode

* update cmake readme

* check android compile again

* fix android compile error

* fix linux cmake res error

* update deps version, for cmake

* fix lua_template linux compile error

* close android cmake support for now

* review template android share library name

* change PROP_BUILD_TOOLS_VERSION version to 27.0.1

* change android compile version

* make `PROP_APP_PLATFORM` back, add comments for android native build

* Revert "make `PROP_APP_PLATFORM` back, add comments for android native build"

This reverts commit 272ddc19886891b9502cde070753a870c0fdb588.
2018-02-08 09:24:33 +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
protito ed647fbe79 Added missing #include statement (#18452) 2017-11-09 10:04:45 +08:00
Vladyslav Kaplun 0f9a9c55d1 Fix status check in AudioDecoder.mm (#18374) 2017-10-25 10:48:45 +08:00
James Chen ddb3c49eec Workaround for getting AL_STOPPTED state after alSourcePlay(sourceId). (#18228) 2017-09-08 09:29:39 +08:00
newnon 70ea1fc4d1 fix for ios audio engine (#18146) 2017-08-22 09:46:15 +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
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 474491a5d6 Call 'update' method in 'stop/stopAll' to cleanup immediately (#17846) 2017-05-22 11:12:17 +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 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 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 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
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
mogemimi 3175316131 Fix format string warning when compiling for iOS armv7 (#16298) 2016-08-04 09:54:27 +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
mogemimi cbc0612306 Use nullptr instead of 0 or NULL 2016-06-23 12:39:23 +09: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
Xpol Wan 90456d29ba Fixes 1605 include path in 541 files
using the tools/coding-style/include-linter.py with -f options.
2016-03-20 21:53:44 +08:00
Ricardo Quesada 692c0f8a0e adds tvOS support
Ported tests:
 - js-tests
 - cpp-tsts
 - lua-tests
 - game-controller tests

all of them working, but most of the tests can't be navigated
since they expect a controller.
2015-12-28 15:59:36 -08:00
WenhaiLin e500b960f3 AudioEngine:Fixed audio can not resume if it is interrupted cause by an incoming phone call. 2015-09-07 16:29:57 +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
WenhaiLin 102020d831 1.AudioEngine:support callback for preload feature.
2.AudioEngineThreadPool:Make the number of thread be a fixed number.
2015-07-28 15:27:07 +08:00
WenhaiLin 86a68f5a09 AudioEngine:refine thread pool 2015-07-09 14:31:03 +08:00
Wenhai Lin 5d50663c35 AudioEngine:support preload for audio[MAC/iOS] 2015-07-08 18:04:43 +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
Wenhai Lin e124593a5c AudioEngine:Fixed play audio may fail(error code:-1) on iOS 2015-06-30 15:38:24 +08:00
WenhaiLin 59435f8749 AudioEngine:Fixed audio can not resume if it is interrupted cause by an incoming phone call. 2015-05-29 21:41:54 +08:00
andyque 578fda54ba fix a memory issue in AudioEngine.
This PR also update AUTHORS and CHANGELOG files.
2015-05-28 11:49:27 +08:00
minggo 09c50c44dc Merge pull request #11224 from hawkwood/patch-7
Remove use of autorelease NSString and NSURL
2015-04-09 18:36:07 +08:00
Justin Hawkwood 84fd73630a Fix iOS 5.1.1 crash caused by interruptionHandler
checks OS version and sets handling based on what is available.
2015-04-03 15:57:47 -07: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
Justin Hawkwood 3641ef266c Remove use of autorelease NSString and NSURL
Since there is no autorelease pool, these were leaking.
2015-03-30 16:24:48 -07:00
Wenhai Lin eb7a7a9fb7 Fixed audio can't resume after the interruption of audio session has ended on iOS. 2015-02-12 15:38:44 +08:00
raydelto e20c347767 Fixing typo in the constant INVAILD_AUDIO_ID of the new AudioEngine, changing it to INVALID_AUDIO_ID 2014-12-31 20:51:45 -04: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
Ricardo Quesada 342d934a0e scheduler and macro fixes
* kRepeatForever -> CC_REPEAT_FOREVER
* schedule_selector -> CC_SCHEDULE_SELECTOR
* [new] Node::schedule(const std::function<>& callback, const std::string &key)

Updates all smaples
2014-10-03 09:38:36 -07: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 db45794625 fix macro 2014-09-30 09:57:28 +08:00