Since VDR 1.3 series (released about 3-5 years ago I think), VDR updates
the ca field of channels.conf entry automatically. However, value 1
has a special meaning to VDR. It will force the use of DVB card 1 to
receive the channel, and will not update the ca field to its proper value.
However, scan defaults to setting ca value to 1 on encrypted channels,
which does not make sense.
The attached patch adds a new default value -1 to -x parameter and
sets vdr default version to 3 instead of the now obsolete 2. With
the new value -1 scan will set ca field of all channels to 0 and let
VDR update the field properly.
--
Anssi Hannula
diff -r 4bca5d49c9bd util/scan/dump-vdr.c
--- a/util/scan/dump-vdr.c Tue Sep 11 21:32:03 2007 +0200
+++ b/util/scan/dump-vdr.c Sat Sep 22 19:34:14 2007 +0300
@@ -138,7 +138,7 @@ void vdr_dump_service_parameter_set (FIL
{
int i;
- if ((video_pid || audio_pid[0]) ((ca_select 0) || ((ca_select ==
0) (scrambled == 0 {
+ if (video_pid || audio_pid[0]) {
if (vdr_version = 2) {
audio_lang = NULL;
network_id = 0;
@@ -174,7 +174,15 @@ void vdr_dump_service_parameter_set (FIL
if (audio_lang audio_lang[0][0])
fprintf (f, =%.4s, audio_lang[0]);
}
- if (scrambled == 1) scrambled = ca_select;
+ if (scrambled == 1) {
+ if (ca_select == -1)
+ if (vdr_version = 2)
+ scrambled = 1;
+ else
+ scrambled = 0;
+ else
+ scrambled = ca_select;
+ }
fprintf (f, :%d:%d:%d:%d:%d:0, teletext_pid, scrambled,
service_id, network_id, transport_stream_id);
fprintf (f, \n);
diff -r 4bca5d49c9bd util/scan/scan.c
--- a/util/scan/scan.c Tue Sep 11 21:32:03 2007 +0200
+++ b/util/scan/scan.c Sat Sep 22 19:46:02 2007 +0300
@@ -61,9 +61,9 @@ static int vdr_dump_channum;
static int vdr_dump_channum;
static int no_ATSC_PSIP;
static int ATSC_type=1;
-static int ca_select = 1;
+static int ca_select = -1;
static int serv_select = 7;
-static int vdr_version = 2;
+static int vdr_version = 3;
static struct lnb_types_st lnb_type;
static int unique_anon_services;
@@ -2082,14 +2082,15 @@ static const char *usage = \n
-5 multiply all filter timeouts by factor 5\n
for non-DVB-compliant section repitition rates\n
-o fmt output format: 'zap' (default), 'vdr' or 'pids'
(default with -c)\n
- -x NConditional Axcess, (default 1)\n
+ -x NConditional Access, (default -1)\n
N=0 gets only FTA channels\n
+ N=-1 gets all channels\n
N=xxx sets ca field in vdr output to :xxx:\n
-t NService select, Combined bitfield parameter.\n
1 = TV, 2 = Radio, 4 = Other, (default 7)\n
-p for vdr output format: dump provider name\n
- -e NVDR version, default 2 for VDR-1.2.x\n
- ANYTHING ELSE GIVES NONZERO NIT and TID\n
+ -e NVDR version, default 3 for VDR-1.3.x and newer\n
+ value 2 sets NIT and TID to zero\n
Vdr version 1.3.x and up implies -p.\n
-l lnb-type (DVB-S Only) (use -l help to print types) or \n
-l low[,high[,switch]] in Mhz\n
___
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb