mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-13 03:31:45 +08:00
添加对g711A/U rtsp支持相关文件,api添加windows静态库编译选项,g711 RTMP支持尚未修改
This commit is contained in:
@@ -1,15 +1,24 @@
|
||||
include_directories(include source)
|
||||
|
||||
file(GLOB api_src_list include/*.h source/*.cpp source/*.h source/*.c)
|
||||
|
||||
set(ENABLE_API_STATIC false)
|
||||
|
||||
if (IOS)
|
||||
add_library(mk_api STATIC ${api_src_list})
|
||||
target_link_libraries(mk_api ${LINK_LIB_LIST})
|
||||
else ()
|
||||
add_library(mk_api SHARED ${api_src_list})
|
||||
if (WIN32)
|
||||
add_definitions(-DMediaKitApi_EXPORTS)
|
||||
endif ()
|
||||
|
||||
if(ENABLE_API_STATIC)
|
||||
add_library(mk_api STATIC ${api_src_list})
|
||||
if (WIN32)
|
||||
add_definitions(-DMediaKitApi_STATIC)
|
||||
endif ()
|
||||
else ()
|
||||
add_library(mk_api SHARED ${api_src_list})
|
||||
if (WIN32)
|
||||
add_definitions(-DMediaKitApi_EXPORTS)
|
||||
endif ()
|
||||
endif()
|
||||
target_link_libraries(mk_api ${LINK_LIB_LIST})
|
||||
add_subdirectory(tests)
|
||||
|
||||
|
||||
@@ -14,13 +14,20 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(MediaKitApi_EXPORTS)
|
||||
#define API_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define API_EXPORT __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#define API_CALL __cdecl
|
||||
#ifndef MediaKitApi_STATIC
|
||||
#if defined(MediaKitApi_EXPORTS)
|
||||
#define API_EXPORT __declspec(dllexport)
|
||||
#else
|
||||
#define API_EXPORT __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#define API_CALL __cdecl
|
||||
#else
|
||||
#define API_EXPORT
|
||||
#define API_CALL
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define API_EXPORT
|
||||
#define API_CALL
|
||||
|
||||
@@ -65,6 +65,16 @@ API_EXPORT void API_CALL mk_media_init_h265(mk_media ctx, int width, int height,
|
||||
*/
|
||||
API_EXPORT void API_CALL mk_media_init_aac(mk_media ctx, int channel, int sample_bit, int sample_rate, int profile);
|
||||
|
||||
/**
|
||||
* 添加g711音频轨道
|
||||
* @param ctx 对象指针
|
||||
* @param au 1.G711A 2.G711U
|
||||
* @param channel 通道数
|
||||
* @param sample_bit 采样位数,只支持16
|
||||
* @param sample_rate 采样率
|
||||
*/
|
||||
API_EXPORT void API_CALL mk_media_init_g711(mk_media ctx, int au, int sample_bit, int sample_rate);
|
||||
|
||||
/**
|
||||
* 初始化h264/h265/aac完毕后调用此函数,
|
||||
* 在单track(只有音频或视频)时,因为ZLMediaKit不知道后续是否还要添加track,所以会多等待3秒钟
|
||||
@@ -113,6 +123,15 @@ API_EXPORT void API_CALL mk_media_input_aac(mk_media ctx, void *data, int len, u
|
||||
*/
|
||||
API_EXPORT void API_CALL mk_media_input_aac1(mk_media ctx, void *data, int len, uint32_t dts, void *adts);
|
||||
|
||||
/**
|
||||
* 输入单帧G711音频
|
||||
* @param ctx 对象指针
|
||||
* @param data 单帧G711数据
|
||||
* @param len 单帧G711数据字节数
|
||||
* @param dts 时间戳,毫秒
|
||||
*/
|
||||
API_EXPORT void API_CALL mk_media_input_g711(mk_media ctx, void* data, int len, uint32_t dts);
|
||||
|
||||
/**
|
||||
* MediaSource.close()回调事件
|
||||
* 在选择关闭一个关联的MediaSource时,将会最终触发到该回调
|
||||
|
||||
@@ -140,6 +140,20 @@ API_EXPORT void API_CALL mk_media_init_aac(mk_media ctx, int channel, int sample
|
||||
(*obj)->getChannel()->initAudio(info);
|
||||
}
|
||||
|
||||
|
||||
API_EXPORT void API_CALL mk_media_init_g711(mk_media ctx, int au, int sample_bit, int sample_rate)
|
||||
{
|
||||
assert(ctx);
|
||||
MediaHelper::Ptr* obj = (MediaHelper::Ptr*) ctx;
|
||||
AudioInfo info;
|
||||
info.iSampleRate = sample_rate;
|
||||
info.iChannel = 1;
|
||||
info.iSampleBit = sample_bit;
|
||||
info.iProfile = 0;
|
||||
info.codecId = (CodecId)au;
|
||||
(*obj)->getChannel()->initAudio(info);
|
||||
}
|
||||
|
||||
API_EXPORT void API_CALL mk_media_init_complete(mk_media ctx){
|
||||
assert(ctx);
|
||||
MediaHelper::Ptr *obj = (MediaHelper::Ptr *) ctx;
|
||||
@@ -170,6 +184,12 @@ API_EXPORT void API_CALL mk_media_input_aac1(mk_media ctx, void *data, int len,
|
||||
(*obj)->getChannel()->inputAAC((char *) data, len, dts, (char *) adts);
|
||||
}
|
||||
|
||||
API_EXPORT void API_CALL mk_media_input_g711(mk_media ctx, void* data, int len, uint32_t dts)
|
||||
{
|
||||
assert(ctx && data && len > 0);
|
||||
MediaHelper::Ptr* obj = (MediaHelper::Ptr*) ctx;
|
||||
(*obj)->getChannel()->inputG711((char*)data, len, dts);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user