Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
mpegts service: Add 'Service IDs as Channel Numbers' network option
  • Loading branch information
perexg committed Jan 18, 2015
1 parent 7006b9f commit ac92591
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
1 change: 1 addition & 0 deletions src/input/mpegts.h
Expand Up @@ -298,6 +298,7 @@ struct mpegts_network
char *mn_charset;
int mn_idlescan;
int mn_ignore_chnum;
int mn_sid_chnum;
int mn_localtime;
};

Expand Down
7 changes: 7 additions & 0 deletions src/input/mpegts/mpegts_network.c
Expand Up @@ -174,6 +174,13 @@ const idclass_t mpegts_network_class =
.notify = mpegts_network_class_idlescan_notify,
.opts = PO_ADVANCED | PO_HIDDEN,
},
{
.type = PT_BOOL,
.id = "sid_chnum",
.name = "Service IDs as Channel Numbers",
.off = offsetof(mpegts_network_t, mn_ignore_chnum),
.def.i = 0,
},
{
.type = PT_BOOL,
.id = "ignore_chnum",
Expand Down
15 changes: 8 additions & 7 deletions src/input/mpegts/mpegts_service.c
Expand Up @@ -409,14 +409,15 @@ static int64_t
mpegts_service_channel_number ( service_t *s )
{
mpegts_service_t *ms = (mpegts_service_t*)s;
int r;

if (ms->s_dvb_mux->mm_network->mn_ignore_chnum)
return 0;
int r = 0;

r = ms->s_dvb_channel_num * CHANNEL_SPLIT + ms->s_dvb_channel_minor;
if (r <= 0)
r = ms->s_dvb_opentv_chnum * CHANNEL_SPLIT;
if (!ms->s_dvb_mux->mm_network->mn_ignore_chnum) {
r = ms->s_dvb_channel_num * CHANNEL_SPLIT + ms->s_dvb_channel_minor;
if (r <= 0)
r = ms->s_dvb_opentv_chnum * CHANNEL_SPLIT;
}
if (r <= 0 || ms->s_dvb_mux->mm_network->mn_sid_chnum)
r = ms->s_dvb_service_id * CHANNEL_SPLIT;
return r;
}

Expand Down

0 comments on commit ac92591

Please sign in to comment.