@@ -186,6 +186,10 @@ typedef struct {
186186 RtcOnDataChannel onDataChannel ;
187187 SignalingClientMetrics signalingClientMetrics ;
188188
189+ // Callbacks for signaling messages
190+ VOID (* onAnswer )(UINT64 , PSignalingMessage );
191+ VOID (* onIceCandidate )(UINT64 , PSignalingMessage );
192+
189193 PStackQueue pPendingSignalingMessageForRemoteClient ;
190194 PHashTable pRtcPeerConnectionForRemoteClient ;
191195
@@ -291,7 +295,6 @@ STATUS createSampleConfiguration(PCHAR, SIGNALING_CHANNEL_ROLE_TYPE, BOOL, BOOL,
291295STATUS freeSampleConfiguration (PSampleConfiguration * );
292296STATUS signalingClientStateChanged (UINT64 , SIGNALING_CLIENT_STATE );
293297STATUS signalingMessageReceived (UINT64 , PReceivedSignalingMessage );
294- STATUS handleAnswer (PSampleConfiguration , PSampleStreamingSession , PSignalingMessage );
295298STATUS handleOffer (PSampleConfiguration , PSampleStreamingSession , PSignalingMessage );
296299STATUS handleRemoteCandidate (PSampleStreamingSession , PSignalingMessage );
297300STATUS initializePeerConnection (PSampleConfiguration , PRtcPeerConnection * );
@@ -302,6 +305,28 @@ STATUS streamingSessionOnShutdown(PSampleStreamingSession, UINT64, StreamSession
302305STATUS sendSignalingMessage (PSampleStreamingSession , PSignalingMessage );
303306STATUS respondWithAnswer (PSampleStreamingSession );
304307STATUS resetSampleConfigurationState (PSampleConfiguration );
308+
309+ #ifdef DYNAMIC_SIGNALING_PAYLOAD
310+ /**
311+ * @brief Allocate memory for the payload of a SignalingMessage
312+ *
313+ * @param[in,out] pSignalingMessage The signaling message for which to allocate payload
314+ * @param[in] size Size in bytes to allocate
315+ *
316+ * @return STATUS code of the execution
317+ */
318+ STATUS allocateSignalingMessagePayload (PSignalingMessage pSignalingMessage , UINT32 size );
319+
320+ /**
321+ * @brief Free the dynamically allocated payload of a SignalingMessage
322+ *
323+ * @param[in,out] pSignalingMessage The signaling message whose payload should be freed
324+ *
325+ * @return STATUS code of the execution
326+ */
327+ STATUS freeSignalingMessagePayload (PSignalingMessage pSignalingMessage );
328+ #endif
329+
305330VOID sampleVideoFrameHandler (UINT64 , PFrame );
306331VOID sampleAudioFrameHandler (UINT64 , PFrame );
307332VOID sampleFrameHandler (UINT64 , PFrame );
@@ -431,4 +456,4 @@ STATUS webrtcAppGetSampleConfiguration(PSampleConfiguration *ppSampleConfigurati
431456#ifdef __cplusplus
432457}
433458#endif
434- #endif /* __KINESIS_VIDEO_SAMPLE_INCLUDE__ */
459+ #endif /* __KINESIS_VIDEO_SAMPLE_INCLUDE__ */
0 commit comments