OSDN Git Service

media: vidtv: fix service_id at SDT table
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Mon, 23 Nov 2020 17:40:29 +0000 (18:40 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 26 Nov 2020 07:05:23 +0000 (08:05 +0100)
The service_id there should be equal to the one used
on other tables, otherwise, EIT entries won't be valid.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/test-drivers/vidtv/vidtv_channel.c
drivers/media/test-drivers/vidtv/vidtv_psi.c
drivers/media/test-drivers/vidtv/vidtv_psi.h

index 4aab3bb..8ad6c07 100644 (file)
@@ -424,7 +424,8 @@ int vidtv_channel_si_init(struct vidtv_mux *m)
        if (!m->si.pat)
                return -ENOMEM;
 
-       m->si.sdt = vidtv_psi_sdt_table_init(m->transport_stream_id);
+       m->si.sdt = vidtv_psi_sdt_table_init(m->network_id,
+                                            m->transport_stream_id);
        if (!m->si.sdt)
                goto free_pat;
 
index 5c88763..77bb560 100644 (file)
@@ -1271,7 +1271,8 @@ void vidtv_psi_pmt_table_destroy(struct vidtv_psi_table_pmt *pmt)
        kfree(pmt);
 }
 
-struct vidtv_psi_table_sdt *vidtv_psi_sdt_table_init(u16 transport_stream_id)
+struct vidtv_psi_table_sdt *vidtv_psi_sdt_table_init(u16 network_id,
+                                                    u16 transport_stream_id)
 {
        struct vidtv_psi_table_sdt *sdt;
        const u16 RESERVED = 0xff;
@@ -1307,7 +1308,7 @@ struct vidtv_psi_table_sdt *vidtv_psi_sdt_table_init(u16 transport_stream_id)
         * This can be changed to something more useful, when support for
         * NIT gets added
         */
-       sdt->network_id = cpu_to_be16(0xff01);
+       sdt->network_id = cpu_to_be16(network_id);
        sdt->reserved = RESERVED;
 
        vidtv_psi_sdt_table_update_sec_len(sdt);
index 4b64715..d30c8dd 100644 (file)
@@ -366,7 +366,8 @@ struct vidtv_psi_table_pat *vidtv_psi_pat_table_init(u16 transport_stream_id);
 struct vidtv_psi_table_pmt *vidtv_psi_pmt_table_init(u16 program_number,
                                                     u16 pcr_pid);
 
-struct vidtv_psi_table_sdt *vidtv_psi_sdt_table_init(u16 transport_stream_id);
+struct vidtv_psi_table_sdt *vidtv_psi_sdt_table_init(u16 network_id,
+                                                    u16 transport_stream_id);
 
 struct vidtv_psi_table_sdt_service*
 vidtv_psi_sdt_service_init(struct vidtv_psi_table_sdt_service *head,