DTV: verbose frontend status
authorRafaël Carré <funman@videolan.org>
Wed, 20 Aug 2014 10:01:27 +0000 (12:01 +0200)
committerRafaël Carré <funman@videolan.org>
Wed, 20 Aug 2014 10:01:27 +0000 (12:01 +0200)
modules/access/dtv/linux.c

index 1339bcd..f382462 100644 (file)
@@ -301,6 +301,23 @@ void dvb_close (dvb_device_t *d)
     free (d);
 }
 
+static void dvb_frontend_status(vlc_object_t *obj, fe_status_t s)
+{
+    msg_Dbg(obj, "frontend status:");
+#define S(f) \
+    if (s & FE_ ## f) \
+        msg_Dbg(obj, "\t%s", #f);
+
+    S(HAS_SIGNAL);
+    S(HAS_CARRIER);
+    S(HAS_VITERBI);
+    S(HAS_SYNC);
+    S(HAS_LOCK);
+    S(TIMEDOUT);
+    S(REINIT);
+#undef S
+}
+
 /**
  * Reads TS data from the tuner.
  * @return number of bytes read, 0 on EOF, -1 if no data (yet).
@@ -345,7 +362,7 @@ ssize_t dvb_read (dvb_device_t *d, void *buf, size_t len)
             return 0;
         }
 
-        msg_Dbg (d->obj, "frontend status: 0x%02X", (unsigned)ev.status);
+        dvb_frontend_status(d->obj, ev.status);
     }
 
     if (ufd[0].revents)