mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-14 18:57:07 -07:00
Add Chiaki Lib to Android
This commit is contained in:
parent
dbe4839165
commit
7fb4c67f33
11 changed files with 142 additions and 7 deletions
|
@ -74,8 +74,11 @@ include_directories("${NANOPB_SOURCE_DIR}")
|
|||
set_source_files_properties(${CHIAKI_LIB_PROTO_SOURCE_FILES} ${CHIAKI_LIB_PROTO_HEADER_FILES} PROPERTIES GENERATED TRUE)
|
||||
include_directories("${CHIAKI_LIB_PROTO_INCLUDE_DIR}")
|
||||
|
||||
find_package(Opus REQUIRED)
|
||||
include_directories(${Opus_INCLUDE_DIRS})
|
||||
if(CHIAKI_LIB_ENABLE_OPUS)
|
||||
find_package(Opus REQUIRED)
|
||||
include_directories(${Opus_INCLUDE_DIRS})
|
||||
add_definitions(-DCHIAKI_LIB_ENABLE_OPUS)
|
||||
endif()
|
||||
|
||||
add_library(chiaki-lib ${HEADER_FILES} ${SOURCE_FILES} ${CHIAKI_LIB_PROTO_SOURCE_FILES} ${CHIAKI_LIB_PROTO_HEADER_FILES})
|
||||
add_dependencies(chiaki-lib chiaki-pb)
|
||||
|
@ -90,10 +93,16 @@ target_include_directories(chiaki-lib PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/includ
|
|||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(chiaki-lib Threads::Threads)
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
target_link_libraries(chiaki-lib OpenSSL::Crypto)
|
||||
if(CHIAKI_LIB_OPENSSL_EXTERNAL_PROJECT)
|
||||
target_link_libraries(chiaki-lib OpenSSL_Crypto)
|
||||
else()
|
||||
find_package(OpenSSL REQUIRED)
|
||||
target_link_libraries(chiaki-lib OpenSSL::Crypto)
|
||||
endif()
|
||||
|
||||
target_link_libraries(chiaki-lib protobuf-nanopb-static)
|
||||
target_link_libraries(chiaki-lib jerasure)
|
||||
|
||||
target_link_libraries(chiaki-lib ${Opus_LIBRARIES})
|
||||
if(CHIAKI_LIB_ENABLE_OPUS)
|
||||
target_link_libraries(chiaki-lib ${Opus_LIBRARIES})
|
||||
endif()
|
|
@ -18,7 +18,9 @@
|
|||
#include <chiaki/audioreceiver.h>
|
||||
#include <chiaki/session.h>
|
||||
|
||||
#ifdef CHIAKI_LIB_ENABLE_OPUS
|
||||
#include <opus/opus.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
|
@ -47,7 +49,9 @@ CHIAKI_EXPORT ChiakiErrorCode chiaki_audio_receiver_init(ChiakiAudioReceiver *au
|
|||
|
||||
CHIAKI_EXPORT void chiaki_audio_receiver_fini(ChiakiAudioReceiver *audio_receiver)
|
||||
{
|
||||
#ifdef CHIAKI_LIB_ENABLE_OPUS
|
||||
opus_decoder_destroy(audio_receiver->opus_decoder);
|
||||
#endif
|
||||
chiaki_mutex_fini(&audio_receiver->mutex);
|
||||
free(audio_receiver->pcm_buf);
|
||||
}
|
||||
|
@ -65,6 +69,7 @@ CHIAKI_EXPORT void chiaki_audio_receiver_stream_info(ChiakiAudioReceiver *audio_
|
|||
CHIAKI_LOGI(audio_receiver->log, " unknown = %d", audio_header->unknown);
|
||||
memcpy(&audio_receiver->audio_header, audio_header, sizeof(audio_receiver->audio_header));
|
||||
|
||||
#ifdef CHIAKI_LIB_ENABLE_OPUS
|
||||
opus_decoder_destroy(audio_receiver->opus_decoder);
|
||||
|
||||
int error;
|
||||
|
@ -97,6 +102,9 @@ CHIAKI_EXPORT void chiaki_audio_receiver_stream_info(ChiakiAudioReceiver *audio_
|
|||
|
||||
if(audio_receiver->session->audio_settings_cb)
|
||||
audio_receiver->session->audio_settings_cb(audio_header->channels, audio_header->rate, audio_receiver->session->audio_cb_user);
|
||||
#else
|
||||
CHIAKI_LOGE(audio_receiver->log, "Opus disabled, not initializing decoder");
|
||||
#endif
|
||||
|
||||
beach:
|
||||
chiaki_mutex_unlock(&audio_receiver->mutex);
|
||||
|
@ -160,6 +168,7 @@ CHIAKI_EXPORT void chiaki_audio_receiver_av_packet(ChiakiAudioReceiver *audio_re
|
|||
|
||||
static void chiaki_audio_receiver_frame(ChiakiAudioReceiver *audio_receiver, ChiakiSeqNum16 frame_index, uint8_t *buf, size_t buf_size)
|
||||
{
|
||||
#ifdef CHIAKI_LIB_ENABLE_OPUS
|
||||
chiaki_mutex_lock(&audio_receiver->mutex);
|
||||
|
||||
if(!audio_receiver->opus_decoder)
|
||||
|
@ -181,4 +190,5 @@ static void chiaki_audio_receiver_frame(ChiakiAudioReceiver *audio_receiver, Chi
|
|||
|
||||
beach:
|
||||
chiaki_mutex_unlock(&audio_receiver->mutex);
|
||||
#endif
|
||||
}
|
|
@ -72,7 +72,7 @@ CHIAKI_EXPORT void *chiaki_aligned_alloc(size_t alignment, size_t size)
|
|||
{
|
||||
#if defined(_WIN32)
|
||||
return _aligned_malloc(size, alignment);
|
||||
#elif __APPLE__
|
||||
#elif __APPLE__ || __ANDROID__
|
||||
void *r;
|
||||
if(posix_memalign(&r, alignment, size) == 0)
|
||||
return r;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue