Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
esfilter: rename ONCE to ONE_TIME, improve doc
  • Loading branch information
perexg committed Jan 26, 2015
1 parent f39ddd1 commit 879b842
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 9 deletions.
20 changes: 15 additions & 5 deletions docs/html/config_esfilter.html
@@ -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
Expand Down Expand Up @@ -90,10 +90,20 @@
<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
Expand Down
2 changes: 1 addition & 1 deletion src/esfilter.c
Expand Up @@ -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 }
Expand Down
2 changes: 1 addition & 1 deletion src/esfilter.h
Expand Up @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions src/service.c
Expand Up @@ -517,7 +517,7 @@ service_build_filter(service_t *t)
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;
Expand Down Expand Up @@ -566,7 +566,7 @@ service_build_filter(service_t *t)
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;
Expand Down

0 comments on commit 879b842

Please sign in to comment.