Browse Source

Move ssrc manupulation functions to RTC_ENABLE_MEDIA

Filip Klembara 4 years ago
parent
commit
a2b019465c
1 changed files with 62 additions and 62 deletions
  1. 62 62
      src/capi.cpp

+ 62 - 62
src/capi.cpp

@@ -691,6 +691,68 @@ int rtcGetTrackPayloadTypesForCodec(int tr, const char * ccodec, int * buffer, i
 	});
 }
 
+int rtcGetSsrcsForTrack(int tr, uint32_t * buffer, int bufferSize) {
+	return wrap([&] {
+		auto track = getTrack(tr);
+		auto ssrcs = track->description().getSSRCs();
+		return copyAndReturn(ssrcs, buffer, bufferSize);
+	});
+}
+
+int rtcGetCNameForSsrc(int tr, uint32_t ssrc, char * cname, int cnameSize) {
+	return wrap([&] {
+		auto track = getTrack(tr);
+		auto description = track->description();
+		auto optCName = description.getCNameForSsrc(ssrc);
+		if (optCName.has_value()) {
+			return copyAndReturn(optCName.value(), cname, cnameSize);
+		} else {
+			return 0;
+		}
+	});
+}
+
+int rtcGetSsrcsForType(const char * mediaType, const char * sdp, uint32_t * buffer, int bufferSize) {
+	return wrap([&] {
+		auto type = lowercased(string(mediaType));
+		auto oldSDP = string(sdp);
+		auto description = Description(oldSDP, "unspec");
+		auto mediaCount = description.mediaCount();
+		for (unsigned int i = 0; i < mediaCount; i++) {
+			if (std::holds_alternative<Description::Media *>(description.media(i))) {
+				auto media = std::get<Description::Media *>(description.media(i));
+				auto currentMediaType = lowercased(media->type());
+				if (currentMediaType == type) {
+					auto ssrcs = media->getSSRCs();
+					return copyAndReturn(ssrcs, buffer, bufferSize);
+				}
+			}
+		}
+		return 0;
+	});
+}
+
+int rtcSetSsrcForType(const char * mediaType, const char * sdp, char * buffer, const int bufferSize,
+					  rtcSsrcForTypeInit * init) {
+	return wrap([&] {
+		auto type = lowercased(string(mediaType));
+		auto prevSDP = string(sdp);
+		auto description = Description(prevSDP, "unspec");
+		auto mediaCount = description.mediaCount();
+		for (unsigned int i = 0; i < mediaCount; i++) {
+			if (std::holds_alternative<Description::Media *>(description.media(i))) {
+				auto media = std::get<Description::Media *>(description.media(i));
+				auto currentMediaType = lowercased(media->type());
+				if (currentMediaType == type) {
+					setSSRC(media, init->ssrc, init->name, init->msid, init->trackId);
+					break;
+				}
+			}
+		}
+		return copyAndReturn(string(description), buffer, bufferSize);
+	});
+}
+
 #endif // RTC_ENABLE_MEDIA
 #if RTC_ENABLE_WEBSOCKET
 
@@ -842,68 +904,6 @@ int rtcSetLocalDescription(int pc, const char *type) {
 	});
 }
 
-int rtcGetSsrcsForTrack(int tr, uint32_t * buffer, int bufferSize) {
-	return wrap([&] {
-		auto track = getTrack(tr);
-		auto ssrcs = track->description().getSSRCs();
-		return copyAndReturn(ssrcs, buffer, bufferSize);
-	});
-}
-
-int rtcGetCNameForSsrc(int tr, uint32_t ssrc, char * cname, int cnameSize) {
-	return wrap([&] {
-		auto track = getTrack(tr);
-		auto description = track->description();
-		auto optCName = description.getCNameForSsrc(ssrc);
-		if (optCName.has_value()) {
-			return copyAndReturn(optCName.value(), cname, cnameSize);
-		} else {
-			return 0;
-		}
-	});
-}
-
-int rtcGetSsrcsForType(const char * mediaType, const char * sdp, uint32_t * buffer, int bufferSize) {
-	return wrap([&] {
-		auto type = lowercased(string(mediaType));
-		auto oldSDP = string(sdp);
-		auto description = Description(oldSDP, "unspec");
-		auto mediaCount = description.mediaCount();
-		for (unsigned int i = 0; i < mediaCount; i++) {
-			if (std::holds_alternative<Description::Media *>(description.media(i))) {
-				auto media = std::get<Description::Media *>(description.media(i));
-				auto currentMediaType = lowercased(media->type());
-				if (currentMediaType == type) {
-					auto ssrcs = media->getSSRCs();
-					return copyAndReturn(ssrcs, buffer, bufferSize);
-				}
-			}
-		}
-		return 0;
-	});
-}
-
-int rtcSetSsrcForType(const char * mediaType, const char * sdp, char * buffer, const int bufferSize,
-					  rtcSsrcForTypeInit * init) {
-	return wrap([&] {
-		auto type = lowercased(string(mediaType));
-		auto prevSDP = string(sdp);
-		auto description = Description(prevSDP, "unspec");
-		auto mediaCount = description.mediaCount();
-		for (unsigned int i = 0; i < mediaCount; i++) {
-			if (std::holds_alternative<Description::Media *>(description.media(i))) {
-				auto media = std::get<Description::Media *>(description.media(i));
-				auto currentMediaType = lowercased(media->type());
-				if (currentMediaType == type) {
-					setSSRC(media, init->ssrc, init->name, init->msid, init->trackId);
-					break;
-				}
-			}
-		}
-		return copyAndReturn(string(description), buffer, bufferSize);
-	});
-}
-
 int rtcSetRemoteDescription(int pc, const char *sdp, const char *type) {
 	return wrap([&] {
 		auto peerConnection = getPeerConnection(pc);