From 1f3bee08f3a63406464fa18b346bb6d95e8de68d Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 29 Sep 2014 00:58:55 +0200 Subject: initial support for keepalives --- src/datatypes.h | 2 ++ src/udp.c | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/datatypes.h b/src/datatypes.h index f60d97f..2ff5e12 100644 --- a/src/datatypes.h +++ b/src/datatypes.h @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -75,6 +76,7 @@ struct udp_sources { GstElement* rtp_audio_; GstElement* rtcp_audio_; int keepalive_interval_; + GInetAddress* remote_addr_; }; #endif diff --git a/src/udp.c b/src/udp.c index 470df36..26d090f 100644 --- a/src/udp.c +++ b/src/udp.c @@ -230,13 +230,22 @@ gboolean attach_udpsinks(struct udp_sinks *sinks) return TRUE; } +static gboolean send_keepalives(gpointer user_data) +{ + log_printf(WARNING, "sending keep alives is not yet supporet!"); + return TRUE; +} gboolean attach_udpsources(struct udp_sources *sources) { if(!sources) return FALSE; - log_printf(WARNING, "udp source keep alive messages are not implemented yet!"); + if(sources->keepalive_interval_ > 0) { + send_keepalives(sources); + if(!g_timeout_add_seconds(sources->keepalive_interval_, send_keepalives, sources)) + return FALSE; + } return TRUE; } -- cgit v1.2.3