From: Andreas Ă–man Date: Sun, 29 Nov 2009 21:31:53 +0000 (+0000) Subject: Delay subscriptions created via the -j command line argument with 2 seconds. X-Git-Tag: 2.12~388 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b0399bdeea09cac2b405b7a9114ccc83013ea078;p=thirdparty%2Ftvheadend.git Delay subscriptions created via the -j command line argument with 2 seconds. --- diff --git a/src/main.c b/src/main.c index 9c471bcc7..f6d5ee152 100644 --- a/src/main.c +++ b/src/main.c @@ -394,7 +394,7 @@ main(int argc, char **argv) rawts_init(rawts_input); if(join_transport != NULL) - subscription_dummy_join(join_transport); + subscription_dummy_join(join_transport, 1); #ifdef CONFIG_AVAHI avahi_init(); diff --git a/src/subscriptions.c b/src/subscriptions.c index 083958c81..e1261013b 100644 --- a/src/subscriptions.c +++ b/src/subscriptions.c @@ -343,7 +343,7 @@ static gtimer_t dummy_sub_timer; static void dummy_retry(void *opaque) { - subscription_dummy_join(opaque); + subscription_dummy_join(opaque, 0); free(opaque); } @@ -351,11 +351,16 @@ dummy_retry(void *opaque) * */ void -subscription_dummy_join(const char *id) +subscription_dummy_join(const char *id, int first) { th_transport_t *t = transport_find_by_identifier(id); streaming_target_t *st; + if(first) { + gtimer_arm(&dummy_sub_timer, dummy_retry, strdup(id), 2); + return; + } + if(t == NULL) { tvhlog(LOG_ERR, "subscription", "Unable to dummy join %s, transport not found, retrying...", id); diff --git a/src/subscriptions.h b/src/subscriptions.h index 6a9bc6154..8abf1dcea 100644 --- a/src/subscriptions.h +++ b/src/subscriptions.h @@ -70,7 +70,7 @@ void subscription_stop(th_subscription_t *s); void subscription_unlink_transport(th_subscription_t *s); -void subscription_dummy_join(const char *id); +void subscription_dummy_join(const char *id, int first); int subscriptions_active(void);