diff mbox series

dvb-apps: Add option for UK channel numbering in ZAP format

Message ID 06ff134b-4727-ba14-e614-934a296ea210@adsb.co.uk
State New
Headers show
Series dvb-apps: Add option for UK channel numbering in ZAP format | expand

Commit Message

Andrew Benham Oct. 31, 2020, 3:23 p.m. UTC
There is already a "-u" option to output UK channel numbering in VDR
format.  Patch accepts the option for ZAP format too.

In ZAP format, channel names will have "<channel_number>-" prepended,
allowing channels to be sorted by number order.


         "       -A N    check for ATSC 1=Terrestrial [default], 2=Cable 
or 3=both\n"

Comments

Mauro Carvalho Chehab March 23, 2021, 12:59 p.m. UTC | #1
Hi Andrew,

Em Sat, 31 Oct 2020 15:23:36 +0000
Andrew Benham <andrew.benham@adsb.co.uk> escreveu:

> There is already a "-u" option to output UK channel numbering in VDR

> format.  Patch accepts the option for ZAP format too.

> 

> In ZAP format, channel names will have "<channel_number>-" prepended,

> allowing channels to be sorted by number order.

> 

> 

> diff -r 3d43b280298c util/scan/dump-zap.c

> --- a/util/scan/dump-zap.c      Fri Mar 21 20:26:36 2014 +0100

> +++ b/util/scan/dump-zap.c      Sat Oct 31 15:12:40 2020 +0000T


The old dvb-apps at https://linuxtv.org/hg/dvb-apps is not maintained
for quite a while, as it depends on the legacy DVBv3 API, being
replaced by the dvbv5-tools, which are part of this repository:

	https://git.linuxtv.org/v4l-utils.git/

There, the apps are at:
	https://git.linuxtv.org/v4l-utils.git/tree/utils/dvb

And the libraries at:
	https://git.linuxtv.org/v4l-utils.git/tree/lib/libdvbv5


Not sure if the tool works with UK channel numbering. If not,
feel free to submit us a patch.

Regards,
Mauro.


> @@ -116,8 +116,12 @@

>                                   int sat_number,

>                                   uint16_t video_pid,

>                                   uint16_t *audio_pid,

> -                                uint16_t service_id)

> +                                uint16_t service_id,

> +                                int dump_channum,

> +                                int channel_num)

>   {

> +       if ((dump_channum == 1) && (channel_num > 0))

> +               fprintf(f, "%i-", channel_num);

>          fprintf (f, "%s:", service_name);

>          zap_dump_dvb_parameters (f, type, p, polarity, sat_number);

>          fprintf (f, ":%i:%i:%i", video_pid, audio_pid[0], service_id);

> diff -r 3d43b280298c util/scan/dump-zap.h

> --- a/util/scan/dump-zap.h      Fri Mar 21 20:26:36 2014 +0100

> +++ b/util/scan/dump-zap.h      Sat Oct 31 15:12:40 2020 +0000

> @@ -14,6 +14,8 @@

>                                   char polarity, int sat,

>                                   uint16_t video_pid,

>                                   uint16_t *audio_pid,

> -                                uint16_t service_id);

> +                                uint16_t service_id,

> +                                int dump_channum,

> +                                int channel_num);

> 

>   #endif

> diff -r 3d43b280298c util/scan/scan.c

> --- a/util/scan/scan.c  Fri Mar 21 20:26:36 2014 +0100

> +++ b/util/scan/scan.c  Sat Oct 31 15:12:40 2020 +0000

> @@ -2477,7 +2477,9 @@

>                                                      sat_number(t),

>                                                      s->video_pid,

>                                                      s->audio_pid,

> -                                                   s->service_id);

> +                                                   s->service_id,

> +                                                   vdr_dump_channum,

> +                                                   s->channel_num);

>                            default:

>                                 break;

>                            }

> @@ -2545,7 +2547,7 @@

>          "               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"

> -       "       -u      UK DVB-T Freeview channel numbering for VDR\n\n"

> +       "       -u      UK DVB-T Freeview channel numbering\n\n"

>          "       -P do not use ATSC PSIP tables for scanning\n"

>          "           (but only PAT and PMT) (applies for ATSC only)\n"

>          "       -A N    check for ATSC 1=Terrestrial [default], 2=Cable 

> or 3=both\n"

> 

> 




Thanks,
Mauro
diff mbox series

Patch

diff -r 3d43b280298c util/scan/dump-zap.c
--- a/util/scan/dump-zap.c      Fri Mar 21 20:26:36 2014 +0100
+++ b/util/scan/dump-zap.c      Sat Oct 31 15:12:40 2020 +0000T
@@ -116,8 +116,12 @@ 
                                  int sat_number,
                                  uint16_t video_pid,
                                  uint16_t *audio_pid,
-                                uint16_t service_id)
+                                uint16_t service_id,
+                                int dump_channum,
+                                int channel_num)
  {
+       if ((dump_channum == 1) && (channel_num > 0))
+               fprintf(f, "%i-", channel_num);
         fprintf (f, "%s:", service_name);
         zap_dump_dvb_parameters (f, type, p, polarity, sat_number);
         fprintf (f, ":%i:%i:%i", video_pid, audio_pid[0], service_id);
diff -r 3d43b280298c util/scan/dump-zap.h
--- a/util/scan/dump-zap.h      Fri Mar 21 20:26:36 2014 +0100
+++ b/util/scan/dump-zap.h      Sat Oct 31 15:12:40 2020 +0000
@@ -14,6 +14,8 @@ 
                                  char polarity, int sat,
                                  uint16_t video_pid,
                                  uint16_t *audio_pid,
-                                uint16_t service_id);
+                                uint16_t service_id,
+                                int dump_channum,
+                                int channel_num);

  #endif
diff -r 3d43b280298c util/scan/scan.c
--- a/util/scan/scan.c  Fri Mar 21 20:26:36 2014 +0100
+++ b/util/scan/scan.c  Sat Oct 31 15:12:40 2020 +0000
@@ -2477,7 +2477,9 @@ 
                                                     sat_number(t),
                                                     s->video_pid,
                                                     s->audio_pid,
-                                                   s->service_id);
+                                                   s->service_id,
+                                                   vdr_dump_channum,
+                                                   s->channel_num);
                           default:
                                break;
                           }
@@ -2545,7 +2547,7 @@ 
         "               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"
-       "       -u      UK DVB-T Freeview channel numbering for VDR\n\n"
+       "       -u      UK DVB-T Freeview channel numbering\n\n"
         "       -P do not use ATSC PSIP tables for scanning\n"
         "           (but only PAT and PMT) (applies for ATSC only)\n"