]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Display modulation type in DVB mux grid.
authorAndreas Öman <andreas@lonelycoder.com>
Tue, 7 Jul 2009 20:50:58 +0000 (20:50 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Tue, 7 Jul 2009 20:50:58 +0000 (20:50 +0000)
src/dvb/dvb_multiplex.c
src/webui/static/app/dvb.js

index 61420b3b4318d4f7374e3e99cc0d1ea4a263de45..142e8b5e75304fe8ccd29a2b2d64b111915f925e 100644 (file)
@@ -622,6 +622,38 @@ dvb_mux_set_enable(th_dvb_mux_instance_t *tdmi, int enabled)
 }
 
 
+/**
+ *
+ */
+static void
+dvb_mux_modulation(char *buf, size_t size, th_dvb_mux_instance_t *tdmi)
+{
+  struct dvb_frontend_parameters *f = &tdmi->tdmi_fe_params;
+
+  switch(tdmi->tdmi_adapter->tda_type) {
+  case FE_OFDM:
+    snprintf(buf, size, "%s in %s, mode: %s",
+            val2str(f->u.ofdm.bandwidth, bwtab),
+            val2str(f->u.ofdm.constellation, qamtab),
+            val2str(f->u.ofdm.transmission_mode, modetab));
+    break;
+
+  case FE_QPSK:
+    snprintf(buf, size, "%d kBaud", f->u.qpsk.symbol_rate / 1000);
+    break;
+            
+  case FE_QAM:
+   snprintf(buf, size, "%d kBaud in %s", 
+           f->u.qpsk.symbol_rate / 1000,
+           val2str(f->u.qam.modulation, qamtab));
+   break;
+  default:
+    snprintf(buf, size, "Unknown");
+    break;
+  }
+}
+
+
 /**
  *
  */
@@ -636,9 +668,13 @@ dvb_mux_build_msg(th_dvb_mux_instance_t *tdmi)
   htsmsg_add_str(m, "id", tdmi->tdmi_identifier);
   htsmsg_add_u32(m, "enabled",  tdmi->tdmi_enabled);
   htsmsg_add_str(m, "network", tdmi->tdmi_network ?: "");
-  dvb_mux_nicefreq(buf, sizeof(buf), tdmi);
 
+  dvb_mux_nicefreq(buf, sizeof(buf), tdmi);
   htsmsg_add_str(m, "freq",  buf);
+
+  dvb_mux_modulation(buf, sizeof(buf), tdmi);
+  htsmsg_add_str(m, "mod",  buf);
+
   htsmsg_add_str(m, "pol", 
                 dvb_polarisation_to_str_long(tdmi->tdmi_polarisation));
 
index cae0eb36f8620452a079bb5c628acfd741a29d4a..71d627a7f6f69bbd85b8780e0f0173b4800211d1 100644 (file)
@@ -65,6 +65,11 @@ tvheadend.dvb_muxes = function(adapterData, satConfStore) {
            header: "Frequency",
            dataIndex: 'freq',
            width: 50
+       },
+       {
+           header: "Modulation",
+           dataIndex: 'mod',
+           width: 100
        });
 
     if(adapterData.satConf) {
@@ -115,7 +120,8 @@ tvheadend.dvb_muxes = function(adapterData, satConfStore) {
     cm.defaultSortable = true;
 
     var rec = Ext.data.Record.create([
-       'id', 'enabled','network', 'freq', 'pol', 'satconf', 'muxid', 'quality'
+       'id', 'enabled','network', 'freq', 'pol', 'satconf', 
+       'muxid', 'quality', 'mod'
     ]);
 
     var store = new Ext.data.JsonStore({