media: vidtv: fix service_id at SDT table

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>
This commit is contained in:
Mauro Carvalho Chehab 2020-11-23 18:40:29 +01:00
parent 11f4933f7b
commit bfa4aaebe8
3 changed files with 7 additions and 4 deletions

View 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;

View 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);

View 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,