media: vidtv: properly fill EIT service_id
The EIT header ID field should not contain the network ID, but, instead, the service_id of the program described at EIT. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
1d2b2a6d8c
commit
91a8a240e2
@ -450,7 +450,8 @@ int vidtv_channel_si_init(struct vidtv_mux *m)
|
||||
goto free_service_list;
|
||||
|
||||
m->si.eit = vidtv_psi_eit_table_init(m->network_id,
|
||||
m->transport_stream_id);
|
||||
m->transport_stream_id,
|
||||
programs->service_id);
|
||||
if (!m->si.eit)
|
||||
goto free_nit;
|
||||
|
||||
|
@ -1809,7 +1809,8 @@ void vidtv_psi_eit_event_assign(struct vidtv_psi_table_eit *eit,
|
||||
|
||||
struct vidtv_psi_table_eit
|
||||
*vidtv_psi_eit_table_init(u16 network_id,
|
||||
u16 transport_stream_id)
|
||||
u16 transport_stream_id,
|
||||
__be16 service_id)
|
||||
{
|
||||
struct vidtv_psi_table_eit *eit;
|
||||
const u16 SYNTAX = 0x1;
|
||||
@ -1824,7 +1825,7 @@ struct vidtv_psi_table_eit
|
||||
|
||||
eit->header.bitfield = cpu_to_be16((SYNTAX << 15) | (ONE << 14) | (ONES << 12));
|
||||
|
||||
eit->header.id = cpu_to_be16(network_id);
|
||||
eit->header.id = service_id;
|
||||
eit->header.current_next = ONE;
|
||||
|
||||
eit->header.version = 0x1f;
|
||||
|
@ -738,7 +738,8 @@ struct vidtv_psi_table_eit {
|
||||
|
||||
struct vidtv_psi_table_eit
|
||||
*vidtv_psi_eit_table_init(u16 network_id,
|
||||
u16 transport_stream_id);
|
||||
u16 transport_stream_id,
|
||||
u16 service_id);
|
||||
|
||||
/**
|
||||
* struct vidtv_psi_eit_write_args - Arguments for writing an EIT section
|
||||
|
Loading…
Reference in New Issue
Block a user