[PR-153] check the network id when matching encoding list entries

This commit is contained in:
Mariusz Bialonczyk 2012-10-10 14:13:07 +02:00 committed by Adam Sutton
parent 495247bd67
commit 7faccbaf66
3 changed files with 5 additions and 4 deletions

View file

@ -79,11 +79,11 @@ void dvb_charset_init ( void )
* Find default charset
*/
const char *dvb_charset_find
( uint16_t tsid, uint16_t sid )
( uint16_t onid, uint16_t tsid, uint16_t sid )
{
dvb_charset_t *ret = NULL, *enc;
LIST_FOREACH(enc, &dvb_charset_list, link) {
if (tsid == enc->tsid) {
if (onid == enc->onid && tsid == enc->tsid) {
if (sid == enc->sid) {
ret = enc;
break;

View file

@ -32,6 +32,6 @@ LIST_HEAD(,dvb_charset) dvb_charset_list;
void dvb_charset_init ( void );
const char *dvb_charset_find
(uint16_t tsid, uint16_t sid);
(uint16_t onid, uint16_t tsid, uint16_t sid);
#endif /* __TVH_DVB_CHARSET_H__ */

View file

@ -544,7 +544,8 @@ static int _eit_process_event
/* Override */
if (!ev.default_charset) {
ev.default_charset
= dvb_charset_find(svc->s_dvb_mux_instance->tdmi_transport_stream_id,
= dvb_charset_find(svc->s_dvb_mux_instance->tdmi_network_id,
svc->s_dvb_mux_instance->tdmi_transport_stream_id,
svc->s_dvb_service_id);
}