.id = "name",
.name = N_("Name"),
.desc = N_("Name. The name given to/of the channel (This is "
- "how it`ll appear in your EPG.)"),
+ "how it'll appear in your EPG.)"),
.off = offsetof(channel_t, ch_name),
.set = channel_class_set_name,
.get = channel_class_get_name,
.desc = N_("Use EPG running state. Use EITp/f to decide "
"event start/stop. This is also known as "
"\"Accurate Recording\". Note that this can have "
- "unexpected results if the broadcaster isn`t very "
+ "unexpected results if the broadcaster isn't very "
"good at time keeping."),
.off = offsetof(channel_t, ch_epg_running),
.list = channel_class_epg_running_list,
htsmsg_field_t *f;
channel_t *ch, *parent;
char *s;
-
+
RB_INIT(&channels);
/* Tags */
channel_done ( void )
{
channel_t *ch;
-
+
pthread_mutex_lock(&global_lock);
while ((ch = RB_FIRST(&channels)) != NULL)
channel_delete(ch, 0);
channel_tag_done ( void )
{
channel_tag_t *ct;
-
+
pthread_mutex_lock(&global_lock);
while ((ct = TAILQ_FIRST(&channel_tags)) != NULL)
channel_tag_destroy(ct, 0);
.id = "priority",
.name = N_("Priority"),
.desc = N_("Grabber priority. This option lets you pick which "
- "EPG grabber`s data gets used first if more than one "
+ "EPG grabber's data gets used first if more than one "
"grabber is enabled. Priority is given to the grabber "
"with the highest value set here."),
.off = offsetof(epggrab_module_t, priority),
{
/* Allocate data */
if (!skel) skel = calloc(1, sizeof(epggrab_module_int_t));
-
+
/* Pass through */
epggrab_module_create((epggrab_module_t*)skel,
cls ?: &epggrab_class_mod_int,
}
char *epggrab_module_grab_spawn ( void *m )
-{
+{
int rd = -1, outlen;
char *outbuf;
epggrab_module_int_t *mod = m;
int s;
epggrab_module_ext_t *mod = (epggrab_module_ext_t*)p;
tvhlog(LOG_INFO, mod->id, "external socket enabled");
-
+
while ( mod->enabled && mod->sock ) {
tvhlog(LOG_DEBUG, mod->id, "waiting for connection");
s = accept(mod->sock, NULL, NULL);
/* Allocate data */
if (!skel) skel = calloc(1, sizeof(epggrab_module_ext_t));
-
+
/* Pass through */
hts_settings_buildpath(path, sizeof(path), "epggrab/%s.sock", sockid);
epggrab_module_int_create((epggrab_module_int_t*)skel,
epggrab_ota_module_ops_t *ops )
{
if (!skel) skel = calloc(1, sizeof(epggrab_module_ota_t));
-
+
/* Pass through */
epggrab_module_create((epggrab_module_t*)skel,
&epggrab_class_mod_ota,
.type = PT_STR,
.id = "pnetworkname",
.name = N_("Provider network name"),
- .desc = N_("Provider`s network name."),
+ .desc = N_("Provider's network name."),
.off = offsetof(mpegts_network_t, mn_provider_network_name),
.opts = PO_ADVANCED | PO_HIDDEN,
},
.type = PT_U16,
.id = "nid",
.name = N_("Network ID (limit scanning)"),
- .desc = N_("Limited/limit scanning to this network ID only."),
+ .desc = N_("Limited/limit scanning to this network ID only."),
.opts = PO_ADVANCED,
.off = offsetof(mpegts_network_t, mn_nid),
},
.type = PT_BOOL,
.id = "ignore_chnum",
.name = N_("Ignore provider's channel numbers"),
- .desc = N_("Don`t use the provider`s channel numbers."),
+ .desc = N_("Don't use the provider's channel numbers."),
.off = offsetof(mpegts_network_t, mn_ignore_chnum),
.opts = PO_ADVANCED,
.def.i = 0,
.id = "priority",
.name = N_("Priority (-10..10)"),
.desc = N_("Service priority. Enter a value between -10 and "
- "10. A higher value indicates a higher preference. "
+ "10. A higher value indicates a higher preference. "
"See Help for more info."),
.off = offsetof(service_t, s_prio),
.opts = PO_ADVANCED
.type = PT_BOOL,
.id = "encrypted",
.name = N_("Encrypted"),
- .desc = N_("The service`s encryption status."),
+ .desc = N_("The service's encryption status."),
.get = service_class_encrypted_get,
.opts = PO_NOSAVE | PO_RDONLY
},
streaming_queue_clear(&st->es_backlog);
st->es_startcode = 0;
-
+
sbuf_free(&st->es_buf);
sbuf_free(&st->es_buf_a);
descrambler_service_stop(t);
t->s_tt_commercial_advice = COMMERCIAL_UNKNOWN;
-
+
assert(LIST_FIRST(&t->s_streaming_pad.sp_targets) == NULL);
assert(LIST_FIRST(&t->s_subscriptions) == NULL);
if(si->si_mark)
service_instance_destroy(sil, si);
}
-
+
if (TAILQ_EMPTY(sil)) {
if (*error < SM_CODE_NO_ADAPTERS)
*error = SM_CODE_NO_ADAPTERS;
}
lock_assert(&global_lock);
-
+
if (service_type == STYPE_RAW)
TAILQ_INSERT_TAIL(&service_raw_all, t, s_all_link);
else
t->s_last_pid = -1;
streaming_pad_init(&t->s_streaming_pad);
-
+
/* Load config */
if (conf)
service_load(t, conf);
/**
*
*/
-static void
+static void
service_stream_make_nicename(service_t *t, elementary_stream_t *st)
{
char buf[200];
if(st->es_pid != -1)
- snprintf(buf, sizeof(buf), "%s: %s @ #%d",
+ snprintf(buf, sizeof(buf), "%s: %s @ #%d",
service_nicename(t),
streaming_component_type2txt(st->es_type), st->es_pid);
else
- snprintf(buf, sizeof(buf), "%s: %s",
+ snprintf(buf, sizeof(buf), "%s: %s",
service_nicename(t),
streaming_component_type2txt(st->es_type));
/**
*
*/
-void
+void
service_make_nicename(service_t *t)
{
char buf[256], buf2[16];
service_name = buf2;
}
- snprintf(buf, sizeof(buf),
+ snprintf(buf, sizeof(buf),
"%s%s%s%s%s%s%s",
si.si_adapter ?: "", si.si_adapter && si.si_network ? "/" : "",
si.si_network ?: "", si.si_network && si.si_mux ? "/" : "",
service_stream_find_(service_t *t, int pid)
{
elementary_stream_t *st;
-
+
lock_assert(&t->s_stream_mutex);
TAILQ_FOREACH(st, &t->s_components, es_link) {
/**
* Restart output on a service.
- * Happens if the stream composition changes.
+ * Happens if the stream composition changes.
* (i.e. an AC3 stream disappears, etc)
*/
void
streaming_pad_deliver(&t->s_streaming_pad,
streaming_msg_create_code(SMT_STOP,
SM_CODE_SOURCE_RECONFIGURED));
-
+
streaming_pad_deliver(&t->s_streaming_pad,
streaming_msg_create_data(SMT_START,
service_build_stream_start(t)));
streaming_start_t *ss;
lock_assert(&t->s_stream_mutex);
-
+
TAILQ_FOREACH(st, &t->s_filt_components, es_filt_link)
n++;
- ss = calloc(1, sizeof(streaming_start_t) +
+ ss = calloc(1, sizeof(streaming_start_t) +
sizeof(streaming_start_component_t) * n);
ss->ss_num_components = n;
-
+
n = 0;
TAILQ_FOREACH(st, &t->s_filt_components, es_filt_link) {
streaming_start_component_t *ssc = &ss->ss_components[n++];
if(st->es_frame_duration)
htsmsg_add_u32(sub, "duration", st->es_frame_duration);
}
-
+
htsmsg_add_msg(list, NULL, sub);
}
pthread_mutex_unlock(&t->s_stream_mutex);
/**
*
*/
-static void
+static void
load_caid(htsmsg_t *m, elementary_stream_t *st)
{
htsmsg_field_t *f;
HTSMSG_FOREACH(f, v) {
if((c = htsmsg_get_map_by_field(f)) == NULL)
continue;
-
+
if(htsmsg_get_u32(c, "caid", &a))
continue;
continue;
st = service_stream_create(t, pid, type);
-
+
if((v = htsmsg_get_str(c, "language")) != NULL)
strncpy(st->es_lang, lang_code_get(v), 3);
if(!htsmsg_get_u32(c, "position", &u32))
st->es_position = u32;
-
+
load_legacy_caid(c, st);
load_caid(c, st);