Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] patch for scan (-t bitfield select)



Select output by service, 1=tv, 2=radio, 4=other.
Effective only for -o vdr now.

There is some odd effect, I have selected INVERSION_OFF for
562000 terrestial transmitter, output still gives
INVERSION_AUTO (I999), should be I0

--
lauri.tischler@iki.fi     * Let all cats bloom *
  The Olde Farthe         *  Chinese prowerb   *

--- Begin Message ---
Index: DVB/apps/scan/dump-vdr.c
===================================================================
RCS file: /cvs/linuxtv/DVB/apps/scan/dump-vdr.c,v
retrieving revision 1.11
diff -u -p -r1.11 dump-vdr.c
--- DVB/apps/scan/dump-vdr.c	26 Jun 2003 13:23:30 -0000	1.11
+++ DVB/apps/scan/dump-vdr.c	28 Jun 2003 12:17:12 -0000
@@ -124,11 +124,13 @@ void vdr_dump_service_parameter_set (FIL
 				 int orbital_pos,
 				 int we_flag,
 				 int dump_provider,
-				 int ca_select)
+				 int ca_select,
+				 int serv_select)
 {
         int i;
 
-	if ((video_pid || audio_pid[0]) && ((ca_select > 0) || ((ca_select == 0) && (scrambled == 0)))) {
+	if (((video_pid && (serv_select & 1)) || (audio_pid[0] && (serv_select & 2))) && 
+	    ((ca_select > 0) || ((ca_select == 0) && (scrambled == 0)))) {
 		if (dump_provider == 1)
 			fprintf (f, "%s:", provider_name);
 		fprintf (f, "%s:", service_name);
Index: DVB/apps/scan/dump-vdr.h
===================================================================
RCS file: /cvs/linuxtv/DVB/apps/scan/dump-vdr.h,v
retrieving revision 1.5
diff -u -p -r1.5 dump-vdr.h
--- DVB/apps/scan/dump-vdr.h	26 Jun 2003 13:23:30 -0000	1.5
+++ DVB/apps/scan/dump-vdr.h	28 Jun 2003 12:17:12 -0000
@@ -27,7 +27,8 @@ void vdr_dump_service_parameter_set (FIL
 				 int orbital_pos,
 				 int we_flag,
 				 int dump_provider,
-				 int ca_select);
+				 int ca_select,
+				 int serv_select);
 
 #endif
 
Index: DVB/apps/scan/initial.h
===================================================================
RCS file: /cvs/linuxtv/DVB/apps/scan/initial.h,v
retrieving revision 1.15
diff -u -p -r1.15 initial.h
--- DVB/apps/scan/initial.h	26 Jun 2003 16:59:04 -0000	1.15
+++ DVB/apps/scan/initial.h	28 Jun 2003 12:17:12 -0000
@@ -539,7 +539,7 @@ struct transponder ofdm_probes [] = {
 		.type = FE_OFDM,
 		.param = {
 			.frequency = 562000000,
-			.inversion = INVERSION_AUTO,
+			.inversion = INVERSION_OFF,
 			{ ofdm:
 				{
 					.bandwidth = BANDWIDTH_8_MHZ,
Index: DVB/apps/scan/scan.c
===================================================================
RCS file: /cvs/linuxtv/DVB/apps/scan/scan.c,v
retrieving revision 1.38
diff -u -p -r1.38 scan.c
--- DVB/apps/scan/scan.c	26 Jun 2003 13:23:30 -0000	1.38
+++ DVB/apps/scan/scan.c	28 Jun 2003 12:17:13 -0000
@@ -39,6 +39,7 @@ static int current_tp_only;
 static int get_other_nits;
 static int vdr_dump_provider;
 static int ca_select;
+static int serv_select;
 
 enum table_type {
 	PAT,
@@ -1465,7 +1466,8 @@ void dump_lists (void)
 						    t->orbital_pos,
 						    t->we_flag,
 						    vdr_dump_provider,
-						    ca_select);
+						    ca_select,
+						    serv_select);
                                 break;
                           case OUTPUT_ZAP:
 			        zap_dump_service_parameter_set (stdout,
@@ -1502,9 +1504,10 @@ static const char *usage = "\n"
 	"	-x N	Conditional Axcess, (default 1)\n"
 	"		N=0 gets only FTA channels\n"
 	"		N=xxx sets ca field in vdr output to :xxx:\n"
+	"	-t N	Service select, Combined bitfield parameter.\n"
+	"		1 = TV, 2 = Radio, 4 = Other, (default 7)\n"
 	"	-p	for vdr output format: dump provider name\n";
 
-
 int main (int argc, char **argv)
 {
 	char frontend_devname [80];
@@ -1512,8 +1515,9 @@ int main (int argc, char **argv)
 	int opt, i;
 	vdr_dump_provider = 0;
 	ca_select = 1;
+	serv_select = 7;
 
-	while ((opt = getopt(argc, argv, "5cnpa:f:d:s:o:x:")) != -1) {
+	while ((opt = getopt(argc, argv, "5cnpa:f:d:s:o:x:t:")) != -1) {
 		switch (opt) {
 		case 'a':
 			adapter = strtoul(optarg, NULL, 0);
@@ -1551,6 +1555,9 @@ int main (int argc, char **argv)
 			break;
 		case 'x':
 			ca_select = strtoul(optarg, NULL, 0);
+			break;
+		case 't':
+			serv_select = strtoul(optarg, NULL, 0);
 			break;
 		default:
 			fprintf (stderr, usage, argv[0]);

--- End Message ---

Home | Main Index | Thread Index