diff --git a/girs/GstRtspServer-1.0.gir b/girs/GstRtspServer-1.0.gir index 76f3c35d31..37450fa39c 100644 --- a/girs/GstRtspServer-1.0.gir +++ b/girs/GstRtspServer-1.0.gir @@ -11269,6 +11269,10 @@ passed @tr. + + Whether this transport is timed out + + parent instance diff --git a/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c b/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c index a2aac3d1e9..61cf4b2171 100644 --- a/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c +++ b/subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c @@ -106,9 +106,12 @@ typedef struct enum { PROP_0, + PROP_TIMED_OUT, PROP_LAST }; +#define DEFAULT_TIMED_OUT FALSE + GST_DEBUG_CATEGORY_STATIC (rtsp_stream_transport_debug); #define GST_CAT_DEFAULT rtsp_stream_transport_debug @@ -117,6 +120,21 @@ static void gst_rtsp_stream_transport_finalize (GObject * obj); G_DEFINE_TYPE_WITH_PRIVATE (GstRTSPStreamTransport, gst_rtsp_stream_transport, G_TYPE_OBJECT); +static void +gst_rtsp_stream_transport_get_property (GObject * object, guint propid, + GValue * value, GParamSpec * pspec) +{ + GstRTSPStreamTransport *transport = GST_RTSP_STREAM_TRANSPORT (object); + + switch (propid) { + case PROP_TIMED_OUT: + g_value_set_boolean (value, transport->priv->timed_out); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, propid, pspec); + } +} + static void gst_rtsp_stream_transport_class_init (GstRTSPStreamTransportClass * klass) { @@ -125,6 +143,19 @@ gst_rtsp_stream_transport_class_init (GstRTSPStreamTransportClass * klass) gobject_class = G_OBJECT_CLASS (klass); gobject_class->finalize = gst_rtsp_stream_transport_finalize; + gobject_class->get_property = gst_rtsp_stream_transport_get_property; + + /** + * GstRTSPStreamTransport:timed-out: + * + * Whether this transport is timed out + * + * Since: 1.28 + */ + g_object_class_install_property (gobject_class, PROP_TIMED_OUT, + g_param_spec_boolean ("timed-out", "Timed Out", + "Whether this transport is timed out", + DEFAULT_TIMED_OUT, G_PARAM_READABLE)); GST_DEBUG_CATEGORY_INIT (rtsp_stream_transport_debug, "rtspmediatransport", 0, "GstRTSPStreamTransport"); @@ -589,6 +620,8 @@ gst_rtsp_stream_transport_set_timed_out (GstRTSPStreamTransport * trans, g_return_if_fail (GST_IS_RTSP_STREAM_TRANSPORT (trans)); trans->priv->timed_out = timedout; + + g_object_notify (G_OBJECT (trans), "timed-out"); } /**