@@ -280,6 +280,10 @@ STATUS respondWithAnswer(PSampleStreamingSession pSampleStreamingSession)
280280 SignalingMessage message ;
281281 UINT32 buffLen = MAX_SIGNALING_MESSAGE_LEN ;
282282
283+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
284+ message .payload = (PCHAR ) MEMALLOC (MAX_SIGNALING_MESSAGE_LEN + 1 );
285+ CHK (message .payload != NULL , STATUS_NOT_ENOUGH_MEMORY );
286+ #endif
283287 CHK_STATUS (serializeSessionDescriptionInit (& pSampleStreamingSession -> answerSessionDescriptionInit , message .payload , & buffLen ));
284288
285289 message .version = SIGNALING_MESSAGE_CURRENT_VERSION ;
@@ -293,6 +297,10 @@ STATUS respondWithAnswer(PSampleStreamingSession pSampleStreamingSession)
293297
294298CleanUp :
295299
300+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
301+ SAFE_MEMFREE (message .payload );
302+ #endif
303+
296304 CHK_LOG_ERR (retStatus );
297305 return retStatus ;
298306}
@@ -312,7 +320,7 @@ VOID onIceCandidateHandler(UINT64 customData, PCHAR candidateJson)
312320{
313321 STATUS retStatus = STATUS_SUCCESS ;
314322 PSampleStreamingSession pSampleStreamingSession = (PSampleStreamingSession ) customData ;
315- SignalingMessage message ;
323+ SignalingMessage message = { 0 } ;
316324
317325 CHK (pSampleStreamingSession != NULL , STATUS_NULL_ARG );
318326
@@ -335,13 +343,21 @@ VOID onIceCandidateHandler(UINT64 customData, PCHAR candidateJson)
335343 message .messageType = SIGNALING_MESSAGE_TYPE_ICE_CANDIDATE ;
336344 STRNCPY (message .peerClientId , pSampleStreamingSession -> peerId , MAX_SIGNALING_CLIENT_ID_LEN );
337345 message .payloadLen = (UINT32 ) STRNLEN (candidateJson , MAX_SIGNALING_MESSAGE_LEN );
346+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
347+ message .payload = (PCHAR ) MEMALLOC (message .payloadLen + 1 );
348+ CHK (message .payload != NULL , STATUS_NOT_ENOUGH_MEMORY );
349+ #endif
338350 STRNCPY (message .payload , candidateJson , message .payloadLen );
339351 message .correlationId [0 ] = '\0' ;
340352 CHK_STATUS (sendSignalingMessage (pSampleStreamingSession , & message ));
341353 }
342354
343355CleanUp :
344356
357+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
358+ SAFE_MEMFREE (message .payload );
359+ #endif
360+
345361 CHK_LOG_ERR (retStatus );
346362}
347363
@@ -1410,6 +1426,9 @@ STATUS submitPendingIceCandidate(PPendingMessageQueue pPendingMessageQueue, PSam
14101426 if (pReceivedSignalingMessage -> signalingMessage .messageType == SIGNALING_MESSAGE_TYPE_ICE_CANDIDATE ) {
14111427 CHK_STATUS (handleRemoteCandidate (pSampleStreamingSession , & pReceivedSignalingMessage -> signalingMessage ));
14121428 }
1429+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
1430+ SAFE_MEMFREE (pReceivedSignalingMessage -> signalingMessage .payload );
1431+ #endif
14131432 SAFE_MEMFREE (pReceivedSignalingMessage );
14141433 }
14151434 } while (!noPendingSignalingMessageForClient );
@@ -1418,6 +1437,11 @@ STATUS submitPendingIceCandidate(PPendingMessageQueue pPendingMessageQueue, PSam
14181437
14191438CleanUp :
14201439
1440+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
1441+ if (pReceivedSignalingMessage != NULL ) {
1442+ SAFE_MEMFREE (pReceivedSignalingMessage -> signalingMessage .payload );
1443+ }
1444+ #endif
14211445 SAFE_MEMFREE (pReceivedSignalingMessage );
14221446 CHK_LOG_ERR (retStatus );
14231447 return retStatus ;
@@ -1538,6 +1562,11 @@ STATUS signalingMessageReceived(UINT64 customData, PReceivedSignalingMessage pRe
15381562 pReceivedSignalingMessageCopy = (PReceivedSignalingMessage ) MEMCALLOC (1 , SIZEOF (ReceivedSignalingMessage ));
15391563
15401564 * pReceivedSignalingMessageCopy = * pReceivedSignalingMessage ;
1565+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
1566+ pReceivedSignalingMessageCopy -> signalingMessage .payload = (PCHAR ) MEMALLOC (pReceivedSignalingMessage -> signalingMessage .payloadLen + 1 );
1567+ CHK (pReceivedSignalingMessageCopy -> signalingMessage .payload != NULL , STATUS_NOT_ENOUGH_MEMORY );
1568+ STRNCPY (pReceivedSignalingMessageCopy -> signalingMessage .payload , pReceivedSignalingMessage -> signalingMessage .payload , pReceivedSignalingMessage -> signalingMessage .payloadLen + 1 );
1569+ #endif
15411570
15421571 CHK_STATUS (stackQueueEnqueue (pPendingMessageQueue -> messageQueue , (UINT64 ) pReceivedSignalingMessageCopy ));
15431572
@@ -1571,6 +1600,11 @@ STATUS signalingMessageReceived(UINT64 customData, PReceivedSignalingMessage pRe
15711600
15721601CleanUp :
15731602
1603+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
1604+ if (pReceivedSignalingMessage != NULL ) {
1605+ SAFE_MEMFREE (pReceivedSignalingMessage -> signalingMessage .payload );
1606+ }
1607+ #endif
15741608 SAFE_MEMFREE (pReceivedSignalingMessageCopy );
15751609 if (pPendingMessageQueue != NULL ) {
15761610 freeMessageQueue (pPendingMessageQueue );
0 commit comments