[w-scan] 02/08: Imported Upstream version 20130331
Tobias Grimm
tiber-guest at moszumanska.debian.org
Mon Oct 27 20:47:59 UTC 2014
This is an automated email from the git hooks/post-receive script.
tiber-guest pushed a commit to branch master
in repository w-scan.
commit 78fbbfa2dcb74da3406efb9d5b38930020db71c1
Author: etobi <git at e-tobi.net>
Date: Sun May 12 08:45:39 2013 +0200
Imported Upstream version 20130331
---
ChangeLog | 4 ++
config.h | 6 +-
configure | 20 +++----
configure.in | 2 +-
doc/w_scan.1 | 9 +--
dump-vdr.c | 163 ++++++++++------------------------------------------
extended_frontend.h | 4 ++
parse-dvbscan.c | 14 ++++-
satellites.dat | 3 +-
scan.c | 44 ++++++++------
version.h | 2 +-
11 files changed, 95 insertions(+), 176 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ef1e2c2..7c64886 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
ChangeLog:
--------------------
+2013-03-31
+ - adapt to vdr next version number, skipping support for vdr < 1.7.4
+ - fix compiling for newer frontend.h
+ - apply small other patches since 2012-11-11
2012-11-11
- apply patch from Michael Stilmant, who discovered two string buffers
being too small by one byte.
diff --git a/config.h b/config.h
index ff48f51..5007e1f 100644
--- a/config.h
+++ b/config.h
@@ -60,7 +60,7 @@
#define PACKAGE_NAME "w_scan"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "w_scan 20121111"
+#define PACKAGE_STRING "w_scan 20130331"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "w_scan"
@@ -69,7 +69,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "20121111"
+#define PACKAGE_VERSION "20130331"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
@@ -97,7 +97,7 @@
/* Version number of package */
-#define VERSION "20121111"
+#define VERSION "20130331"
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
diff --git a/configure b/configure
index fc6fe37..35498f2 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for w_scan 20121111.
+# Generated by GNU Autoconf 2.68 for w_scan 20130331.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -557,8 +557,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='w_scan'
PACKAGE_TARNAME='w_scan'
-PACKAGE_VERSION='20121111'
-PACKAGE_STRING='w_scan 20121111'
+PACKAGE_VERSION='20130331'
+PACKAGE_STRING='w_scan 20130331'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1240,7 +1240,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures w_scan 20121111 to adapt to many kinds of systems.
+\`configure' configures w_scan 20130331 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1306,7 +1306,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of w_scan 20121111:";;
+ short | recursive ) echo "Configuration of w_scan 20130331:";;
esac
cat <<\_ACEOF
@@ -1393,7 +1393,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-w_scan configure 20121111
+w_scan configure 20130331
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1811,7 +1811,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by w_scan $as_me 20121111, which was
+It was created by w_scan $as_me 20130331, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2629,7 +2629,7 @@ fi
# Define the identity of the package.
PACKAGE='w_scan'
- VERSION='20121111'
+ VERSION='20130331'
cat >>confdefs.h <<_ACEOF
@@ -5029,7 +5029,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by w_scan $as_me 20121111, which was
+This file was extended by w_scan $as_me 20130331, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5095,7 +5095,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-w_scan config.status 20121111
+w_scan config.status 20130331
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/configure.in b/configure.in
index c298da8..3c3d114 100644
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.63])
-AC_INIT([w_scan], [20121111])
+AC_INIT([w_scan], [20130331])
AC_CONFIG_SRCDIR([scan.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE
diff --git a/doc/w_scan.1 b/doc/w_scan.1
index 8d39998..2544a04 100644
--- a/doc/w_scan.1
+++ b/doc/w_scan.1
@@ -1,4 +1,4 @@
-.TH "w_scan" "28" "March , 2011" "" ""
+.TH "w_scan" 1 "28 March 2011" "" ""
.SH "NAME"
w_scan \- a universal ATSC and DVB blind scanner
.SH "SYNOPSIS"
@@ -80,9 +80,9 @@ specify ATSC scan type
.B \-o N
VDR channels.conf format
.br
-6 = VDR\-1.2 .. VDR\-1.6 [default],
+2 = VDR\-2.0 [default],
.br
-7 = VDR\-1.7 (for DVB-S2 support)
+21 = VDR\-2.1
.TP
.B \-X
generate zap/czap/xine output instead of VDR channels.conf.
@@ -298,9 +298,6 @@ scan cable (ATSC), United States:
scan aerial (ATSC), United States:
.B w_scan -fa -A1 -c US
.TP
-use output format VDR-1.7:
-.B w_scan [ OTHER OPTIONS ] -o 7
-.TP
use output format kaffeine:
.B w_scan [ OTHER OPTIONS ] -k
.TP
diff --git a/dump-vdr.c b/dump-vdr.c
index 406116e..9fcb6fa 100644
--- a/dump-vdr.c
+++ b/dump-vdr.c
@@ -171,7 +171,7 @@ const char * vdr_fec_name(int fec) {
*
*****************************************************************************/
-const char * vdr17_modulation_name(int modulation) {
+const char * vdr_modulation_name(int modulation) {
switch(modulation) {
case QAM_16 : return "16";
case QAM_32 : return "32";
@@ -193,23 +193,6 @@ const char * vdr17_modulation_name(int modulation) {
}
}
-/******************************************************************************
- * translate linuxtv modulation types to VDR < 1.7.0 identifiers.
- *
- *****************************************************************************/
-
-const char * vdr_modulation_name(int modulation) {
- switch(modulation) {
- case QPSK : return "0";
- case QAM_16 : return "16";
- case QAM_32 : return "32";
- case QAM_64 : return "64";
- case QAM_128 : return "128";
- case QAM_256 : return "256";
- case QAM_AUTO : return "999";
- default : return "999";
- }
-}
/******************************************************************************
* translate linuxtv bandwidth values to VDR identifiers.
@@ -308,80 +291,23 @@ const char * vdr_delsys_name(int delsys) {
/******************************************************************************
- * print "frequency:<params>:symbolrate:" to 'f' in vdr < 1.7.0 format
- *
- *****************************************************************************/
-
-void dump_param_vdr_1_2(FILE * f, struct tuning_parameters * p, struct w_scan_flags * flags) {
-switch (flags->scantype) {
- case SCAN_TERRCABLE_ATSC:
- fatal("VDR 1.2 .. 1.6 doesn't support ATSC.\n"
- "hint: did you miss '-o 7' ?");
-
- case SCAN_CABLE:
- fprintf (f, ":%i:", p->frequency / 1000);
- fprintf (f, "M%s:C:", vdr_modulation_name(p->u.cable.modulation));
- fprintf (f, "%i:", p->u.cable.symbol_rate / 1000);
- break;
-
- case SCAN_TERRESTRIAL:
- fprintf (f, ":%i:", p->frequency / 1000);
- fprintf (f, "I%s", vdr_inversion_name(p->inversion));
- fprintf (f, "B%s", vdr_bandwidth_name(p->u.terr.bandwidth));
- fprintf (f, "C%s", vdr_fec_name(p->u.terr.code_rate_HP));
- fprintf (f, "D%s", vdr_fec_name(p->u.terr.code_rate_LP));
- fprintf (f, "M%s", vdr_modulation_name(p->u.terr.constellation));
- fprintf (f, "T%s", vdr_transmission_mode_name(p->u.terr.transmission_mode));
- fprintf (f, "G%s", vdr_guard_name(p->u.terr.guard_interval));
- fprintf (f, "Y%s", vdr_hierarchy_name(p->u.terr.hierarchy_information));
- fprintf (f, ":T:27500:");
- break;
-
- case SCAN_SATELLITE:
- fprintf (f, ":%i:", p->frequency / 1000);
- switch (p->u.sat.polarization) {
- case POLARIZATION_HORIZONTAL:
- fprintf (f, "h");
- break;
- case POLARIZATION_VERTICAL:
- fprintf (f, "v");
- break;
- case POLARIZATION_CIRCULAR_LEFT:
- fprintf (f, "l");
- break;
- case POLARIZATION_CIRCULAR_RIGHT:
- fprintf (f, "r");
- break;
- default:
- fatal("Unknown Polarization %d\n", p->u.sat.polarization);
- }
- fprintf (f, "C%s:", vdr_fec_name(p->u.sat.fec_inner));
- fprintf(f, "%s:",
- short_name_to_vdr_name(satellite_to_short_name(flags->list_id)));
- fprintf (f, "%i:", p->u.sat.symbol_rate / 1000);
- break;
- default:;
- };
-}
-
-/******************************************************************************
* print "frequency:<params>:symbolrate:" to 'f' in vdr >= 1.7.4 format
* NOTE: 1.7.0 .. 1.7.3 not supported here.
*****************************************************************************/
#define vdrprint(fd, Param, Default, ID, Value) if (Param != Default) fprintf(fd,"%s%s", ID, Value)
-void dump_param_vdr_1_7(FILE * f, struct transponder * t, struct w_scan_flags * flags) {
+void dump_param_vdr(FILE * f, struct transponder * t, struct w_scan_flags * flags) {
struct tuning_parameters * p = &t->param;
switch (flags->scantype) {
case SCAN_TERRCABLE_ATSC:
fprintf (f, ":%i:", p->frequency / 1000);
- fprintf (f, "M%s:A:", vdr17_modulation_name(p->u.atsc.modulation));
+ fprintf (f, "M%s:A:", vdr_modulation_name(p->u.atsc.modulation));
fprintf (f, "%i:", p->u.cable.symbol_rate / 1000);
break;
case SCAN_CABLE:
fprintf (f, ":%i:", p->frequency / 1000);
- fprintf (f, "M%s:C:", vdr17_modulation_name(p->u.cable.modulation));
+ fprintf (f, "M%s:C:", vdr_modulation_name(p->u.cable.modulation));
fprintf (f, "%i:", p->u.cable.symbol_rate / 1000);
break;
@@ -392,7 +318,7 @@ switch (flags->scantype) {
vdrprint(f, p->u.terr.code_rate_LP , FEC_AUTO , "D", vdr_fec_name(p->u.terr.code_rate_LP));
vdrprint(f, p->u.terr.guard_interval , GUARD_INTERVAL_AUTO , "G", vdr_guard_name(p->u.terr.guard_interval));
vdrprint(f, p->inversion , INVERSION_AUTO , "I", vdr_inversion_name(p->inversion));
- vdrprint(f, p->u.terr.constellation , QAM_AUTO , "M", vdr17_modulation_name(p->u.terr.constellation));
+ vdrprint(f, p->u.terr.constellation , QAM_AUTO , "M", vdr_modulation_name(p->u.terr.constellation));
vdrprint(f, p->u.terr.delivery_system , SYS_DVBT , "S", vdr_delsys_name(p->u.terr.delivery_system));
vdrprint(f, p->u.terr.transmission_mode , TRANSMISSION_MODE_AUTO , "T", vdr_transmission_mode_name(p->u.terr.transmission_mode));
vdrprint(f, p->u.terr.hierarchy_information, HIERARCHY_AUTO , "Y", vdr_hierarchy_name(p->u.terr.hierarchy_information));
@@ -423,7 +349,7 @@ switch (flags->scantype) {
switch (p->u.sat.modulation_system) {
case SYS_DVBS2:
fprintf (f, "M%sO%sS1:",
- vdr17_modulation_name(p->u.sat.modulation_type),
+ vdr_modulation_name(p->u.sat.modulation_type),
vdr_rolloff_name(p->u.sat.rolloff));
break;
default:
@@ -456,26 +382,13 @@ void vdr_dump_service_parameter_set (FILE * f,
if (! flags->ca_select && s->scrambled)
return;
- if ((flags->vdr_version < 7) && (
- ((flags->scantype == SCAN_SATELLITE) && (t->param.u.sat.modulation_system == SYS_DVBS2)) ||
- ((flags->scantype == SCAN_TERRESTRIAL) && (t->param.u.terr.delivery_system == SYS_DVBT2)) ||
- ((flags->scantype == SCAN_CABLE) && (t->param.u.cable.delivery_system == SYS_DVBC2))
- )) /* delivery system not supported by vdr version */
- return;
fprintf (f, "%s", s->service_name);
if (flags->dump_provider)
fprintf (f, ";%s", s->provider_name);
- switch(flags->vdr_version) { // freq:<params>:source:sr:
- case 2 ... 6:
- dump_param_vdr_1_2(f, &t->param, flags);
- break;
- case 7:
- default:
- dump_param_vdr_1_7(f, t, flags);
- }
+ dump_param_vdr(f, t, flags);
fprintf (f, "%i", s->video_pid);
@@ -486,29 +399,18 @@ void vdr_dump_service_parameter_set (FILE * f,
fprintf (f, ":");
- switch(flags->vdr_version) {
- case 2:
- fprintf (f, "%i", s->audio_pid[0]);
- for (i = 1; i < s->audio_num; i++) {
- if (i) fprintf (f, ",");
- fprintf (f, ",%i", s->audio_pid[i]);
- }
- break;
- default:
- fprintf (f, "%i", s->audio_pid[0]);
- if (s->audio_lang && s->audio_lang[0][0])
- fprintf (f, "=%.4s", s->audio_lang[0]);
- if (flags->vdr_version > 7)
- if (s->audio_stream_type[0])
- fprintf (f, "@%u", s->audio_stream_type[0]);
- for (i = 1; i < s->audio_num; i++) {
- fprintf (f, ",%i", s->audio_pid[i]);
- if (s->audio_lang && s->audio_lang[i][0])
- fprintf (f, "=%.4s", s->audio_lang[i]);
- if (flags->vdr_version > 7)
- if (s->audio_stream_type[i])
- fprintf (f, "@%u", s->audio_stream_type[i]);
- }
+ fprintf (f, "%i", s->audio_pid[0]);
+ if (s->audio_lang && s->audio_lang[0][0])
+ fprintf (f, "=%.4s", s->audio_lang[0]);
+ if (s->audio_stream_type[0])
+ fprintf (f, "@%u", s->audio_stream_type[0]);
+ for (i = 1; i < s->audio_num; i++) {
+ fprintf (f, ",%i", s->audio_pid[i]);
+ if (s->audio_lang && s->audio_lang[i][0])
+ fprintf (f, "=%.4s", s->audio_lang[i]);
+ if (flags->vdr_version > 7)
+ if (s->audio_stream_type[i])
+ fprintf (f, "@%u", s->audio_stream_type[i]);
}
if (s->ac3_num) {
@@ -526,19 +428,17 @@ void vdr_dump_service_parameter_set (FILE * f,
fprintf (f, ":%d", s->teletext_pid);
- if (flags->vdr_version > 7) {
- // add subtitling here, vdr >= 1.7.21
- if (s->subtitling_num) {
- fprintf (f, "%s", ";");
- for (i = 0; i < s->subtitling_num; i++) {
- if (i > 0)
- fprintf (f, "%s", ",");
- fprintf (f, "%i", s->subtitling_pid[i]);
- if (s->subtitling_lang && s->subtitling_lang[i][0])
- fprintf (f, "=%.4s", s->subtitling_lang[i]);
- }
- }
+ // add subtitling here
+ if (s->subtitling_num) {
+ fprintf (f, "%s", ";");
+ for (i = 0; i < s->subtitling_num; i++) {
+ if (i > 0)
+ fprintf (f, "%s", ",");
+ fprintf (f, "%i", s->subtitling_pid[i]);
+ if (s->subtitling_lang && s->subtitling_lang[i][0])
+ fprintf (f, "=%.4s", s->subtitling_lang[i]);
}
+ }
fprintf (f, ":%X", s->ca_id[0]);
for (i = 1; i < s->ca_num; i++) {
@@ -546,11 +446,6 @@ void vdr_dump_service_parameter_set (FILE * f,
fprintf (f, ",%X", s->ca_id[i]);
}
- if (flags->vdr_version < 3) {
- t->pids.original_network_id = 0;
- t->pids.transport_stream_id = 0;
- }
-
fprintf (f, ":%d:%d:%d:0",
s->service_id,
(t->pids.transport_stream_id > 0)?t->pids.original_network_id:0,
diff --git a/extended_frontend.h b/extended_frontend.h
index 2f0a91b..108710f 100644
--- a/extended_frontend.h
+++ b/extended_frontend.h
@@ -131,6 +131,10 @@ typedef enum fe_siso_miso {
#define DTV_ENUM_DELSYS 44
#endif
+#if !defined DTV_STREAM_ID && defined DTV_DVBT2_PLP_ID
+#define DTV_STREAM_ID DTV_DVBT2_PLP_ID
+#endif
+
typedef enum {
DATA_SLICE_TUNING_FREQUENCY,
C2_SYSTEM_CENTER_FREQUENCY,
diff --git a/parse-dvbscan.c b/parse-dvbscan.c
index a420d26..633a385 100644
--- a/parse-dvbscan.c
+++ b/parse-dvbscan.c
@@ -60,7 +60,9 @@ enum __dvbscan_args {
cable_symbol_rate,
cable_fec_inner,
cable_modulation,
- cable_END_READING,
+ cable_END_READING,
+ terr_plp_id,
+ terr_system_id,
terr_frequency,
terr_bandwidth,
terr_fec_high_priority,
@@ -228,11 +230,13 @@ int dvbscan_parse_tuningdata(const char * tuningdata, struct w_scan_flags * flag
break;
case SCAN_TERRESTRIAL:
tn->param.u.terr.delivery_system = SYS_DVBT;
+ arg = terr_frequency;
if (strlen(token) >= 2)
if (token[1] == '2') {
flags->need_2g_fe = 1;
+ tn->param.u.terr.delivery_system = SYS_DVBT2;
+ arg = terr_plp_id;
}
- arg = terr_frequency;
tn->param.inversion = INVERSION_AUTO;
tn->param.u.terr.bandwidth = 8000000;
tn->param.u.terr.code_rate_HP = FEC_AUTO;
@@ -292,6 +296,12 @@ int dvbscan_parse_tuningdata(const char * tuningdata, struct w_scan_flags * flag
tn->param.u.cable.modulation = txt_to_cable_mod(token);
count++;
break;
+ case terr_plp_id:
+ tn->pids.plp_id = strtoul(token, NULL, 10);
+ break;
+ case terr_system_id:
+ tn->pids.system_id = strtoul(token, NULL, 10);
+ break;
case terr_bandwidth:
tn->param.u.terr.bandwidth = txt_to_terr_bw(token);
break;
diff --git a/satellites.dat b/satellites.dat
index 5923215..de84134 100644
--- a/satellites.dat
+++ b/satellites.dat
@@ -1900,6 +1900,7 @@ B(__S28E2)
{5, 10921, 0, 22000, 5 , 0, 0 }, // ASTRA 1N 55 ; 33.8Mbps; NID=2 ; TID=2055 ;
{5, 10936, 1, 22000, 5 , 0, 0 }, // ASTRA 1N 56 ; 33.8Mbps; NID=2 ; TID=2056 ;
{5, 10964, 0, 22000, 5 , 0, 0 }, // ASTRA 1N 59 ; 33.8Mbps; NID=2 ; TID=2057 ;
+{6, 11023, 0, 23000, 2 , 9, 3 }, //
{5, 11053, 0, 22000, 5 , 0, 0 }, // ASTRA 1N 39 ; 33.8Mbps; NID=2 ; TID=2063 ;
{5, 11127, 1, 22000, 5 , 0, 0 }, // ASTRA 1N 44 ; 33.8Mbps; NID=2 ; TID=2068 ;
{5, 11222, 0, 27500, 2 , 0, 0 }, // EUTELSAT 28A 0 ; 33.8Mbps; NID=2 ; TID=2311 ;
@@ -2335,7 +2336,7 @@ B(__S13E0)
{5, 10873, 1, 27500, 3 , 0, 0 }, // HOT BIRD 13A 118; 38.0Mbps; NID=176 ; TID=11800;
{5, 10892, 0, 27500, 3 , 0, 0 }, // HOT BIRD 13A 119; 38.0Mbps; NID=318 ; TID=11900;
{6, 10911, 1, 27500, 3 , 3, 9 }, // HOT BIRD 13C 120; 59.9Mbps; NID=318 ; TID=12000;
-{5, 10930, 0, 27500, 3 , 0, 0 }, // HOT BIRD 13C 121; 38.0Mbps; NID=318 ; TID=12100;
+{5, 10930, 0, 29900, 3 , 0, 0 }, // HOT BIRD 13C 121; 38.0Mbps; NID=318 ; TID=12100;
{5, 10949, 1, 27500, 3 , 0, 0 }, // HOT BIRD 13B 122; 38.0Mbps; NID=318 ; TID=12200;
{6, 10971, 0, 29700, 2 , 3, 9 }, // HOT BIRD 13B 123; 57.5Mbps; NID=318 ; TID=12300;
{5, 10992, 1, 27500, 2 , 0, 0 }, // HOT BIRD 13A 124; 33.8Mbps; NID=318 ; TID=12400;
diff --git a/scan.c b/scan.c
index c24e256..41a5d27 100644
--- a/scan.c
+++ b/scan.c
@@ -91,7 +91,7 @@ struct w_scan_flags flags = {
1, // get_other_nits, atm always
1, // add_frequencies, atm always
1, // dump_provider, dump also provider name
- 6, // VDR version number, VDR-1.6.x
+ 2, // VDR version number, VDR-2.0.0
0, // 0 = qam auto, 1 = search qams
1, // scan encrypted channels = yes
-1, // rotor position, unused
@@ -641,6 +641,7 @@ static void parse_descriptors(enum table_id t, const unsigned char *buf,
(fe_info.caps & FE_CAN_2G_MODULATION)) {
parse_C2_delivery_system_descriptor (buf, data, caps_inversion);
}
+ break;
case T2_delivery_system_descriptor:
if ((scantype == SCAN_TERRESTRIAL) && ((t == TABLE_NIT_ACT) || (t == TABLE_NIT_OTH)) &&
(fe_info.caps & FE_CAN_2G_MODULATION)) {
@@ -910,7 +911,7 @@ static void parse_pmt (const unsigned char *buf, int section_length, int service
break;
case iso_iec_13818_7_audio_w_ADTS_transp:
moreverbose(" ADTS Audio Stream (usually AAC) : PID %d (stream type 0x%X)\n", elementary_pid, buf[0]);
- if ((output_format == OUTPUT_VDR) && (flags.vdr_version < 7))
+ if ((output_format == OUTPUT_VDR) && (flags.vdr_version != 2)) // CHECK!
break; /* not supported by VDR-1.2..1.7.?? */
if (s->audio_num < AUDIO_CHAN_MAX) {
s->audio_pid[s->audio_num] = elementary_pid;
@@ -926,7 +927,7 @@ static void parse_pmt (const unsigned char *buf, int section_length, int service
break;
case iso_iec_14496_3_audio_w_LATM_transp:
moreverbose(" ISO/IEC 14496-3 Audio with LATM transport syntax as def. in ISO/IEC 14496-3/AMD1 : PID %d (stream type 0x%X)\n", elementary_pid, buf[0]);
- if ((output_format == OUTPUT_VDR) && (flags.vdr_version < 7))
+ if ((output_format == OUTPUT_VDR) && (flags.vdr_version != 2)) // CHECK!
break; /* not supported by VDR-1.2..1.7.?? */
if (s->audio_num < AUDIO_CHAN_MAX) {
s->audio_pid[s->audio_num] = elementary_pid;
@@ -973,8 +974,6 @@ static void parse_pmt (const unsigned char *buf, int section_length, int service
break;
case atsc_a_52b_ac3:
moreverbose(" AC-3 Audio per ATSC A/52B : PID %d (stream type 0x%X)\n", elementary_pid, buf[0]);
- if ((output_format == OUTPUT_VDR) && (flags.vdr_version < 7))
- break; /* not supported by VDR-1.2..1.7.13 */
if (s->ac3_num < AC3_CHAN_MAX) {
s->ac3_pid[s->ac3_num] = elementary_pid;
s->ac3_stream_type[s->ac3_num] = buf[0];
@@ -1769,6 +1768,13 @@ static int set_frontend(int frontend_fd, struct transponder * t) {
return -2;
}
case SCAN_TERRESTRIAL:
+ if (t->param.u.terr.delivery_system == SYS_DVBT2) {
+ if (!(fe_info.caps & FE_CAN_2G_MODULATION)) {
+ info("\t%d: skipped (no driver support of DVBT2)\n", t->param.frequency/*/1000*/);
+ return -2;
+ }
+ }
+ // no break needed here.
case SCAN_TERRCABLE_ATSC:
if ((t->param.frequency < fe_info.frequency_min) || (t->param.frequency > fe_info.frequency_max)) {
info ("\tskipped: (freq %u unsupported by driver)\n", t->param.frequency);
@@ -1816,7 +1822,7 @@ static int set_frontend(int frontend_fd, struct transponder * t) {
case SCAN_TERRESTRIAL:
set_cmd_sequence(DTV_DELIVERY_SYSTEM, t->param.u.terr.delivery_system);
if (t->param.u.terr.delivery_system == SYS_DVBT2) {
- set_cmd_sequence(DTV_DVBT2_PLP_ID, t->pids.plp_id);
+ set_cmd_sequence(DTV_STREAM_ID, t->pids.plp_id);
}
set_cmd_sequence(DTV_FREQUENCY, t->param.frequency);
set_cmd_sequence(DTV_INVERSION, t->param.inversion);
@@ -2674,9 +2680,8 @@ static const char *ext_opts = "%s expert help\n"
" N=0 gets only Free TV channels\n"
" N=1 search also encrypted channels [default]\n"
" -o N VDR version / channels.conf format\n"
- " 4 = VDR-1.4.x (depreciated)\n"
- " 6 = VDR-1.6.x (default)\n"
- " 7 = VDR-1.7.x\n"
+ " 2 = VDR-2.0.x (default)\n"
+ " 21 = VDR-2.1.x\n"
".................Device..................\n"
" -a N use device /dev/dvb/adapterN/ [default: auto detect]\n"
" (also allowed: -a /dev/dvb/adapterN/frontendM)\n"
@@ -2866,7 +2871,6 @@ int main (int argc, char **argv)
break;
case 'o': //vdr Version
flags.vdr_version = strtoul(optarg, NULL, 0);
- if (flags.vdr_version > 2) flags.dump_provider = 1;
break;
case 'p': //satellite *p*osition file
positionfile=strdup(optarg);
@@ -3002,11 +3006,6 @@ int main (int argc, char **argv)
return 0;
}
info("w_scan version %d (compiled for DVB API %d.%d)\n", version, DVB_API_VERSION, DVB_API_VERSION_MINOR);
- if ((scantype == SCAN_TERRCABLE_ATSC) && (output_format == OUTPUT_VDR) && (flags.vdr_version < 7)) {
- warning("VDR up to version 1.7.13 doesn't support ATSC.\n"
- "\tChanging output format to 'vdr-1.7.x'\n");
- flags.vdr_version = 7;
- }
if (NULL == initdata) {
if ((NULL == country) && (scantype != SCAN_SATELLITE)) {
country = strdup(country_to_short_name(get_user_country()));
@@ -3097,12 +3096,21 @@ int main (int argc, char **argv)
info("scan type %s, channellist %d\n", scantype_to_text(scantype), this_channellist);
switch (output_format) {
case OUTPUT_VDR:
- info("output format vdr-1.%d\n", flags.vdr_version);
+ switch (flags.vdr_version) {
+ case 2:
+ info("output format vdr-2.0\n");
+ break;
+ case 21:
+ info("output format vdr-2.1\n");
+ break;
+ default:
+ fatal("UNKNOWN VDR VERSION.");
+ }
break;
case OUTPUT_GSTREAMER:
- // Gstreamer output: As vdr-1.7, but pmt_pid added at end of line.
+ // Gstreamer output: As vdr-1.7+, but pmt_pid added at end of line.
flags.print_pmt = 1;
- flags.vdr_version = 7;
+ flags.vdr_version = 2;
output_format = OUTPUT_VDR;
info("output format gstreamer\n");
break;
diff --git a/version.h b/version.h
index 6fdca1b..b9501f0 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
/* AUTOMATICALLY GENERATED - DO NOT EDIT MANUALLY */
#ifndef W_SCAN_VERSION_H
#define W_SCAN_VERSION_H
-uint version=20121111;
+uint version=20130331;
#endif
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-vdr-dvb/w-scan.git
More information about the pkg-vdr-dvb-changes
mailing list