]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Delay subscriptions created via the -j command line argument with 2 seconds.
authorAndreas Öman <andreas@lonelycoder.com>
Sun, 29 Nov 2009 21:31:53 +0000 (21:31 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Sun, 29 Nov 2009 21:31:53 +0000 (21:31 +0000)
src/main.c
src/subscriptions.c
src/subscriptions.h

index 9c471bcc732ddf1fb38ba066165168920cfbe0a5..f6d5ee152a98e942274b65aae14615ab39769f87 100644 (file)
@@ -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();
index 083958c8186ab10a8a6f3c6a2b5d0977c25d850b..e1261013b6461e01584392cd334293c204efdb8e 100644 (file)
@@ -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);
index 6a9bc6154daba2c1868ec5cbfff53918506cb23e..8abf1dcea5536bfd676feb95d2d9873ef9bd8356 100644 (file)
@@ -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);