libextractor  1.11
About: GNU libextractor is a library used to extract meta-data from files of arbitrary type.
  Fossies Dox: libextractor-1.11.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

extractor_metatypes.c
Go to the documentation of this file.
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  */
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 *
612 {
613  if ( (type < 0) || (type >= HIGHEST_METATYPE_NUMBER) )
614  return NULL;
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 *
629 {
630  if ( (type < 0) || (type >= HIGHEST_METATYPE_NUMBER) )
631  return NULL;
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  */
643 {
645 }
646 
647 
648 /* end of extractor_metatypes.c */
#define HIGHEST_METATYPE_NUMBER
static const struct MetaTypeDescription meta_type_descriptions[]
#define NULL
Definition: getopt1.c:60
#define gettext_noop(String)
Definition: gettext.h:69
enum EXTRACTOR_MetaType EXTRACTOR_metatype_get_max()
const char * EXTRACTOR_metatype_to_string(enum EXTRACTOR_MetaType type)
const char * EXTRACTOR_metatype_to_description(enum EXTRACTOR_MetaType type)
EXTRACTOR_MetaType
Definition: extractor.h:126
enum EXTRACTOR_MetaType type
plaform specifics
const char * short_description
const char * long_description