From 9741eb7272a8991c7e9cdcc25d307892c2a67ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=81=93=E7=94=AB?= Date: Mon, 1 Apr 2024 17:55:40 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E8=A1=A5=E5=85=85MediaSource=20C=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/include/mk_events_objects.h | 10 ++++++++++ api/source/mk_events_objects.cpp | 26 +++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/api/include/mk_events_objects.h b/api/include/mk_events_objects.h index ddbaf87d..428f9dc6 100644 --- a/api/include/mk_events_objects.h +++ b/api/include/mk_events_objects.h @@ -103,6 +103,16 @@ API_EXPORT int API_CALL mk_media_source_get_track_count(const mk_media_source ct API_EXPORT mk_track API_CALL mk_media_source_get_track(const mk_media_source ctx, int index); // MediaSource::broadcastMessage API_EXPORT int API_CALL mk_media_source_broadcast_msg(const mk_media_source ctx, const char *msg, size_t len); +// MediaSource::getOriginUrl() +API_EXPORT const char* API_CALL mk_media_source_get_origin_url(const mk_media_source ctx); +// MediaSource::getOriginType() +API_EXPORT int API_CALL mk_media_source_get_origin_type(const mk_media_source ctx); +// MediaSource::getCreateStamp() +API_EXPORT uint64_t API_CALL mk_media_source_get_create_stamp(const mk_media_source ctx); +// MediaSource::isRecording() 0:hls,1:MP4 +API_EXPORT int API_CALL mk_media_source_is_recording(const mk_media_source ctx, int type); + + /** * 直播源在ZLMediaKit中被称作为MediaSource, diff --git a/api/source/mk_events_objects.cpp b/api/source/mk_events_objects.cpp index 7046f1ab..624e5344 100644 --- a/api/source/mk_events_objects.cpp +++ b/api/source/mk_events_objects.cpp @@ -182,7 +182,7 @@ API_EXPORT const char* API_CALL mk_media_source_get_vhost(const mk_media_source } API_EXPORT const char* API_CALL mk_media_source_get_app(const mk_media_source ctx){ assert(ctx); - MediaSource *src = (MediaSource *)ctx; + MediaSource *src = (MediaSource *)ctx; return src->getMediaTuple().app.c_str(); } API_EXPORT const char* API_CALL mk_media_source_get_stream(const mk_media_source ctx){ @@ -228,6 +228,30 @@ API_EXPORT int API_CALL mk_media_source_broadcast_msg(const mk_media_source ctx, return src->broadcastMessage(any); } +API_EXPORT const char* API_CALL mk_media_source_get_origin_url(const mk_media_source ctx) { + assert(ctx); + MediaSource *src = (MediaSource *)ctx; + return _strdup(src->getOriginUrl().c_str()); +} + +API_EXPORT int API_CALL mk_media_source_get_origin_type(const mk_media_source ctx) { + assert(ctx); + MediaSource *src = (MediaSource *)ctx; + return static_cast(src->getOriginType()); +} + +API_EXPORT uint64_t API_CALL mk_media_source_get_create_stamp(const mk_media_source ctx) { + assert(ctx); + MediaSource *src = (MediaSource *)ctx; + return src->getCreateStamp(); +} + +API_EXPORT int API_CALL mk_media_source_is_recording(const mk_media_source ctx,int type) { + assert(ctx); + MediaSource *src = (MediaSource *)ctx; + return src->isRecording((Recorder::type)type); +} + API_EXPORT int API_CALL mk_media_source_close(const mk_media_source ctx,int force){ assert(ctx); MediaSource *src = (MediaSource *)ctx;