Send some details about services attached to a channel over HTSP
This commit is contained in:
parent
3dff8cd0bb
commit
ea294604e7
4 changed files with 22 additions and 4 deletions
|
@ -673,6 +673,7 @@ dvb_sdt_callback(th_dvb_mux_instance_t *tdmi, uint8_t *ptr, int len,
|
|||
pthread_mutex_unlock(&t->tht_stream_mutex);
|
||||
|
||||
t->tht_config_save(t);
|
||||
transport_refresh_channel(t);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -299,7 +299,7 @@ htsp_build_channel(channel_t *ch, const char *method)
|
|||
|
||||
htsmsg_t *out = htsmsg_create_map();
|
||||
htsmsg_t *tags = htsmsg_create_list();
|
||||
htsmsg_t *servicetypes = htsmsg_create_list();
|
||||
htsmsg_t *services = htsmsg_create_list();
|
||||
|
||||
htsmsg_add_u32(out, "channelId", ch->ch_id);
|
||||
htsmsg_add_u32(out, "channelNumber", ch->ch_number);
|
||||
|
@ -318,10 +318,13 @@ htsp_build_channel(channel_t *ch, const char *method)
|
|||
}
|
||||
|
||||
LIST_FOREACH(t, &ch->ch_transports, tht_ch_link) {
|
||||
htsmsg_add_u32(servicetypes, NULL, t->tht_servicetype);
|
||||
htsmsg_t *svcmsg = htsmsg_create_map();
|
||||
htsmsg_add_str(svcmsg, "name", transport_nicename(t));
|
||||
htsmsg_add_str(svcmsg, "type", transport_servicetype_txt(t));
|
||||
htsmsg_add_msg(services, NULL, svcmsg);
|
||||
}
|
||||
|
||||
htsmsg_add_msg(out, "servicetypes", servicetypes);
|
||||
htsmsg_add_msg(out, "services", services);
|
||||
htsmsg_add_msg(out, "tags", tags);
|
||||
htsmsg_add_str(out, "method", method);
|
||||
return out;
|
||||
|
|
|
@ -720,8 +720,9 @@ transport_map_channel(th_transport_t *t, channel_t *ch, int save)
|
|||
lock_assert(&global_lock);
|
||||
|
||||
if(t->tht_ch != NULL) {
|
||||
t->tht_ch = NULL;
|
||||
LIST_REMOVE(t, tht_ch_link);
|
||||
htsp_channel_update(t->tht_ch);
|
||||
t->tht_ch = NULL;
|
||||
}
|
||||
|
||||
|
||||
|
@ -732,6 +733,7 @@ transport_map_channel(th_transport_t *t, channel_t *ch, int save)
|
|||
|
||||
t->tht_ch = ch;
|
||||
LIST_INSERT_HEAD(&ch->ch_transports, t, tht_ch_link);
|
||||
htsp_channel_update(t->tht_ch);
|
||||
}
|
||||
|
||||
if(save)
|
||||
|
@ -1045,3 +1047,13 @@ transport_tss2text(int flags)
|
|||
|
||||
return "No status";
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
void
|
||||
transport_refresh_channel(th_transport_t *t)
|
||||
{
|
||||
if(t->tht_channel != NULL)
|
||||
htsp_channel_update(t->tht_channel);
|
||||
}
|
||||
|
|
|
@ -112,4 +112,6 @@ static inline int transport_tss_is_error(int flags)
|
|||
return flags & TSS_ERRORS ? 1 : 0;
|
||||
}
|
||||
|
||||
void transport_refresh_channel(th_transport_t *t);
|
||||
|
||||
#endif /* TRANSPORTS_H */
|
||||
|
|
Loading…
Add table
Reference in a new issue