Skip to content

Commit 925f4c8

Browse files
authored
3.3 ohos code optimization (#20869)
1 parent 0f207a2 commit 925f4c8

File tree

179 files changed

+1826
-8093
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+1826
-8093
lines changed

.gitmodules

+8
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,11 @@
1010
[submodule "tests/cpp-tests/Resources/ccs-res"]
1111
path = tests/cpp-tests/Resources/ccs-res
1212
url = git://github.com/dumganhar/ccs-res.git
13+
[submodule "tests/cpp-tests/proj.ohos"]
14+
path = tests/cpp-tests/proj.ohos
15+
url = [email protected]:cocos2d/cocos2d-x-tests-harmonyos-next-project.git
16+
branch = cpp-tests
17+
[submodule "tests/lua-tests/project/proj.ohos"]
18+
path = tests/lua-tests/project/proj.ohos
19+
url = [email protected]:cocos2d/cocos2d-x-tests-harmonyos-next-project.git
20+
branch = lua-tests

CMakeLists.txt

+7-2
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,13 @@ include_directories(
154154
${CMAKE_CURRENT_SOURCE_DIR}/external
155155
)
156156

157+
if(OHOS)
158+
include_directories(
159+
${CMAKE_CURRENT_SOURCE_DIR}/cocos/platform/ohos
160+
${CMAKE_CURRENT_SOURCE_DIR}/external/opengles/api
161+
${CMAKE_CURRENT_SOURCE_DIR}/cocos/platform/ohos
162+
)
163+
endif()
157164
if(USE_PREBUILT_LIBS)
158165
include(CocosUsePrebuiltLibs)
159166
endif()
@@ -376,8 +383,6 @@ if(OHOS)
376383
add_subdirectory(external/lua/luajit)
377384
add_subdirectory(external/lua/tolua)
378385
add_subdirectory(external/websockets)
379-
add_subdirectory(external/ohos-specific/pvmp3dec)
380-
add_subdirectory(external/ohos-specific/tremolo)
381386
endif()
382387

383388
# libcocos2d.a

cocos/CMakeLists.txt

+6-8
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,10 @@ else()
165165
endif()
166166

167167
if(OHOS)
168-
target_link_libraries(cocos2d ${Drawing-lib} ${libace-lib} ${GLES-lib} ${libnapi-lib} ${libuv-lib} ${rawfile-lib} ${EGL-lib} ${hilog-lib} libohaudio.so libavplayer.so libnative_window.so libnative_buffer.so)
168+
target_link_libraries(cocos2d ${Drawing-lib} ${libace-lib} ${GLES-lib} ${libnapi-lib} ${libuv-lib} ${rawfile-lib}
169+
${EGL-lib} ${hilog-lib} libohaudio.so libavplayer.so libnative_window.so libnative_buffer.so
170+
libnative_display_manager.so libohsensor.so libnative_media_codecbase.so libnative_media_core.so
171+
libnative_media_acodec.so libnative_media_avdemuxer.so libnative_media_avsource.so)
169172
endif()
170173

171174

@@ -199,13 +202,8 @@ else()
199202
endforeach()
200203
endif()
201204

202-
if(OHOS)
203-
target_link_libraries(cocos2d
204-
# ext_cpufeatures TBD need fixed?
205-
ext_pvmp3dec
206-
ext_tremolo
207-
)
208-
else()
205+
206+
if(!OHOS)
209207
target_link_libraries(cocos2d xxhash ${PLATFORM_SPECIFIC_LIBS})
210208
endif()
211209

cocos/audio/CMakeLists.txt

+3-5
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,19 @@ elseif(OHOS)
5151
audio/ohos/AssetFd.cpp
5252
audio/ohos/AudioDecoder.cpp
5353
audio/ohos/AudioDecoderProvider.cpp
54-
audio/ohos/AudioDecoderSLES.cpp
55-
audio/ohos/AudioDecoderOgg.cpp
56-
audio/ohos/AudioDecoderMp3.cpp
5754
audio/ohos/AudioDecoderWav.cpp
55+
audio/ohos/AudioDecoderOH.cpp
5856
audio/ohos/AudioPlayerProvider.cpp
5957
audio/ohos/AudioResampler.cpp
6058
audio/ohos/AudioResamplerCubic.cpp
6159
audio/ohos/PcmBufferProvider.cpp
6260
audio/ohos/PcmAudioPlayer.cpp
6361
audio/ohos/PcmData.cpp
6462
audio/ohos/PcmAudioService.cpp
65-
audio/ohos/UrlAudioPlayer.cpp
63+
audio/ohos/BigAudioPlayer.cpp
64+
audio/ohos/BigAudioService.cpp
6665
audio/ohos/AudioMixerController.cpp
6766
audio/ohos/AudioMixer.cpp
68-
audio/ohos/mp3reader.cpp
6967
audio/ohos/tinysndfile.cpp
7068
audio/ohos/Track.cpp
7169
audio/ohos/audio_utils/RefCounted.cpp

cocos/audio/ohos/AudioDecoder.cpp

+21-1
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,10 @@ namespace cocos2d { namespace experimental {
7575
ALOGV("~AudioDecoder() %p", this);
7676
}
7777

78-
bool AudioDecoder::init(const std::string &url, int sampleRate) {
78+
bool AudioDecoder::init(const std::string &url, int sampleRate, AudioPlayerProvider::AudioFileInfo fileInfo) {
7979
_url = url;
8080
_sampleRate = sampleRate;
81+
_fileInfo = fileInfo;
8182
return true;
8283
}
8384

@@ -121,6 +122,25 @@ namespace cocos2d { namespace experimental {
121122
return ret;
122123
}
123124

125+
bool AudioDecoder::asyncStart() {
126+
auto oldTime = clockNow();
127+
auto nowTime = oldTime;
128+
bool ret;
129+
do {
130+
ret = decodeToPcm();
131+
if (!ret) {
132+
ALOGE("decodeToPcm (%s) failed!", _url.c_str());
133+
break;
134+
}
135+
136+
nowTime = clockNow();
137+
ALOGD("Decoding (%s) to pcm data wasted %fms", _url.c_str(), intervalInMS(oldTime, nowTime));
138+
} while (false);
139+
ALOGV_IF(!ret, "%s returns false, decode (%s)", __FUNCTION__, _url.c_str());
140+
return ret;
141+
}
142+
143+
124144
bool AudioDecoder::resample() {
125145
if (_result.sampleRate == _sampleRate) {
126146
ALOGI("No need to resample since the sample rate (%d) of the decoded pcm data is the same as the device output sample rate",

cocos/audio/ohos/AudioDecoder.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ THE SOFTWARE.
2727
#include "OpenSLHelper.h"
2828
#include "PcmData.h"
2929
#include "base/CCData.h"
30+
#include "AudioPlayerProvider.h"
3031

3132
namespace cocos2d {
3233
namespace experimental {
@@ -36,10 +37,12 @@ namespace cocos2d {
3637
AudioDecoder();
3738
virtual ~AudioDecoder();
3839

39-
virtual bool init(const std::string &url, int sampleRate);
40+
virtual bool init(const std::string &url, int sampleRate, AudioPlayerProvider::AudioFileInfo fileInfo);
4041

4142
bool start();
4243

44+
bool asyncStart();
45+
4346
inline PcmData getResult() { return _result; };
4447

4548
protected:
@@ -52,6 +55,7 @@ namespace cocos2d {
5255
static int fileClose(void *datasource);
5356
static long fileTell(void *datasource); // NOLINT
5457

58+
AudioPlayerProvider::AudioFileInfo _fileInfo;
5559
std::string _url;
5660
PcmData _result;
5761
int _sampleRate;

cocos/audio/ohos/AudioDecoderMp3.cpp

-76
This file was deleted.

cocos/audio/ohos/AudioDecoderMp3.h

-41
This file was deleted.

0 commit comments

Comments
 (0)