");
tcp_qprintf(tq, "
",
csize[0], t->tht_identifier, t->tht_identifier);
tcp_qprintf(tq, "
%d
",
csize[1], t->tht_dvb_service_id);
tcp_qprintf(tq, "
%s
",
csize[2], t->tht_scrambled ? "CSA" : "Free");
tcp_qprintf(tq, "
%s
",
csize[3], transport_servicetype_txt(t));
tcp_qprintf(tq, "
%s
",
csize[4], t->tht_servicename ?: "");
tcp_qprintf(tq,
"
",
csize[5],
t->tht_identifier, t->tht_identifier,
t->tht_channel ? "" : "un");
tcp_qprintf(tq, "
",
t->tht_identifier, csize[6]);
if(t->tht_channel == NULL) {
/* Unmapped */
v = t->tht_channelname;
snprintf(buf, sizeof(buf),
"tentative_chname('chname%s', "
"'/ajax/transport_rename_channel/%s', '%s')",
t->tht_identifier, t->tht_identifier, v);
ajax_a_jsfunc(tq, v, buf, "");
} else {
/* Mapped */
tcp_qprintf(tq, "%s", t->tht_channel->ch_name);
}
tcp_qprintf(tq, "
");
tcp_qprintf(tq, "
"
""
"
", csize[7], t->tht_identifier);
tcp_qprintf(tq, "
",
t->tht_identifier);
tcp_qprintf(tq, "
");
tcp_qprintf(tq, "
");
tcp_qprintf(tq, "
"
"
", csize[0]);
tcp_qprintf(tq, "", csize[1]);
tcp_qprintf(tq, "", csize[2] + csize[3]);
tcp_qprintf(tq, "",
csize[4] + csize[5] + csize[6] + csize[7]);
tcp_qprintf(tq, "
");
LIST_FOREACH(st, &t->tht_streams, st_link) {
tcp_qprintf(tq, "
");
tcp_qprintf(tq, "
",
csize[0]);
tcp_qprintf(tq, "
%d
",
csize[1], st->st_pid);
tcp_qprintf(tq, "
%s
",
csize[2] + csize[3],
htstvstreamtype2txt(st->st_type));
switch(st->st_type) {
case HTSTV_MPEG2AUDIO:
case HTSTV_AC3:
extra = st->st_lang;
break;
case HTSTV_CA:
extra = psi_caid2name(st->st_caid);
break;
default:
extra = NULL;
break;
}
if(extra != NULL)
tcp_qprintf(tq, "
%s
",
csize[4] + csize[5] + csize[6] + csize[7],
extra);
tcp_qprintf(tq, "
");
}
tcp_qprintf(tq, "