Browse Source

Changed onMedia to use message_ptr; Applying control/binary type to media messages

Staz M 5 years ago
parent
commit
b5f8397936
3 changed files with 6 additions and 4 deletions
  1. 2 2
      include/rtc/peerconnection.hpp
  2. 2 0
      src/dtlssrtptransport.cpp
  3. 2 2
      src/peerconnection.cpp

+ 2 - 2
include/rtc/peerconnection.hpp

@@ -105,7 +105,7 @@ public:
 	void sendMedia(const binary &packet);
 	void sendMedia(const byte *packet, size_t size);
 
-	void onMedia(std::function<void(const binary &packet)> callback);
+	void onMedia(const std::function<void(rtc::message_ptr)>& callback);
 
 	// libnice only
 	bool getSelectedCandidatePair(CandidateInfo *local, CandidateInfo *remote);
@@ -164,7 +164,7 @@ private:
 	synchronized_callback<const Candidate &> mLocalCandidateCallback;
 	synchronized_callback<State> mStateChangeCallback;
 	synchronized_callback<GatheringState> mGatheringStateChangeCallback;
-	synchronized_callback<const binary &> mMediaCallback;
+	synchronized_callback<rtc::message_ptr> mMediaCallback;
 };
 
 } // namespace rtc

+ 2 - 0
src/dtlssrtptransport.cpp

@@ -161,6 +161,7 @@ void DtlsSrtpTransport::incoming(message_ptr message) {
 				return;
 			}
 			PLOG_VERBOSE << "Unprotected SRTCP packet, size=" << size;
+            message->type = rtc::Message::Control;
 		} else {
 			PLOG_VERBOSE << "Incoming SRTP packet, size=" << size;
 			if (srtp_err_status_t err = srtp_unprotect(mSrtpIn, message->data(), &size)) {
@@ -171,6 +172,7 @@ void DtlsSrtpTransport::incoming(message_ptr message) {
 				return;
 			}
 			PLOG_VERBOSE << "Unprotected SRTP packet, size=" << size;
+			message->type = rtc::Message::Binary;
 		}
 
 		message->resize(size);

+ 2 - 2
src/peerconnection.cpp

@@ -245,7 +245,7 @@ void PeerConnection::sendMedia(const byte *packet, size_t size) {
 	outgoingMedia(make_message(packet, packet + size, Message::Binary));
 }
 
-void PeerConnection::onMedia(std::function<void(const binary &packet)> callback) {
+void PeerConnection::onMedia(const std::function<void(rtc::message_ptr)>& callback) {
 	mMediaCallback = callback;
 }
 
@@ -526,7 +526,7 @@ void PeerConnection::forwardMessage(message_ptr message) {
 
 void PeerConnection::forwardMedia(message_ptr message) {
 	if (message)
-		mMediaCallback(*message);
+		mMediaCallback(message);
 }
 
 void PeerConnection::forwardBufferedAmount(uint16_t stream, size_t amount) {