diff --git a/src/tsg_bridge.cpp b/src/tsg_bridge.cpp index 3340008..d8c0d16 100644 --- a/src/tsg_bridge.cpp +++ b/src/tsg_bridge.cpp @@ -468,7 +468,7 @@ const char *srt_attribute_get_client_subscriber_id(const struct session_runtime_ } const char *srt_attribute_get_server_subscriber_id(const struct session_runtime_attribute *srt_attribute) { - if(srt_attribute!=NULL && srt_attribute->client_subscribe_id!=NULL) + if(srt_attribute!=NULL && srt_attribute->server_subscribe_id!=NULL) { return (const char *)(srt_attribute->server_subscribe_id->subscribe_id); } diff --git a/test/src/gtest_bridge.cpp b/test/src/gtest_bridge.cpp index b839e13..562d172 100644 --- a/test/src/gtest_bridge.cpp +++ b/test/src/gtest_bridge.cpp @@ -846,6 +846,27 @@ TEST(TSGBridge, SessionSessionRuntimeAttributeTSG15457) EXPECT_EQ(nullptr, session_runtime_attribute_get(&a_stream)); } +TEST(TSGBridge, SessionSessionRuntimeAttributeSubscriberIDTSG15568) +{ + const struct streaminfo a_stream = {0}; + struct session_runtime_attribute *srt_attribute = (struct session_runtime_attribute *)session_runtime_attribute_new(&a_stream); + + srt_attribute->client_subscribe_id=(struct subscribe_id_info *)dictator_malloc(0, sizeof(struct subscribe_id_info)); + srt_attribute->client_subscribe_id->ref_cnt=1; + srt_attribute->client_subscribe_id->subscribe_id=(char *)"zhansan"; + + struct session_runtime_attribute *srt_attribute_out=(struct session_runtime_attribute *)session_runtime_attribute_get(&a_stream); + EXPECT_NE(nullptr, srt_attribute_out); + + EXPECT_NE(nullptr, srt_attribute_out->client_subscribe_id); + EXPECT_EQ(1, srt_attribute_out->client_subscribe_id->ref_cnt); + EXPECT_STREQ("zhansan", srt_attribute_out->client_subscribe_id->subscribe_id); + EXPECT_STREQ("zhansan", srt_attribute_get_client_subscriber_id((const struct session_runtime_attribute *)srt_attribute_out)); + + EXPECT_EQ(nullptr, srt_attribute_out->server_subscribe_id); + EXPECT_EQ(nullptr, srt_attribute_get_server_subscriber_id((const struct session_runtime_attribute *)srt_attribute_out)); +} + int main(int argc, char *argv[]) { int ret=tsg_bridge_init("tsgconf/main.conf");