From bb4e144dd711871c1b21f973d191d954fc279643 Mon Sep 17 00:00:00 2001 From: suhasHere Date: Sat, 2 Nov 2024 16:01:36 -0700 Subject: [PATCH] Changes to get data flowing for interop --- Decimus/Lib/libquicr/QClientObjC.mm | 21 +++++++++++-------- Decimus/Lib/libquicr/QCommon.h | 4 +++- Decimus/Lib/libquicr/QSubscribeTrackHandler.h | 2 +- .../libquicr/QSubscribeTrackHandlerObjC.mm | 4 ++-- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/Decimus/Lib/libquicr/QClientObjC.mm b/Decimus/Lib/libquicr/QClientObjC.mm index 5e89ebd0..66bec729 100644 --- a/Decimus/Lib/libquicr/QClientObjC.mm +++ b/Decimus/Lib/libquicr/QClientObjC.mm @@ -99,17 +99,19 @@ -(void)unsubscribeTrackWithHandler: (QSubscribeTrackHandlerObjC*) trackHandler -(void) publishAnnounce: (NSData*) trackNamespace { assert(qClientPtr); - auto ptr = static_cast(trackNamespace.bytes); - quicr::TrackNamespace name_space(ptr, ptr + trackNamespace.length); - qClientPtr->PublishAnnounce(name_space); + const auto ptr = static_cast(trackNamespace.bytes); + const std::vector name_space(ptr, ptr + trackNamespace.length); + const quicr::TrackNamespace track_namespace(name_space); + qClientPtr->PublishAnnounce(track_namespace); } -(void) publishUnannounce: (NSData*) trackNamespace { assert(qClientPtr); - auto ptr = static_cast(trackNamespace.bytes); - quicr::TrackNamespace name_space(ptr, ptr + trackNamespace.length); - qClientPtr->PublishUnannounce(name_space); + const auto ptr = static_cast(trackNamespace.bytes); + const std::vector name_space(ptr, ptr + trackNamespace.length); + const quicr::TrackNamespace track_namespace(name_space); + qClientPtr->PublishUnannounce(track_namespace); } -(void)setCallbacks: (id) callbacks @@ -121,9 +123,10 @@ -(void)setCallbacks: (id) callbacks -(QPublishAnnounceStatus) getAnnounceStatus: (NSData*) trackNamespace { assert(qClientPtr); - auto ptr = static_cast(trackNamespace.bytes); - quicr::TrackNamespace name_space(ptr, ptr + trackNamespace.length); - auto status = qClientPtr->GetAnnounceStatus(name_space); + const auto ptr = static_cast(trackNamespace.bytes); + const std::vector name_space(ptr, ptr + trackNamespace.length); + const quicr::TrackNamespace track_namespace(name_space); + const auto status = qClientPtr->GetAnnounceStatus(track_namespace); return static_cast(status); } diff --git a/Decimus/Lib/libquicr/QCommon.h b/Decimus/Lib/libquicr/QCommon.h index b3f4943e..cfd5d607 100644 --- a/Decimus/Lib/libquicr/QCommon.h +++ b/Decimus/Lib/libquicr/QCommon.h @@ -7,6 +7,7 @@ #import #ifdef __cplusplus #include +#include #endif typedef struct QMinMaxAvg { @@ -36,8 +37,9 @@ typedef struct QObjectHeaders { #ifdef __cplusplus static quicr::FullTrackName ftnConvert(QFullTrackName qFtn) { + const auto nameSpace = std::vector(qFtn.nameSpace, qFtn.nameSpace + qFtn.nameSpaceLength); return { - .name_space = std::vector(qFtn.nameSpace, qFtn.nameSpace + qFtn.nameSpaceLength), + .name_space = quicr::TrackNamespace(nameSpace), .name = std::vector(qFtn.name, qFtn.name + qFtn.nameLength) }; } diff --git a/Decimus/Lib/libquicr/QSubscribeTrackHandler.h b/Decimus/Lib/libquicr/QSubscribeTrackHandler.h index c03bd9d5..a3e89389 100644 --- a/Decimus/Lib/libquicr/QSubscribeTrackHandler.h +++ b/Decimus/Lib/libquicr/QSubscribeTrackHandler.h @@ -11,7 +11,7 @@ class QSubscribeTrackHandler : public quicr::SubscribeTrackHandler { public: - QSubscribeTrackHandler(const quicr::FullTrackName& full_track_name); + QSubscribeTrackHandler(const quicr::FullTrackName& full_track_name, uint8_t priority, uint8_t group_order); // Callbacks. void StatusChanged(Status status) override; diff --git a/Decimus/Lib/libquicr/QSubscribeTrackHandlerObjC.mm b/Decimus/Lib/libquicr/QSubscribeTrackHandlerObjC.mm index efb1de6c..2d30680b 100644 --- a/Decimus/Lib/libquicr/QSubscribeTrackHandlerObjC.mm +++ b/Decimus/Lib/libquicr/QSubscribeTrackHandlerObjC.mm @@ -10,7 +10,7 @@ @implementation QSubscribeTrackHandlerObjC : NSObject -(id) initWithFullTrackName: (QFullTrackName) full_track_name { quicr::FullTrackName fullTrackName = ftnConvert(full_track_name); - handlerPtr = std::make_shared(fullTrackName); + handlerPtr = std::make_shared(fullTrackName, 2, 1); return self; } @@ -30,7 +30,7 @@ -(void) setCallbacks: (id) callbacks // C++ -QSubscribeTrackHandler::QSubscribeTrackHandler(const quicr::FullTrackName& full_track_name): quicr::SubscribeTrackHandler(full_track_name) { } +QSubscribeTrackHandler::QSubscribeTrackHandler(const quicr::FullTrackName& full_track_name, uint8_t priority, uint8_t group_order): quicr::SubscribeTrackHandler(full_track_name, static_cast (priority), static_cast(group_order)) { } void QSubscribeTrackHandler::StatusChanged(Status status) {