Add mpegts_mux_nice_name() function

This commit is contained in:
Jaroslav Kysela 2014-07-02 10:37:30 +02:00
parent 6e8209dfd9
commit fbfc2093b4
12 changed files with 55 additions and 30 deletions

View file

@ -127,7 +127,7 @@ epggrab_ota_done ( epggrab_ota_mux_t *om, int reason )
else if (reason == EPGGRAB_OTA_DONE_TIMEOUT) {
char name[256];
mpegts_mux_t *mm = mpegts_mux_find(om->om_mux_uuid);
mm->mm_display_name(mm, name, sizeof(name));
mpegts_mux_nice_name(mm, name, sizeof(name));
tvhlog(LOG_WARNING, "epggrab", "data completion timeout for %s", name);
}
@ -233,7 +233,7 @@ epggrab_ota_register
ota = RB_INSERT_SORTED(&epggrab_ota_all, epggrab_ota_mux_skel, om_global_link, om_id_cmp);
if (!ota) {
char buf[256];
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhinfo(mod->id, "registering mux %s", buf);
ota = epggrab_ota_mux_skel;
SKEL_USED(epggrab_ota_mux_skel);
@ -380,7 +380,7 @@ next_one:
if (epg_flag < 0 || epg_flag == MM_EPG_DISABLE) {
#if TRACE_ENABLE
char name[256];
mm->mm_display_name(mm, name, sizeof(name));
mpegts_mux_nice_name(mm, name, sizeof(name));
tvhtrace("epggrab", "epg mux %s is disabled, skipping", name);
#endif
goto done;
@ -394,7 +394,7 @@ next_one:
}
if (!map) {
char name[256];
mm->mm_display_name(mm, name, sizeof(name));
mpegts_mux_nice_name(mm, name, sizeof(name));
tvhdebug("epggrab", "no modules attached to %s, check again next time", name);
goto done;
}

View file

@ -713,6 +713,8 @@ void mpegts_mux_unsubscribe_by_name(mpegts_mux_t *mm, const char *name);
void mpegts_mux_scan_done ( mpegts_mux_t *mm, const char *buf, int res );
void mpegts_mux_nice_name( mpegts_mux_t *mm, char *buf, size_t len );
mpegts_pid_t *mpegts_mux_find_pid_(mpegts_mux_t *mm, int pid, int create);
static inline mpegts_pid_t *

View file

@ -202,7 +202,7 @@ iptv_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
}
/* Parse URL */
im->mm_display_name((mpegts_mux_t*)im, buf, sizeof(buf));
mpegts_mux_nice_name((mpegts_mux_t*)im, buf, sizeof(buf));
memset(&url, 0, sizeof(url));
if (urlparse(im->mm_iptv_url ?: "", &url)) {
tvherror("iptv", "%s - invalid URL [%s]", buf, im->mm_iptv_url);
@ -344,7 +344,7 @@ iptv_input_mux_started ( iptv_mux_t *im )
{
tvhpoll_event_t ev = { 0 };
char buf[256];
im->mm_display_name((mpegts_mux_t*)im, buf, sizeof(buf));
mpegts_mux_nice_name((mpegts_mux_t*)im, buf, sizeof(buf));
/* Allocate input buffer */
sbuf_init_fixed(&im->mm_iptv_buffer, IPTV_BUF_SIZE);

View file

@ -38,7 +38,7 @@ iptv_udp_start ( iptv_mux_t *im, const url_t *url )
udp_connection_t *conn;
udp_multirecv_t *um;
im->mm_display_name((mpegts_mux_t*)im, name, sizeof(name));
mpegts_mux_nice_name((mpegts_mux_t*)im, name, sizeof(name));
conn = udp_bind("iptv", name, url->host, url->port,
im->mm_iptv_interface, IPTV_BUF_SIZE);

View file

@ -271,7 +271,7 @@ linuxdvb_frontend_stop_mux
linuxdvb_frontend_t *lfe = (linuxdvb_frontend_t*)mi;
mi->mi_display_name(mi, buf1, sizeof(buf1));
mmi->mmi_mux->mm_display_name(mmi->mmi_mux, buf2, sizeof(buf2));
mpegts_mux_nice_name(mmi->mmi_mux, buf2, sizeof(buf2));
tvhdebug("linuxdvb", "%s - stopping %s", buf1, buf2);
/* Stop thread */
@ -1086,7 +1086,7 @@ linuxdvb_frontend_tune1
char buf1[256], buf2[256];
lfe->mi_display_name((mpegts_input_t*)lfe, buf1, sizeof(buf1));
mmi->mmi_mux->mm_display_name(mmi->mmi_mux, buf2, sizeof(buf2));
mpegts_mux_nice_name(mmi->mmi_mux, buf2, sizeof(buf2));
tvhdebug("linuxdvb", "%s - starting %s", buf1, buf2);
/* Tune */

View file

@ -257,7 +257,7 @@ mpegts_input_open_pid
mpegts_pid_sub_skel->mps_type = type;
mpegts_pid_sub_skel->mps_owner = owner;
if (!RB_INSERT_SORTED(&mp->mp_subs, mpegts_pid_sub_skel, mps_link, mps_cmp)) {
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhdebug("mpegts", "%s - open PID %04X (%d) [%d/%p]",
buf, mp->mp_pid, mp->mp_pid, type, owner);
SKEL_USED(mpegts_pid_sub_skel);
@ -290,7 +290,7 @@ mpegts_input_close_pid
if (!RB_FIRST(&mp->mp_subs)) {
RB_REMOVE(&mm->mm_pids, mp, mp_link);
if (mp->mp_fd != -1) {
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhdebug("mpegts", "%s - close PID %04X (%d) [%d/%p]",
buf, mp->mp_pid, mp->mp_pid, type, owner);
close(mp->mp_fd);
@ -831,7 +831,7 @@ mpegts_input_stream_status
st->uuid = strdup(idnode_uuid_as_str(&mmi->mmi_id));
mi->mi_display_name(mi, buf, sizeof(buf));
st->input_name = strdup(buf);
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
st->stream_name = strdup(buf);
st->subs_count = s;
st->max_weight = w;

View file

@ -97,7 +97,7 @@ mpegts_mux_instance_start
char buf[256], buf2[256];;
mpegts_mux_instance_t *mmi = *mmiptr;
mpegts_mux_t *mm = mmi->mmi_mux;
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
/* Already active */
if (mm->mm_active) {
@ -425,7 +425,7 @@ mpegts_mux_delete ( mpegts_mux_t *mm, int delconf )
mpegts_service_t *s;
char buf[256];
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhinfo("mpegts", "%s (%p) - deleting", buf, mm);
/* Stop */
@ -482,7 +482,7 @@ mpegts_mux_start1( mpegts_mux_instance_t *mmi )
char buf[256], buf2[256];
if (mpegts_mux_instance_start(&mmi)) {
mmi->mmi_mux->mm_display_name(mmi->mmi_mux, buf, sizeof(buf));
mpegts_mux_nice_name(mmi->mmi_mux, buf, sizeof(buf));
mmi->mmi_input->mi_display_name(mmi->mmi_input, buf2, sizeof(buf2));
tvhwarn("mpegts", "%s - failed to start on %s, try another", buf, buf2);
return 1;
@ -499,7 +499,7 @@ mpegts_mux_start
mpegts_mux_instance_t *mmi, **all;
int64_t aweight, *allw;
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhtrace("mpegts", "%s - starting for '%s' (weight %d)",
buf, reason, weight);
@ -655,7 +655,7 @@ mpegts_mux_stop ( mpegts_mux_t *mm, int force )
if (!mmi) return;
mm->mm_active = NULL;
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhdebug("mpegts", "%s - stopping mux", buf);
if (mmi) {
@ -794,7 +794,7 @@ mpegts_mux_scan_timeout ( void *aux )
char buf[256];
mpegts_mux_t *mm = aux;
mpegts_table_t *mt, *nxt;
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
/* Timeout */
if (mm->mm_scan_init) {
@ -894,7 +894,7 @@ mpegts_mux_create0
else if (mm->mm_network->mn_idlescan)
mpegts_network_scan_queue_add(mm, SUBSCRIPTION_PRIO_SCAN_IDLE);
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhtrace("mpegts", "%s - created", buf);
return mm;
@ -913,7 +913,7 @@ mpegts_mux_set_onid ( mpegts_mux_t *mm, uint16_t onid )
if (onid == mm->mm_onid)
return 0;
mm->mm_onid = onid;
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
mm->mm_config_save(mm);
tvhtrace("mpegts", "%s - set onid %04X (%d)", buf, onid, onid);
//idnode_notify(NULL, &mm->mm_id, 0, NULL);
@ -929,7 +929,7 @@ mpegts_mux_set_tsid ( mpegts_mux_t *mm, uint16_t tsid, int force )
if (!force && mm->mm_tsid)
return 0;
mm->mm_tsid = tsid;
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
mm->mm_config_save(mm);
tvhtrace("mpegts", "%s - set tsid %04X (%d)", buf, tsid, tsid);
//idnode_notify(NULL, &mm->mm_id, 0, NULL);
@ -943,13 +943,36 @@ mpegts_mux_set_crid_authority ( mpegts_mux_t *mm, const char *defauth )
if (defauth && !strcmp(defauth, mm->mm_crid_authority ?: ""))
return 0;
tvh_str_update(&mm->mm_crid_authority, defauth);
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
mm->mm_config_save(mm);
tvhtrace("mpegts", "%s - set crid authority %s", buf, defauth);
//idnode_notify(NULL, &mm->mm_id, 0, NULL);
return 1;
}
void
mpegts_mux_nice_name( mpegts_mux_t *mm, char *buf, size_t len )
{
size_t len2;
if (len == 0 || buf == NULL)
return;
if (mm->mm_display_name)
mm->mm_display_name(mm, buf, len);
else
*buf = '\0';
len2 = strlen(buf);
buf += len2;
len -= len2;
if (len2 + 16 >= len)
return;
strcpy(buf, " in ");
buf += 4;
len -= 4;
if (mm && mm->mm_network && mm->mm_network->mn_display_name)
mm->mm_network->mn_display_name(mm->mm_network, buf, len);
}
/* **************************************************************************
* Subscriptions
* *************************************************************************/

View file

@ -200,7 +200,7 @@ mpegts_network_scan_queue_add ( mpegts_mux_t *mm, int weight )
TAILQ_REMOVE(&mn->mn_scan_pend, mm, mm_scan_link);
}
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
mn->mn_display_name(mn, buf2, sizeof(buf2));
tvhdebug("mpegts", "%s - adding mux %s to queue weight %d",
buf2, buf, weight);

View file

@ -286,7 +286,7 @@ mpegts_service_refresh(service_t *t)
static void
mpegts_service_setsourceinfo(service_t *t, source_info_t *si)
{
char buf[128];
char buf[256];
mpegts_service_t *s = (mpegts_service_t*)t;
mpegts_mux_t *m = s->s_dvb_mux;
@ -424,7 +424,7 @@ mpegts_service_create0
service_make_nicename((service_t*)s);
pthread_mutex_unlock(&s->s_stream_mutex);
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhlog(LOG_DEBUG, "mpegts", "%s - add service %04X %s", buf, s->s_dvb_service_id, s->s_dvb_svcname);
/* Notification */

View file

@ -36,7 +36,7 @@ mpegts_table_fastswitch ( mpegts_mux_t *mm )
return;
}
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhinfo("mpegts", "%s scan complete", buf);
mpegts_mux_scan_done(mm, buf, 1);
}

View file

@ -401,7 +401,7 @@ satip_frontend_stop_mux
char buf1[256], buf2[256];
mi->mi_display_name(mi, buf1, sizeof(buf1));
mmi->mmi_mux->mm_display_name(mmi->mmi_mux, buf2, sizeof(buf2));
mpegts_mux_nice_name(mmi->mmi_mux, buf2, sizeof(buf2));
tvhdebug("satip", "%s - stopping %s", buf1, buf2);
gtimer_disarm(&lfe->sf_monitor_timer);
@ -1300,7 +1300,7 @@ satip_frontend_tune1
char buf1[256], buf2[256];
lfe->mi_display_name((mpegts_input_t*)lfe, buf1, sizeof(buf1));
mmi->mmi_mux->mm_display_name(mmi->mmi_mux, buf2, sizeof(buf2));
mpegts_mux_nice_name(mmi->mmi_mux, buf2, sizeof(buf2));
tvhdebug("satip", "%s - starting %s", buf1, buf2);
/* Tune */

View file

@ -579,7 +579,7 @@ subscription_create_from_service(service_t *t, unsigned int weight,
static void
mpegts_mux_setsourceinfo ( mpegts_mux_t *mm, source_info_t *si )
{
char buf[128];
char buf[256];
/* Validate */
lock_assert(&global_lock);
@ -738,7 +738,7 @@ subscription_create_msg(th_subscription_t *s)
else if (s->ths_mmi != NULL && s->ths_mmi->mmi_mux != NULL) {
char buf[512];
mpegts_mux_t *mm = s->ths_mmi->mmi_mux;
mm->mm_display_name(mm, buf, sizeof(buf));
mpegts_mux_nice_name(mm, buf, sizeof(buf));
htsmsg_add_str(m, "service", buf);
}