]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
esfilter: rename ONCE to ONE_TIME, improve doc
authorJaroslav Kysela <perex@perex.cz>
Mon, 26 Jan 2015 14:00:04 +0000 (15:00 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 26 Jan 2015 14:00:04 +0000 (15:00 +0100)
docs/html/config_esfilter.html
src/esfilter.c
src/esfilter.h
src/service.c

index 4cdf15a231c80fb2690661038a94f68789c781ce..9f4dff83be28849d0a7b181b1c6eca634cef0537 100644 (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
index 6dabd87ff7b4214977d99317894b602f3a7d428c..549d06060fccfe6a7612cf5294deda7cd271912b 100644 (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 }
index 38113406eeacde6b20efd77ca042ff7c0eb64e77..8bb9f6aa60d5e3175d415a1464dee6cc9c5e38b2 100644 (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,
index 25822580fcc242bd20ae6d8dc9a9359a2de45108..0188a7a27084b78bf09aed231870b74cdce1ba11 100644 (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;