mpegts mux: remove the unused mm_start code

This commit is contained in:
Jaroslav Kysela 2015-03-10 14:42:36 +01:00
parent 6753203c65
commit 20d521975e
2 changed files with 0 additions and 167 deletions

View file

@ -467,7 +467,6 @@ struct mpegts_mux
void (*mm_config_save) (mpegts_mux_t *mm);
void (*mm_display_name) (mpegts_mux_t*, char *buf, size_t len);
int (*mm_is_enabled) (mpegts_mux_t *mm);
int (*mm_start) (mpegts_mux_t *mm, mpegts_input_t *mi, const char *r, int w, int flags);
void (*mm_stop) (mpegts_mux_t *mm, int force, int reason);
void (*mm_open_table) (mpegts_mux_t*,mpegts_table_t*,int subscribe);
void (*mm_close_table) (mpegts_mux_t*,mpegts_table_t*);

View file

@ -638,171 +638,6 @@ mpegts_mux_create_instances ( mpegts_mux_t *mm )
{
}
static int
mpegts_mux_start1( mpegts_mux_instance_t *mmi )
{
char buf[256], buf2[256];
if (mpegts_mux_instance_start(&mmi)) {
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;
}
return 0;
}
static int
mpegts_mux_start
( mpegts_mux_t *mm, mpegts_input_t *_mi, const char *reason, int weight, int flags )
{
int havefree = 0, enabled = 0, index, index2, weight2, count, size = 0;
char buf[256];
mpegts_input_t *mi;
mpegts_mux_t *mm2;
mpegts_mux_instance_t *mmi, **all;
int64_t aweight, *allw;
int e, j;
mpegts_mux_nice_name(mm, buf, sizeof(buf));
tvhtrace("mpegts", "%s - starting for '%s' (weight %d, flags %04X)",
buf, reason, weight, flags);
/* Disabled */
if (!mm->mm_is_enabled(mm)) {
tvhwarn("mpegts", "%s - not enabled", buf);
return SM_CODE_MUX_NOT_ENABLED;
}
/* Already tuned */
if (mm->mm_active) {
tvhtrace("mpegts", "%s - already active", buf);
mpegts_mux_scan_active(mm, buf, mm->mm_active->mmi_input);
return 0;
}
/* Create mux instances (where needed) */
mm->mm_create_instances(mm);
if (!LIST_FIRST(&mm->mm_instances)) {
tvhtrace("mpegts", "%s - has no instances, tuners enabled?", buf);
return SM_CODE_NO_VALID_ADAPTER;
}
/* Get the count of instances */
LIST_FOREACH(mmi, &mm->mm_instances, mmi_mux_link)
size++;
all = alloca(sizeof(mpegts_mux_instance_t *) * size);
allw = alloca(sizeof(int64_t) * size);
/* Calculate priority+weight and sort */
count = 0;
LIST_FOREACH(mmi, &mm->mm_instances, mmi_mux_link) {
mi = mmi->mmi_input;
mm2 = mmi->mmi_mux;
if (_mi && mi != _mi) continue;
e = mi->mi_is_enabled(mi, mm, flags);
tvhtrace("mpegts", "%s - mmi %p enabled %d", buf, mmi, e);
if (!e) continue;
enabled = 1;
/* Already live? Try it... */
if (e && mm2->mm_active == mmi) {
if (!mpegts_mux_start1(mmi))
return 0;
continue;
}
if (mmi->mmi_tune_failed) continue;
tvhtrace("mpegts", "%s - found mmi %p", buf, mmi);
aweight = ((int64_t )mi->mi_get_priority(mi, mm2, flags) << 32) |
mi->mi_get_weight(mi, flags);
for (index = 0; index < count; index++)
if (allw[index] >= aweight)
break;
for (j = count; j > index; j--) {
allw[j] = allw[j - 1];
all [j] = all [j - 1];
}
all [index] = mmi;
allw[index] = aweight;
count++;
}
#if ENABLE_TRACE
for (index = 0; index < count; index++) {
if (all[index]) {
mi = all[index]->mmi_input;
char buf2[256];
mi->mi_display_name(mi, buf2, sizeof(buf2));
tvhtrace("mpegts", "%s - %i [%s]: prio %li weight %li", buf, index, buf2,
(long)(allw[index] >> 32), (long)(allw[index] & 0xffffffff));
}
}
#endif
/* Try free inputs */
for (index = count - 1; index >= 0; index--) {
mmi = all[index];
mi = mmi->mmi_input;
if (mi->mi_is_free(mi)) {
all[index] = NULL;
havefree = 1;
tvhtrace("mpegts", "%s - found mmi %p to boot (free)", buf, mmi);
if (!mpegts_mux_start1(mmi))
return 0;
}
}
/* Try the lowest weight */
for (index = 0, index2 = -1, weight2 = weight; index < count; index++) {
if (all[index] && weight2 > (allw[index] & 0xffffffff)) {
weight2 = allw[index] & 0xffffffff;
index2 = index;
}
}
if (index2 >= 0) {
mmi = all[index2];
all[index2] = NULL;
tvhtrace("mpegts", "%s - found mmi %p to boot (lowest)", buf, mmi);
if (!mpegts_mux_start1(mmi))
return 0;
}
/* Try the all lowest weights */
for (index = 0; index < count; index++) {
if (all[index] && weight > (allw[index] & 0xffffffff)) {
mmi = all[index];
all[index] = NULL;
tvhtrace("mpegts", "%s - found mmi %p to boot", buf, mmi);
if (!mpegts_mux_start1(mmi))
return 0;
}
}
LIST_FOREACH(mmi, &mm->mm_instances, mmi_mux_link) {
if (!mmi->mmi_tune_failed) {
if (!enabled) {
tvhdebug("mpegts", "%s - no tuners enabled", buf);
return SM_CODE_NO_VALID_ADAPTER;
} else if (havefree) {
tvhdebug("mpegts", "%s - no valid tuner available", buf);
return SM_CODE_NO_VALID_ADAPTER;
} else {
tvhdebug("mpegts", "%s - no free tuner available", buf);
return SM_CODE_NO_FREE_ADAPTER;
}
}
}
tvhdebug("mpegts", "%s - tuning failed, invalid config?", buf);
return SM_CODE_TUNING_FAILED;
}
static int
mpegts_mux_has_subscribers ( mpegts_mux_t *mm, const char *name )
{
@ -1158,7 +993,6 @@ mpegts_mux_create0
mm->mm_is_epg = mpegts_mux_is_epg;
/* Start/stop */
mm->mm_start = mpegts_mux_start;
mm->mm_stop = mpegts_mux_stop;
mm->mm_create_instances = mpegts_mux_create_instances;