Add more detailed info about source service when a subscription starts.
Partially addresses ticket #81
This commit is contained in:
parent
7161cff0b3
commit
3a6a69b1f5
6 changed files with 48 additions and 56 deletions
|
@ -289,33 +289,35 @@ dvb_transport_quality(th_transport_t *t)
|
|||
/**
|
||||
* Generate a descriptive name for the source
|
||||
*/
|
||||
static const char *
|
||||
dvb_transport_sourcename(th_transport_t *t)
|
||||
static htsmsg_t *
|
||||
dvb_transport_sourceinfo(th_transport_t *t)
|
||||
{
|
||||
htsmsg_t *m = htsmsg_create_map();
|
||||
th_dvb_mux_instance_t *tdmi = t->tht_dvb_mux_instance;
|
||||
char buf[100];
|
||||
|
||||
lock_assert(&global_lock);
|
||||
|
||||
return tdmi->tdmi_adapter->tda_displayname;
|
||||
htsmsg_add_str(m, "device", tdmi->tdmi_adapter->tda_rootpath);
|
||||
|
||||
htsmsg_add_str(m, "adapter", tdmi->tdmi_adapter->tda_displayname);
|
||||
|
||||
if(tdmi->tdmi_network != NULL)
|
||||
htsmsg_add_str(m, "network", tdmi->tdmi_network);
|
||||
|
||||
dvb_mux_nicename(buf, sizeof(buf), tdmi);
|
||||
htsmsg_add_str(m, "mux", buf);
|
||||
|
||||
if(t->tht_provider != NULL)
|
||||
htsmsg_add_str(m, "provider", t->tht_provider);
|
||||
|
||||
if(t->tht_svcname != NULL)
|
||||
htsmsg_add_str(m, "service", t->tht_svcname);
|
||||
|
||||
return m;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generate a descriptive name for the source
|
||||
*/
|
||||
static const char *
|
||||
dvb_transport_networkname(th_transport_t *t)
|
||||
{
|
||||
th_dvb_mux_instance_t *tdmi = t->tht_dvb_mux_instance;
|
||||
|
||||
lock_assert(&global_lock);
|
||||
|
||||
return tdmi->tdmi_network;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Find a transport based on 'serviceid' on the given mux
|
||||
*
|
||||
|
@ -357,8 +359,7 @@ dvb_transport_find(th_dvb_mux_instance_t *tdmi, uint16_t sid, int pmt_pid,
|
|||
t->tht_refresh_feed = dvb_transport_refresh;
|
||||
t->tht_stop_feed = dvb_transport_stop;
|
||||
t->tht_config_change = dvb_transport_save;
|
||||
t->tht_sourcename = dvb_transport_sourcename;
|
||||
t->tht_networkname = dvb_transport_networkname;
|
||||
t->tht_sourceinfo = dvb_transport_sourceinfo;
|
||||
t->tht_dvb_mux_instance = tdmi;
|
||||
t->tht_quality_index = dvb_transport_quality;
|
||||
|
||||
|
|
|
@ -256,7 +256,7 @@ dvr_rec_start(dvr_entry_t *de, htsmsg_t *m)
|
|||
char urlname[512];
|
||||
int err, r;
|
||||
htsmsg_field_t *f;
|
||||
htsmsg_t *sub, *streams;
|
||||
htsmsg_t *sub, *streams, *srcinfo;
|
||||
const char *type, *lang;
|
||||
uint32_t idx;
|
||||
|
||||
|
@ -378,11 +378,13 @@ dvr_rec_start(dvr_entry_t *de, htsmsg_t *m)
|
|||
de->de_fctx = fctx;
|
||||
de->de_ts_offset = AV_NOPTS_VALUE;
|
||||
|
||||
tvhlog(LOG_INFO, "dvr",
|
||||
"%s - Recording from %s (%s)",
|
||||
de->de_ititle,
|
||||
htsmsg_get_str(m, "source"), htsmsg_get_str(m, "network"));
|
||||
|
||||
if((srcinfo = htsmsg_get_map(m, "sourceinfo")) != NULL) {
|
||||
HTSMSG_FOREACH(f, srcinfo) {
|
||||
if(f->hmf_type == HMF_STR)
|
||||
tvhlog(LOG_INFO, "dvr", "%s - Source %s: %s",
|
||||
de->de_ititle, f->hmf_name, f->hmf_str);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -84,20 +84,10 @@ rawts_transport_quality(th_transport_t *t)
|
|||
/**
|
||||
* Generate a descriptive name for the source
|
||||
*/
|
||||
static const char *
|
||||
rawts_transport_sourcename(th_transport_t *t)
|
||||
static htsmsg_t *
|
||||
rawts_transport_sourceinfo(th_transport_t *t)
|
||||
{
|
||||
return "rawts";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generate a descriptive name for the source
|
||||
*/
|
||||
static const char *
|
||||
rawts_transport_networkname(th_transport_t *t)
|
||||
{
|
||||
return "rawts";
|
||||
return htsmsg_create_map();
|
||||
}
|
||||
|
||||
|
||||
|
@ -129,8 +119,7 @@ rawts_transport_add(rawts_t *rt, uint16_t sid, int pmt_pid)
|
|||
t->tht_start_feed = rawts_transport_start;
|
||||
t->tht_stop_feed = rawts_transport_stop;
|
||||
t->tht_config_change = rawts_transport_save;
|
||||
t->tht_sourcename = rawts_transport_sourcename;
|
||||
t->tht_networkname = rawts_transport_networkname;
|
||||
t->tht_sourceinfo = rawts_transport_sourceinfo;
|
||||
t->tht_quality_index = rawts_transport_quality;
|
||||
|
||||
t->tht_svcname = strdup(tmp);
|
||||
|
|
|
@ -226,15 +226,21 @@ subscription_create_from_channel(channel_t *ch, unsigned int weight,
|
|||
"to channel \"%s\"",
|
||||
s->ths_title, ch->ch_name);
|
||||
} else {
|
||||
const char *n;
|
||||
n = s->ths_transport->tht_networkname(s->ths_transport);
|
||||
htsmsg_t *m = s->ths_transport->tht_sourceinfo(s->ths_transport);
|
||||
|
||||
tvhlog(LOG_INFO, "subscription",
|
||||
"\"%s\" subscribing on \"%s\", weight: %d, network: \"%s\", "
|
||||
"source: \"%s\", quality: %d",
|
||||
"\"%s\" subscribing on \"%s\", weight: %d, adapter: \"%s\", "
|
||||
"network: \"%s\", mux: \"%s\", provider: \"%s\", "
|
||||
"service: \"%s\", quality: %d",
|
||||
s->ths_title, ch->ch_name, weight,
|
||||
n ?: "<N/A>",
|
||||
s->ths_transport->tht_sourcename(s->ths_transport),
|
||||
htsmsg_get_str(m, "adapter") ?: "<N/A>",
|
||||
htsmsg_get_str(m, "network") ?: "<N/A>",
|
||||
htsmsg_get_str(m, "mux") ?: "<N/A>",
|
||||
htsmsg_get_str(m, "provider") ?: "<N/A>",
|
||||
htsmsg_get_str(m, "service") ?: "<N/A>",
|
||||
s->ths_transport->tht_quality_index(s->ths_transport));
|
||||
|
||||
htsmsg_destroy(m);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
|
|
@ -702,7 +702,6 @@ transport_build_stream_start_msg(th_transport_t *t)
|
|||
{
|
||||
htsmsg_t *m, *streams, *c;
|
||||
th_stream_t *st;
|
||||
const char *n;
|
||||
|
||||
lock_assert(&t->tht_stream_mutex);
|
||||
|
||||
|
@ -721,10 +720,7 @@ transport_build_stream_start_msg(th_transport_t *t)
|
|||
}
|
||||
|
||||
htsmsg_add_msg(m, "streams", streams);
|
||||
if((n = t->tht_networkname(t)) != NULL)
|
||||
htsmsg_add_str(m, "network", n);
|
||||
|
||||
htsmsg_add_str(m, "source", t->tht_sourcename(t));
|
||||
htsmsg_add_msg(m, "sourceinfo", t->tht_sourceinfo(t));
|
||||
return m;
|
||||
}
|
||||
|
||||
|
|
|
@ -450,9 +450,7 @@ typedef struct th_transport {
|
|||
|
||||
void (*tht_config_change)(struct th_transport *t);
|
||||
|
||||
const char *(*tht_networkname)(struct th_transport *t);
|
||||
|
||||
const char *(*tht_sourcename)(struct th_transport *t);
|
||||
struct htsmsg *(*tht_sourceinfo)(struct th_transport *t);
|
||||
|
||||
int (*tht_quality_index)(struct th_transport *t);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue