diff --git a/docs/html/config_esfilter.html b/docs/html/config_esfilter.html
index 4cdf15a2..9f4dff83 100644
--- a/docs/html/config_esfilter.html
+++ b/docs/html/config_esfilter.html
@@ -1,7 +1,7 @@
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.
The execution order of commands is granted. It means that first rule
@@ -90,10 +90,20 @@ The columns have the following functions:
USE
Use this elementary stream.
- ONCE
- Use this elementary stream only once per service type.
- The language is distinguished, too.
- The first successfully compared rule wins.
+ ONE_TIME
+ 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.
+
+ For the CA filter, this rule means that the new CA elementary stream
+ is added only if another CA is not already used.
+
+
EXCLUSIVE
Use only this elementary stream. No other elementary streams
diff --git a/src/esfilter.c b/src/esfilter.c
index 6dabd87f..549d0606 100644
--- a/src/esfilter.c
+++ b/src/esfilter.c
@@ -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 }
diff --git a/src/esfilter.h b/src/esfilter.h
index 38113406..8bb9f6aa 100644
--- a/src/esfilter.h
+++ b/src/esfilter.h
@@ -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,
diff --git a/src/service.c b/src/service.c
index 25822580..0188a7a2 100644
--- a/src/service.c
+++ b/src/service.c
@@ -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;