esfilter: rename ONCE to ONE_TIME, improve doc

This commit is contained in:
Jaroslav Kysela 2015-01-26 15:00:04 +01:00
parent f39ddd1f05
commit 879b842ea1
4 changed files with 19 additions and 9 deletions

View file

@ -1,7 +1,7 @@
<div class="hts-doc-text">
This table defines rules to filter and order the elementary streams
like video or audio from the input feed.
(PIDs) like video or audio from the input feed.
<p>
The execution order of commands is granted. It means that first rule
@ -90,10 +90,20 @@ The columns have the following functions:
<dt>USE
<dd>Use this elementary stream.
<dt>ONCE
<dd>Use this elementary stream only once per service type.
The language is distinguished, too.
The first successfully compared rule wins.
<dt>ONE_TIME
<dd>Use this elementary stream only one time per service type (like
video, audio, subtitles) and language. The first sucessfully
compared rule wins. For example, when one AC3 elementary stream
is marked to be used with 'eng' language and another rule with
the ONE_TIME action was matched, the new AC3 elementary stream
will not be added if the language for new AC3 elementary stream
is 'eng'. Note that the second rule might not have the language
filter (column) set.
<p>
For the CA filter, this rule means that the new CA elementary stream
is added only if another CA is not already used.
</p>
<dt>EXCLUSIVE
<dd>Use only this elementary stream. No other elementary streams

View file

@ -85,7 +85,7 @@ esfilter_txt2class(const char *s)
static struct strtab esfilteractiontab[] = {
{ "NONE", ESFA_NONE },
{ "USE", ESFA_USE },
{ "ONCE", ESFA_ONCE },
{ "ONE_TIME", ESFA_ONE_TIME },
{ "EXCLUSIVE", ESFA_EXCLUSIVE },
{ "EMPTY", ESFA_EMPTY },
{ "IGNORE", ESFA_IGNORE }

View file

@ -73,7 +73,7 @@ extern struct esfilter_entry_queue esfilters[];
typedef enum {
ESFA_NONE = 0,
ESFA_USE, /* use this stream */
ESFA_ONCE, /* use this stream once per language */
ESFA_ONE_TIME, /* use this stream once per language */
ESFA_EXCLUSIVE, /* use this stream exclusively */
ESFA_EMPTY, /* use this stream when no streams were added */
ESFA_IGNORE,

View file

@ -517,7 +517,7 @@ ca_ignore:
ca->filter |= ESFM_IGNORE;
st->es_filter |= ESFM_IGNORE;
break;
case ESFA_ONCE:
case ESFA_ONE_TIME:
TAILQ_FOREACH(st2, &t->s_components, es_link)
if (st2->es_type == SCT_CA && (st2->es_filter & ESFM_USED) != 0)
break;
@ -566,7 +566,7 @@ ca_ignore:
ignore:
st->es_filter |= ESFM_IGNORE;
break;
case ESFA_ONCE:
case ESFA_ONE_TIME:
TAILQ_FOREACH(st2, &t->s_components, es_link) {
if (st == st2)
continue;