Commit Graph

34 Commits

Author SHA1 Message Date
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
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