Commit Graph

15 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
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