"Fossies" - the Fresh Open Source Software Archive

Member "libextractor-1.11/src/main/extractor_metatypes.c" (30 Jan 2021, 25859 Bytes) of package /linux/privat/libextractor-1.11.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "extractor_metatypes.c" see the Fossies "Dox" file reference documentation.

    1 /*
    2      This file is part of libextractor.
    3      Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009, 2012 Vidyut Samanta and Christian Grothoff
    4 
    5      libextractor is free software; you can redistribute it and/or modify
    6      it under the terms of the GNU General Public License as published
    7      by the Free Software Foundation; either version 2, or (at your
    8      option) any later version.
    9 
   10      libextractor is distributed in the hope that it will be useful, but
   11      WITHOUT ANY WARRANTY; without even the implied warranty of
   12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   13      General Public License for more details.
   14 
   15      You should have received a copy of the GNU General Public License
   16      along with libextractor; see the file COPYING.  If not, write to the
   17      Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
   18      Boston, MA 02110-1301, USA.
   19  */
   20 
   21 #include "platform.h"
   22 #include "extractor.h"
   23 
   24 /**
   25  * Description for meta data categories in LE.
   26  */
   27 struct MetaTypeDescription
   28 {
   29   /**
   30    * Short (typically 1-word) description.
   31    */
   32   const char *short_description;
   33 
   34   /**
   35    * More detailed description.
   36    */
   37   const char *long_description;
   38 };
   39 
   40 
   41 /**
   42  * The sources of keywords as strings.
   43  */
   44 static const struct MetaTypeDescription meta_type_descriptions[] = {
   45   /* 0 */
   46   { gettext_noop ("reserved"),
   47     gettext_noop ("reserved value, do not use") },
   48   { gettext_noop ("mimetype"),
   49     gettext_noop ("mime type") },
   50   { gettext_noop ("embedded filename"),
   51     gettext_noop (
   52       "filename that was embedded (not necessarily the current filename)") },
   53   { gettext_noop ("comment"),
   54     gettext_noop ("comment about the content") },
   55   { gettext_noop ("title"),
   56     gettext_noop ("title of the work")},
   57   /* 5 */
   58   { gettext_noop ("book title"),
   59     gettext_noop ("title of the book containing the work") },
   60   { gettext_noop ("book edition"),
   61     gettext_noop ("edition of the book (or book containing the work)") },
   62   { gettext_noop ("book chapter"),
   63     gettext_noop ("chapter number") },
   64   { gettext_noop ("journal name"),
   65     gettext_noop ("journal or magazine the work was published in") },
   66   { gettext_noop ("journal volume"),
   67     gettext_noop ("volume of a journal or multi-volume book") },
   68   /* 10 */
   69   { gettext_noop ("journal number"),
   70     gettext_noop ("number of a journal, magazine or tech-report") },
   71   { gettext_noop ("page count"),
   72     gettext_noop ("total number of pages of the work") },
   73   { gettext_noop ("page range"),
   74     gettext_noop (
   75       "page numbers of the publication in the respective journal or book") },
   76   { gettext_noop ("author name"),
   77     gettext_noop ("name of the author(s)") },
   78   { gettext_noop ("author email"),
   79     gettext_noop ("e-mail of the author(s)") },
   80   /* 15 */
   81   { gettext_noop ("author institution"),
   82     gettext_noop ("institution the author worked for") },
   83   { gettext_noop ("publisher"),
   84     gettext_noop ("name of the publisher") },
   85   { gettext_noop ("publisher's address"),
   86     gettext_noop ("Address of the publisher (often only the city)") },
   87   { gettext_noop ("publishing institution"),
   88     gettext_noop (
   89       "institution that was involved in the publishing, but not necessarily the publisher") },
   90   { gettext_noop ("publication series"),
   91     gettext_noop ("series of books the book was published in") },
   92   /* 20 */
   93   { gettext_noop ("publication type"),
   94     gettext_noop ("type of the tech-report") },
   95   { gettext_noop ("publication year"),
   96     gettext_noop (
   97       "year of publication (or, if unpublished, the year of creation)") },
   98   { gettext_noop ("publication month"),
   99     gettext_noop (
  100       "month of publication (or, if unpublished, the month of creation)") },
  101   { gettext_noop ("publication day"),
  102     gettext_noop (
  103       "day of publication (or, if unpublished, the day of creation), relative to the given month") },
  104   { gettext_noop ("publication date"),
  105     gettext_noop (
  106       "date of publication (or, if unpublished, the date of creation)") },
  107   /* 25 */
  108   { gettext_noop ("bibtex eprint"),
  109     gettext_noop ("specification of an electronic publication") },
  110   { gettext_noop ("bibtex entry type"),
  111     gettext_noop ("type of the publication for bibTeX bibliographies") },
  112   { gettext_noop ("language"),
  113     gettext_noop ("language the work uses") },
  114   { gettext_noop ("creation time"),
  115     gettext_noop ("time and date of creation") },
  116   { gettext_noop ("URL"),
  117     gettext_noop (
  118       "universal resource location (where the work is made available)") },
  119   /* 30 */
  120   { gettext_noop ("URI"),
  121     gettext_noop ("universal resource identifier") },
  122   { gettext_noop ("international standard recording code"),
  123     gettext_noop ("ISRC number identifying the work") },
  124   { gettext_noop ("MD4"),
  125     gettext_noop ("MD4 hash") },
  126   { gettext_noop ("MD5"),
  127     gettext_noop ("MD5 hash") },
  128   { gettext_noop ("SHA-0"),
  129     gettext_noop ("SHA-0 hash") },
  130   /* 35 */
  131   { gettext_noop ("SHA-1"),
  132     gettext_noop ("SHA-1 hash") },
  133   { gettext_noop ("RipeMD160"),
  134     gettext_noop ("RipeMD150 hash") },
  135   { gettext_noop ("GPS latitude ref"),
  136     gettext_noop ("GPS latitude ref") },
  137   { gettext_noop ("GPS latitude"),
  138     gettext_noop ("GPS latitude") },
  139   { gettext_noop ("GPS longitude ref"),
  140     gettext_noop ("GPS longitude ref") },
  141   /* 40 */
  142   { gettext_noop ("GPS longitude"),
  143     gettext_noop ("GPS longitude") },
  144   { gettext_noop ("city"),
  145     gettext_noop ("name of the city where the document originated") },
  146   { gettext_noop ("sublocation"),
  147     gettext_noop ("more specific location of the geographic origin") },
  148   { gettext_noop ("country"),
  149     gettext_noop ("name of the country where the document originated") },
  150   { gettext_noop ("country code"),
  151     gettext_noop ("ISO 2-letter country code for the country of origin") },
  152   /* 45 */
  153   { gettext_noop ("unknown"),
  154     gettext_noop ("specifics are not known") },
  155   { gettext_noop ("description"),
  156     gettext_noop ("description") },
  157   { gettext_noop ("copyright"),
  158     gettext_noop ("Name of the entity holding the copyright") },
  159   { gettext_noop ("rights"),
  160     gettext_noop ("information about rights") },
  161   { gettext_noop ("keywords"),
  162     gettext_noop ("keywords") },
  163   /* 50 */
  164   { gettext_noop ("abstract"),
  165     gettext_noop ("abstract") },
  166   { gettext_noop ("summary"),
  167     gettext_noop ("summary") },
  168   { gettext_noop ("subject"),
  169     gettext_noop ("subject matter") },
  170   { gettext_noop ("creator"),
  171     gettext_noop ("name of the person who created the document") },
  172   { gettext_noop ("format"),
  173     gettext_noop ("name of the document format") },
  174   /* 55 */
  175   { gettext_noop ("format version"),
  176     gettext_noop ("version of the document format") },
  177   { gettext_noop ("created by software"),
  178     gettext_noop ("name of the software that created the document") },
  179   { gettext_noop ("unknown date"),
  180     gettext_noop (
  181       "ambiguous date (could specify creation time, modification time or access time)") },
  182   { gettext_noop ("creation date"),
  183     gettext_noop ("date the document was created") },
  184   { gettext_noop ("modification date"),
  185     gettext_noop ("date the document was modified") },
  186   /* 60 */
  187   { gettext_noop ("last printed"),
  188     gettext_noop ("date the document was last printed") },
  189   { gettext_noop ("last saved by"),
  190     gettext_noop ("name of the user who saved the document last") },
  191   { gettext_noop ("total editing time"),
  192     gettext_noop ("time spent editing the document") },
  193   { gettext_noop ("editing cycles"),
  194     gettext_noop ("number of editing cycles") },
  195   { gettext_noop ("modified by software"),
  196     gettext_noop ("name of software making modifications") },
  197   /* 65 */
  198   { gettext_noop ("revision history"),
  199     gettext_noop ("information about the revision history") },
  200   { gettext_noop ("embedded file size"),
  201     gettext_noop (
  202       "size of the contents of the container as embedded in the file") },
  203   { gettext_noop ("file type"),
  204     gettext_noop ("standard Macintosh Finder file type information") },
  205   { gettext_noop ("creator"),
  206     gettext_noop ("standard Macintosh Finder file creator information") },
  207   { gettext_noop ("package name"),
  208     gettext_noop ("unique identifier for the package") },
  209   /* 70 */
  210   { gettext_noop ("package version"),
  211     gettext_noop ("version of the software and its package") },
  212   { gettext_noop ("section"),
  213     gettext_noop ("category the software package belongs to") },
  214   { gettext_noop ("upload priority"),
  215     gettext_noop ("priority for promoting the release to production") },
  216   { gettext_noop ("dependencies"),
  217     gettext_noop ("packages this package depends upon") },
  218   { gettext_noop ("conflicting packages"),
  219     gettext_noop ("packages that cannot be installed with this package") },
  220   /* 75 */
  221   { gettext_noop ("replaced packages"),
  222     gettext_noop ("packages made obsolete by this package") },
  223   { gettext_noop ("provides"),
  224     gettext_noop ("functionality provided by this package") },
  225   { gettext_noop ("recommendations"),
  226     gettext_noop (
  227       "packages recommended for installation in conjunction with this package") },
  228   { gettext_noop ("suggestions"),
  229     gettext_noop (
  230       "packages suggested for installation in conjunction with this package") },
  231   { gettext_noop ("maintainer"),
  232     gettext_noop ("name of the maintainer") },
  233   /* 80 */
  234   { gettext_noop ("installed size"),
  235     gettext_noop ("space consumption after installation") },
  236   { gettext_noop ("source"),
  237     gettext_noop ("original source code") },
  238   { gettext_noop ("is essential"),
  239     gettext_noop ("package is marked as essential") },
  240   { gettext_noop ("target architecture"),
  241     gettext_noop ("hardware architecture the contents can be used for") },
  242   { gettext_noop ("pre-dependency"),
  243     gettext_noop ("dependency that must be satisfied before installation") },
  244   /* 85 */
  245   { gettext_noop ("license"),
  246     gettext_noop ("applicable copyright license") },
  247   { gettext_noop ("distribution"),
  248     gettext_noop ("distribution the package is a part of") },
  249   { gettext_noop ("build host"),
  250     gettext_noop ("machine the package was build on") },
  251   { gettext_noop ("vendor"),
  252     gettext_noop ("name of the software vendor") },
  253   { gettext_noop ("target operating system"),
  254     gettext_noop ("operating system for which this package was made") },
  255   /* 90 */
  256   { gettext_noop ("software version"),
  257     gettext_noop ("version of the software contained in the file") },
  258   { gettext_noop ("target platform"),
  259     gettext_noop (
  260       "name of the architecture, operating system and distribution this package is for") },
  261   { gettext_noop ("resource type"),
  262     gettext_noop (
  263       "categorization of the nature of the resource that is more specific than the file format") },
  264   { gettext_noop ("library search path"),
  265     gettext_noop (
  266       "path in the file system to be considered when looking for required libraries") },
  267   { gettext_noop ("library dependency"),
  268     gettext_noop ("name of a library that this file depends on") },
  269   /* 95 */
  270   { gettext_noop ("camera make"),
  271     gettext_noop ("camera make") },
  272   { gettext_noop ("camera model"),
  273     gettext_noop ("camera model") },
  274   { gettext_noop ("exposure"),
  275     gettext_noop ("exposure") },
  276   { gettext_noop ("aperture"),
  277     gettext_noop ("aperture") },
  278   { gettext_noop ("exposure bias"),
  279     gettext_noop ("exposure bias") },
  280   /* 100 */
  281   { gettext_noop ("flash"),
  282     gettext_noop ("flash") },
  283   { gettext_noop ("flash bias"),
  284     gettext_noop ("flash bias") },
  285   { gettext_noop ("focal length"),
  286     gettext_noop ("focal length") },
  287   { gettext_noop ("focal length 35mm"),
  288     gettext_noop ("focal length 35mm") },
  289   { gettext_noop ("iso speed"),
  290     gettext_noop ("iso speed") },
  291   /* 105 */
  292   { gettext_noop ("exposure mode"),
  293     gettext_noop ("exposure mode") },
  294   { gettext_noop ("metering mode"),
  295     gettext_noop ("metering mode") },
  296   { gettext_noop ("macro mode"),
  297     gettext_noop ("macro mode") },
  298   { gettext_noop ("image quality"),
  299     gettext_noop ("image quality") },
  300   { gettext_noop ("white balance"),
  301     gettext_noop ("white balance") },
  302   /* 110 */
  303   { gettext_noop ("orientation"),
  304     gettext_noop ("orientation") },
  305   { gettext_noop ("magnification"),
  306     gettext_noop ("magnification") },
  307   { gettext_noop ("image dimensions"),
  308     gettext_noop ("size of the image in pixels (width times height)") },
  309   { gettext_noop ("produced by software"),
  310     gettext_noop ("produced by software") }, /* what is the exact difference between the software
  311           creator and the software producer? PDF and DVI
  312           both have this distinction (i.e., Writer vs.
  313           OpenOffice) */
  314   { gettext_noop ("thumbnail"),
  315     gettext_noop ("smaller version of the image for previewing") },
  316   /* 115 */
  317   { gettext_noop ("image resolution"),
  318     gettext_noop ("resolution in dots per inch") },
  319   { gettext_noop ("source"),
  320     gettext_noop ("Originating entity") },
  321   { gettext_noop ("character set"),
  322     gettext_noop ("character encoding used") },
  323   { gettext_noop ("line count"),
  324     gettext_noop ("number of lines") },
  325   { gettext_noop ("paragraph count"),
  326     gettext_noop ("number of paragraphs") },
  327   /* 120 */
  328   { gettext_noop ("word count"),
  329     gettext_noop ("number of words") },
  330   { gettext_noop ("character count"),
  331     gettext_noop ("number of characters") },
  332   { gettext_noop ("page orientation"),
  333     gettext_noop ("page orientation") },
  334   { gettext_noop ("paper size"),
  335     gettext_noop ("paper size") },
  336   { gettext_noop ("template"),
  337     gettext_noop ("template the document uses or is based on") },
  338   /* 125 */
  339   { gettext_noop ("company"),
  340     gettext_noop ("company") },
  341   { gettext_noop ("manager"),
  342     gettext_noop ("manager") },
  343   { gettext_noop ("revision number"),
  344     gettext_noop ("revision number") },
  345   { gettext_noop ("duration"),
  346     gettext_noop ("play time for the medium") },
  347   { gettext_noop ("album"),
  348     gettext_noop ("name of the album") },
  349   /* 130 */
  350   { gettext_noop ("artist"),
  351     gettext_noop ("name of the artist or band") },
  352   { gettext_noop ("genre"),
  353     gettext_noop ("genre") },
  354   { gettext_noop ("track number"),
  355     gettext_noop ("original number of the track on the distribution medium") },
  356   { gettext_noop ("disk number"),
  357     gettext_noop (
  358       "number of the disk in a multi-disk (or volume) distribution") },
  359   { gettext_noop ("performer"),
  360     gettext_noop (
  361       "The artist(s) who performed the work (conductor, orchestra, soloists, actor, etc.)") },
  362   /* 135 */
  363   { gettext_noop ("contact"),
  364     gettext_noop ("Contact information for the creator or distributor") },
  365   { gettext_noop ("song version"),
  366     gettext_noop ("name of the version of the song (i.e. remix information)") },
  367   { gettext_noop ("picture"),
  368     gettext_noop ("associated misc. picture") },
  369   { gettext_noop ("cover picture"),
  370     gettext_noop ("picture of the cover of the distribution medium") },
  371   { gettext_noop ("contributor picture"),
  372     gettext_noop ("picture of one of the contributors") },
  373   /* 140 */
  374   { gettext_noop ("event picture"),
  375     gettext_noop ("picture of an associated event") },
  376   { gettext_noop ("logo"),
  377     gettext_noop ("logo of an associated organization") },
  378   { gettext_noop ("broadcast television system"),
  379     gettext_noop (
  380       "name of the television system for which the data is coded") },
  381   { gettext_noop ("source device"),
  382     gettext_noop ("device used to create the object") },
  383   { gettext_noop ("disclaimer"),
  384     gettext_noop ("legal disclaimer") },
  385   /* 145 */
  386   { gettext_noop ("warning"),
  387     gettext_noop ("warning about the nature of the content") },
  388   { gettext_noop ("page order"),
  389     gettext_noop ("order of the pages") },
  390   { gettext_noop ("writer"),
  391     gettext_noop ("contributing writer") },
  392   { gettext_noop ("product version"),
  393     gettext_noop ("product version") },
  394   { gettext_noop ("contributor"),
  395     gettext_noop ("name of a contributor") },
  396   /* 150 */
  397   { gettext_noop ("movie director"),
  398     gettext_noop ("name of the director") },
  399   { gettext_noop ("network"),
  400     gettext_noop ("name of the broadcasting network or station") },
  401   { gettext_noop ("show"),
  402     gettext_noop ("name of the show") },
  403   { gettext_noop ("chapter name"),
  404     gettext_noop ("name of the chapter") },
  405   { gettext_noop ("song count"),
  406     gettext_noop ("number of songs") },
  407   /* 155 */
  408   { gettext_noop ("starting song"),
  409     gettext_noop ("number of the first song to play") },
  410   { gettext_noop ("play counter"),
  411     gettext_noop ("number of times the media has been played") },
  412   { gettext_noop ("conductor"),
  413     gettext_noop ("name of the conductor") },
  414   { gettext_noop ("interpretation"),
  415     gettext_noop (
  416       "information about the people behind interpretations of an existing piece") },
  417   { gettext_noop ("composer"),
  418     gettext_noop ("name of the composer") },
  419   /* 160 */
  420   { gettext_noop ("beats per minute"),
  421     gettext_noop ("beats per minute") },
  422   { gettext_noop ("encoded by"),
  423     gettext_noop ("name of person or organization that encoded the file") },
  424   { gettext_noop ("original title"),
  425     gettext_noop ("title of the original work") },
  426   { gettext_noop ("original artist"),
  427     gettext_noop ("name of the original artist") },
  428   { gettext_noop ("original writer"),
  429     gettext_noop ("name of the original lyricist or writer") },
  430   /* 165 */
  431   { gettext_noop ("original release year"),
  432     gettext_noop ("year of the original release") },
  433   { gettext_noop ("original performer"),
  434     gettext_noop ("name of the original performer") },
  435   { gettext_noop ("lyrics"),
  436     gettext_noop (
  437       "lyrics of the song or text description of vocal activities") },
  438   { gettext_noop ("popularity"),
  439     gettext_noop ("information about the file's popularity") },
  440   { gettext_noop ("licensee"),
  441     gettext_noop ("name of the owner or licensee of the file") },
  442   /* 170 */
  443   { gettext_noop ("musician credit list"),
  444     gettext_noop ("names of contributing musicians") },
  445   { gettext_noop ("mood"),
  446     gettext_noop ("keywords reflecting the mood of the piece") },
  447   { gettext_noop ("subtitle"),
  448     gettext_noop ("subtitle of this part") },
  449   { gettext_noop ("display type"),
  450     gettext_noop (
  451       "what rendering method should be used to display this item") },
  452   { gettext_noop ("full data"),
  453     gettext_noop (
  454       "entry that contains the full, original binary data (not really meta data)") },
  455   /* 175 */
  456   { gettext_noop ("rating"),
  457     gettext_noop ("rating of the content") },
  458   { gettext_noop ("organization"),
  459     gettext_noop ("organization") },
  460   { gettext_noop ("ripper"), /* any difference to "encoded by"? */
  461     gettext_noop ("ripper") },
  462   { gettext_noop ("producer"),
  463     gettext_noop ("producer") },
  464   { gettext_noop ("group"),
  465     gettext_noop ("name of the group or band") },
  466   /* 180 */
  467   { gettext_noop ("original filename"),
  468     gettext_noop ("name of the original file (reserved for GNUnet)") },
  469   { gettext_noop ("disc count"),
  470     gettext_noop ("count of discs inside collection this disc belongs to") },
  471   { gettext_noop ("codec"),
  472     gettext_noop ("codec the data is stored in") },
  473   { gettext_noop ("video codec"),
  474     gettext_noop ("codec the video data is stored in") },
  475   { gettext_noop ("audio codec"),
  476     gettext_noop ("codec the audio data is stored in") },
  477   /* 185 */
  478   { gettext_noop ("subtitle codec"),
  479     gettext_noop ("codec/format the subtitle data is stored in") },
  480   { gettext_noop ("container format"),
  481     gettext_noop ("container format the data is stored in") },
  482   { gettext_noop ("bitrate"),
  483     gettext_noop ("exact or average bitrate in bits/s") },
  484   { gettext_noop ("nominal bitrate"),
  485     gettext_noop (
  486       "nominal bitrate in bits/s. The actual bitrate might be different from this target bitrate.") },
  487   { gettext_noop ("minimum bitrate"),
  488     gettext_noop ("minimum bitrate in bits/s") },
  489   /* 190 */
  490   { gettext_noop ("maximum bitrate"),
  491     gettext_noop ("maximum bitrate in bits/s") },
  492   { gettext_noop ("serial"),
  493     gettext_noop ("serial number of track") },
  494   { gettext_noop ("encoder"),
  495     gettext_noop ("encoder used to encode this stream") },
  496   { gettext_noop ("encoder version"),
  497     gettext_noop ("version of the encoder used to encode this stream") },
  498   { gettext_noop ("track gain"),
  499     gettext_noop ("track gain in db") },
  500   /* 195 */
  501   { gettext_noop ("track peak"),
  502     gettext_noop ("peak of the track") },
  503   { gettext_noop ("album gain"),
  504     gettext_noop ("album gain in db") },
  505   { gettext_noop ("album peak"),
  506     gettext_noop ("peak of the album") },
  507   { gettext_noop ("reference level"),
  508     gettext_noop ("reference level of track and album gain values") },
  509   { gettext_noop ("location name"),
  510     gettext_noop (
  511       "human readable descriptive location of where the media has been recorded or produced") },
  512   /* 200 */
  513   { gettext_noop ("location elevation"),
  514     gettext_noop (
  515       "geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level)") },
  516   { gettext_noop ("location horizontal error"),
  517     gettext_noop (
  518       "represents the expected error on the horizontal positioning in meters") },
  519   { gettext_noop ("location movement speed"),
  520     gettext_noop (
  521       "speed of the capturing device when performing the capture. Represented in m/s") },
  522   { gettext_noop ("location movement direction"),
  523     gettext_noop (
  524       "indicates the movement direction of the device performing the capture of a media. It is represented as degrees in floating point representation, 0 means the geographic north, and increases clockwise") },
  525   { gettext_noop ("location capture direction"),
  526     gettext_noop (
  527       "indicates the direction the device is pointing to when capturing a media. It is represented as degrees in floating point representation, 0 means the geographic north, and increases clockwise") },
  528   /* 205 */
  529   { gettext_noop ("show episode number"),
  530     gettext_noop ("number of the episode within a season/show") },
  531   { gettext_noop ("show season number"),
  532     gettext_noop ("number of the season of a show/series") },
  533   { gettext_noop ("grouping"),
  534     gettext_noop (
  535       "groups together media that are related and spans multiple tracks. An example are multiple pieces of a concerto") },
  536   { gettext_noop ("device manufacturer"),
  537     gettext_noop ("manufacturer of the device used to create the media") },
  538   { gettext_noop ("device model"),
  539     gettext_noop ("model of the device used to create the media") },
  540   /* 210 */
  541   { gettext_noop ("audio language"),
  542     gettext_noop ("language of the audio track") },
  543   { gettext_noop ("channels"),
  544     gettext_noop ("number of audio channels") },
  545   { gettext_noop ("sample rate"),
  546     gettext_noop ("sample rate of the audio track") },
  547   { gettext_noop ("audio depth"),
  548     gettext_noop ("number of bits per audio sample") },
  549   { gettext_noop ("audio bitrate"),
  550     gettext_noop ("bitrate of the audio track") },
  551   /* 215 */
  552   { gettext_noop ("maximum audio bitrate"),
  553     gettext_noop ("maximum audio bitrate") },
  554   { gettext_noop ("video dimensions"),
  555     gettext_noop ("width and height of the video track (WxH)") },
  556   { gettext_noop ("video depth"),
  557     gettext_noop ("numbers of bits per pixel") },
  558   { gettext_noop ("frame rate"),
  559     gettext_noop ("number of frames per second (as D/N or floating point)") },
  560   { gettext_noop ("pixel aspect ratio"),
  561     gettext_noop ("pixel aspect ratio (as D/N)") },
  562   /* 220 */
  563   { gettext_noop ("video bitrate"),
  564     gettext_noop ("video bitrate") },
  565   { gettext_noop ("maximum video bitrate"),
  566     gettext_noop ("maximum video bitrate") },
  567   { gettext_noop ("subtitle language"),
  568     gettext_noop ("language of the subtitle track") },
  569   { gettext_noop ("video language"),
  570     gettext_noop ("language of the video track") },
  571   { gettext_noop ("table of contents"),
  572     gettext_noop ("chapters, contents or bookmarks (in xml format)") },
  573   /* 225 */
  574   { gettext_noop ("video duration"),
  575     gettext_noop ("duration of a video stream") },
  576   { gettext_noop ("audio duration"),
  577     gettext_noop ("duration of an audio stream") },
  578   { gettext_noop ("subtitle duration"),
  579     gettext_noop ("duration of a subtitle stream") },
  580 
  581   { gettext_noop ("audio preview"),
  582     gettext_noop ("a preview of the file audio stream") },
  583 
  584   { gettext_noop ("narinfo"),
  585     gettext_noop (
  586       "file containing information about contents of a normalized archive (nar)") },
  587   /* 230 */
  588   { gettext_noop ("nar"),
  589     gettext_noop ("normalized archive") },
  590 
  591   { gettext_noop ("last"),
  592     gettext_noop ("last") }
  593 };
  594 
  595 /**
  596  * Total number of keyword types (for bounds-checking)
  597  */
  598 #define HIGHEST_METATYPE_NUMBER (sizeof (meta_type_descriptions) \
  599                                  / sizeof(*meta_type_descriptions))
  600 
  601 
  602 /**
  603  * Get the textual name of the keyword.
  604  *
  605  * @param type meta type to get a UTF-8 string for
  606  * @return NULL if the type is not known, otherwise
  607  *         an English (locale: C) string describing the type;
  608  *         translate using 'dgettext ("libextractor", rval)'
  609  */
  610 const char *
  611 EXTRACTOR_metatype_to_string (enum EXTRACTOR_MetaType type)
  612 {
  613   if ( (type < 0) || (type >= HIGHEST_METATYPE_NUMBER) )
  614     return NULL;
  615   return meta_type_descriptions[type].short_description;
  616 }
  617 
  618 
  619 /**
  620  * Get a long description for the meta type.
  621  *
  622  * @param type meta type to get a UTF-8 description for
  623  * @return NULL if the type is not known, otherwise
  624  *         an English (locale: C) string describing the type;
  625  *         translate using 'dgettext ("libextractor", rval)'
  626  */
  627 const char *
  628 EXTRACTOR_metatype_to_description (enum EXTRACTOR_MetaType type)
  629 {
  630   if ( (type < 0) || (type >= HIGHEST_METATYPE_NUMBER) )
  631     return NULL;
  632   return meta_type_descriptions[type].long_description;
  633 }
  634 
  635 
  636 /**
  637  * Return the highest type number, exclusive as in [0,max).
  638  *
  639  * @return highest legal metatype number for this version of libextractor
  640  */
  641 enum EXTRACTOR_MetaType
  642 EXTRACTOR_metatype_get_max ()
  643 {
  644   return HIGHEST_METATYPE_NUMBER;
  645 }
  646 
  647 
  648 /* end of extractor_metatypes.c */