g_return_if_fail (GST_IS_WEBRTC_DTLS_TRANSPORT (transport));
g_return_if_fail (GST_IS_WEBRTC_ICE_TRANSPORT (ice));
+ GST_OBJECT_LOCK (transport);
gst_object_replace ((GstObject **) & transport->transport, GST_OBJECT (ice));
+ GST_OBJECT_UNLOCK (transport);
}
static void
gst_webrtc_ice_transport_connection_state_change (GstWebRTCICETransport * ice,
GstWebRTCICEConnectionState new_state)
{
+ GST_OBJECT_LOCK (ice);
ice->state = new_state;
+ GST_OBJECT_UNLOCK (ice);
g_object_notify (G_OBJECT (ice), "state");
}
gst_webrtc_ice_transport_gathering_state_change (GstWebRTCICETransport * ice,
GstWebRTCICEGatheringState new_state)
{
+ GST_OBJECT_LOCK (ice);
ice->gathering_state = new_state;
+ GST_OBJECT_UNLOCK (ice);
g_object_notify (G_OBJECT (ice), "gathering-state");
}
g_return_if_fail (GST_IS_WEBRTC_RTP_RECEIVER (receiver));
g_return_if_fail (GST_IS_WEBRTC_DTLS_TRANSPORT (transport));
+ GST_OBJECT_LOCK (receiver);
gst_object_replace ((GstObject **) & receiver->transport,
GST_OBJECT (transport));
+ GST_OBJECT_UNLOCK (receiver);
}
void
g_return_if_fail (GST_IS_WEBRTC_RTP_RECEIVER (receiver));
g_return_if_fail (GST_IS_WEBRTC_DTLS_TRANSPORT (transport));
+ GST_OBJECT_LOCK (receiver);
gst_object_replace ((GstObject **) & receiver->rtcp_transport,
GST_OBJECT (transport));
+ GST_OBJECT_UNLOCK (receiver);
}
static void
GST_WEBRTC_API
GstWebRTCRTPReceiver * gst_webrtc_rtp_receiver_new (void);
GST_WEBRTC_API
-GstStructure * gst_webrtc_rtp_receiver_get_parameters (GstWebRTCRTPReceiver * receiver, gchar * kind);
-/* FIXME: promise? */
-GST_WEBRTC_API
-gboolean gst_webrtc_rtp_receiver_set_parameters (GstWebRTCRTPReceiver * receiver,
- GstStructure * parameters);
-GST_WEBRTC_API
void gst_webrtc_rtp_receiver_set_transport (GstWebRTCRTPReceiver * receiver,
GstWebRTCDTLSTransport * transport);
GST_WEBRTC_API
g_return_if_fail (GST_IS_WEBRTC_RTP_SENDER (sender));
g_return_if_fail (GST_IS_WEBRTC_DTLS_TRANSPORT (transport));
+ GST_OBJECT_LOCK (sender);
gst_object_replace ((GstObject **) & sender->transport,
GST_OBJECT (transport));
+ GST_OBJECT_UNLOCK (sender);
}
void
g_return_if_fail (GST_IS_WEBRTC_RTP_SENDER (sender));
g_return_if_fail (GST_IS_WEBRTC_DTLS_TRANSPORT (transport));
+ GST_OBJECT_LOCK (sender);
gst_object_replace ((GstObject **) & sender->rtcp_transport,
GST_OBJECT (transport));
+ GST_OBJECT_UNLOCK (sender);
}
static void
GST_WEBRTC_API
GstWebRTCRTPSender * gst_webrtc_rtp_sender_new (GArray * send_encodings);
-GST_WEBRTC_API
-GstStructure * gst_webrtc_rtp_sender_get_parameters (GstWebRTCRTPSender * sender, gchar * kind);
-/* FIXME: promise? */
-GST_WEBRTC_API
-gboolean gst_webrtc_rtp_sender_set_parameters (GstWebRTCRTPSender * sender,
- GstStructure * parameters);
GST_WEBRTC_API
void gst_webrtc_rtp_sender_set_transport (GstWebRTCRTPSender * sender,
gpointer _padding[GST_PADDING];
};
-GST_WEBRTC_API
-void gst_webrtc_rtp_transceiver_stop (GstWebRTCRTPTransceiver * transceiver);
-
G_END_DECLS
#endif /* __GST_WEBRTC_RTP_TRANSCEIVER_H__ */