# HG changeset patch # User Yoshiki Yazawa # Date 1236025825 -32400 # Node ID 6004fe4f37f9beb70d30c88b3aa612ba48b782b5 # Parent 289794dc265fb57369250b47f5b7269bb6c77f45 adapted to use of multiple number of pt1: - now recpt1 supports simultaneous use of two pt1s. - new device option has been added. diff -r 289794dc265f -r 6004fe4f37f9 recpt1/recpt1.c --- a/recpt1/recpt1.c Tue Mar 03 05:15:40 2009 +0900 +++ b/recpt1/recpt1.c Tue Mar 03 05:30:25 2009 +0900 @@ -307,7 +307,7 @@ show_usage(char *cmd) { fprintf(stderr, "\n"); - fprintf(stderr, "Usage: \n%s [--b25 [--round N] [--strip] [--EMM]] [--udp [--addr hostname --port portnumber]] channel recsec destfile\n", cmd); + fprintf(stderr, "Usage: \n%s [--b25 [--round N] [--strip] [--EMM]] [--udp [--addr hostname --port portnumber]] [--device devicefile] channel recsec destfile\n", cmd); fprintf(stderr, "\n"); fprintf(stderr, "Remarks:\n"); fprintf(stderr, "if recsec is '-', records indefinitely.\n"); @@ -326,6 +326,7 @@ fprintf(stderr, "--udp: Turn on udp broadcasting\n"); fprintf(stderr, " --addr hostname: Hostname or address to connect\n"); fprintf(stderr, " --port portnumber: Port number to connect\n"); + fprintf(stderr, "--device devicefile: Specify devicefile to use\n"); fprintf(stderr, "--help: Show this help\n"); fprintf(stderr, "\n"); } @@ -536,6 +537,7 @@ { "udp", 0, NULL, 'u'}, { "addr", 1, NULL, 'a'}, { "port", 1, NULL, 'p'}, + { "device", 1, NULL, 'd'}, { "help", 0, NULL, 'h'}, {0, 0, NULL, 0} /* terminate */ }; @@ -547,8 +549,9 @@ char *host_to = NULL; int port_to = 1234; sock_data *sockdata = NULL; + char *device = NULL; - while((result = getopt_long(argc, argv, "br:smua:p:h", + while((result = getopt_long(argc, argv, "br:smua:p:d:h", long_options, &option_index)) != -1) { switch(result) { case 'b': @@ -588,6 +591,10 @@ port_to = atoi(optarg); fprintf(stderr, "UDP port: %d\n", port_to); break; + case 'd': + device = optarg; + fprintf(stderr, "using device: %s\n", device); + break; } } @@ -615,27 +622,45 @@ freq.slot = ptr->add_freq; if(ptr->type == CHTYPE_SATELLITE) { - for(lp = 0; lp < 2; lp++) { - tfd = open(bsdev[lp], O_RDONLY); - if(tfd >= 0) { - break; + if(device) { + tfd = open(device, O_RDONLY); + if(tfd < 0) { + fprintf(stderr, "Cannot open tuner\n"); + return 1; } } - if(tfd < 0) { - fprintf(stderr, "Cannot open tuner\n"); - return 1; + else { + for(lp = 0; lp < NUM_BSDEV; lp++) { + tfd = open(bsdev[lp], O_RDONLY); + if(tfd >= 0) { + break; + } + } + if(tfd < 0) { + fprintf(stderr, "Cannot open tuner\n"); + return 1; + } } } else { - for(lp = 0; lp < 2; lp++) { - tfd = open(isdb_t_dev[lp], O_RDONLY); - if(tfd >= 0) { - break; + if(device) { + tfd = open(device, O_RDONLY); + if(tfd < 0) { + fprintf(stderr, "Cannot open tuner\n"); + return 1; } } - if(tfd < 0) { - fprintf(stderr, "Cannot open tuner\n"); - return 1; + else { + for(lp = 0; lp < NUM_ISDB_T_DEV; lp++) { + tfd = open(isdb_t_dev[lp], O_RDONLY); + if(tfd >= 0) { + break; + } + } + if(tfd < 0) { + fprintf(stderr, "Cannot open tuner\n"); + return 1; + } } } diff -r 289794dc265f -r 6004fe4f37f9 recpt1/recpt1.h --- a/recpt1/recpt1.h Tue Mar 03 05:15:40 2009 +0900 +++ b/recpt1/recpt1.h Tue Mar 03 05:30:25 2009 +0900 @@ -1,13 +1,20 @@ #ifndef _RECPT1_H_ #define _RECPT1_H_ -char *bsdev[2] = { +#define NUM_BSDEV 4 +#define NUM_ISDB_T_DEV 4 + +char *bsdev[NUM_BSDEV] = { "/dev/pt1video1", - "/dev/pt1video0" + "/dev/pt1video0", + "/dev/pt1video5", + "/dev/pt1video4" }; -char *isdb_t_dev[2] = { +char *isdb_t_dev[NUM_ISDB_T_DEV] = { "/dev/pt1video2", "/dev/pt1video3" + "/dev/pt1video6", + "/dev/pt1video7" }; #define CHTYPE_SATELLITE 0 /* satellite digital */