"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 */