aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/test_gstreamer.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-03-03 12:55:36 +0100
committerChristian Grothoff <christian@grothoff.org>2020-03-03 12:55:36 +0100
commitf22abb4d1339fe55f5c10545de4b80fe3ac6aebe (patch)
treead9ebbbeb6584d64310088b9769704f048f9daa4 /src/plugins/test_gstreamer.c
parent0f3f4f01cce39f83f029caa4c285035c409c0ced (diff)
downloadlibextractor-f22abb4d1339fe55f5c10545de4b80fe3ac6aebe.tar.gz
libextractor-f22abb4d1339fe55f5c10545de4b80fe3ac6aebe.zip
uncrustifying indentation
Diffstat (limited to 'src/plugins/test_gstreamer.c')
-rw-r--r--src/plugins/test_gstreamer.c3088
1 files changed, 1544 insertions, 1544 deletions
diff --git a/src/plugins/test_gstreamer.c b/src/plugins/test_gstreamer.c
index 0f3d9ca..0210e54 100644
--- a/src/plugins/test_gstreamer.c
+++ b/src/plugins/test_gstreamer.c
@@ -42,67 +42,69 @@ discoverer_main (GstDiscoverer *dc, const char *filename)
42 GstDiscovererInfo *info; 42 GstDiscovererInfo *info;
43 GstDiscovererResult result; 43 GstDiscovererResult result;
44 44
45 if (! gst_uri_is_valid (filename)) 45 if (! gst_uri_is_valid (filename))
46 {
47 if (! g_path_is_absolute (filename))
46 { 48 {
47 if (! g_path_is_absolute (filename)) 49 gchar *cur_dir;
48 { 50
49 gchar *cur_dir; 51 cur_dir = g_get_current_dir ();
50 52 path = g_build_filename (cur_dir, filename, NULL);
51 cur_dir = g_get_current_dir (); 53 g_free (cur_dir);
52 path = g_build_filename (cur_dir, filename, NULL);
53 g_free (cur_dir);
54 }
55 else
56 {
57 path = g_strdup (filename);
58 }
59
60 uri = g_filename_to_uri (path, NULL, &err);
61 g_free (path);
62 path = NULL;
63
64 if (err)
65 {
66 g_warning ("Couldn't convert filename %s to URI: %s\n", filename, err->message);
67 g_error_free (err);
68 return GST_DISCOVERER_ERROR;
69 }
70 } 54 }
71 else 55 else
72 { 56 {
73 uri = g_strdup (filename); 57 path = g_strdup (filename);
74 } 58 }
75 info = gst_discoverer_discover_uri (dc, uri, &err); 59
76 result = gst_discoverer_info_get_result (info); 60 uri = g_filename_to_uri (path, NULL, &err);
77 switch (result) 61 g_free (path);
62 path = NULL;
63
64 if (err)
78 { 65 {
79 case GST_DISCOVERER_OK: 66 g_warning ("Couldn't convert filename %s to URI: %s\n", filename,
80 break; 67 err->message);
81 case GST_DISCOVERER_URI_INVALID: 68 g_error_free (err);
82 g_print ("URI %s is not valid\n", uri); 69 return GST_DISCOVERER_ERROR;
83 break; 70 }
84 case GST_DISCOVERER_ERROR: 71 }
85 g_print ("An error was encountered while discovering the file %s\n", filename); 72 else
86 g_print (" %s\n", err->message); 73 {
87 break; 74 uri = g_strdup (filename);
88 case GST_DISCOVERER_TIMEOUT: 75 }
89 g_print ("Analyzing URI %s timed out\n", uri); 76 info = gst_discoverer_discover_uri (dc, uri, &err);
90 break; 77 result = gst_discoverer_info_get_result (info);
91 case GST_DISCOVERER_BUSY: 78 switch (result)
92 g_print ("Discoverer was busy\n"); 79 {
93 break; 80 case GST_DISCOVERER_OK:
94 case GST_DISCOVERER_MISSING_PLUGINS: 81 break;
95 g_print ("Will skip %s: missing plugins\n", filename); 82 case GST_DISCOVERER_URI_INVALID:
96 break; 83 g_print ("URI %s is not valid\n", uri);
97 default: 84 break;
98 g_print ("Unexpected result %d\n", result); 85 case GST_DISCOVERER_ERROR:
99 break; 86 g_print ("An error was encountered while discovering the file %s\n",
100 } 87 filename);
88 g_print (" %s\n", err->message);
89 break;
90 case GST_DISCOVERER_TIMEOUT:
91 g_print ("Analyzing URI %s timed out\n", uri);
92 break;
93 case GST_DISCOVERER_BUSY:
94 g_print ("Discoverer was busy\n");
95 break;
96 case GST_DISCOVERER_MISSING_PLUGINS:
97 g_print ("Will skip %s: missing plugins\n", filename);
98 break;
99 default:
100 g_print ("Unexpected result %d\n", result);
101 break;
102 }
101 if (err) 103 if (err)
102 g_error_free (err); 104 g_error_free (err);
103 gst_discoverer_info_unref (info); 105 gst_discoverer_info_unref (info);
104 g_free (uri); 106 g_free (uri);
105 107
106 return result; 108 return result;
107} 109}
108 110
@@ -124,11 +126,11 @@ main (int argc, char *argv[])
124 126
125 gst_init (&argc, &argv); 127 gst_init (&argc, &argv);
126 dc = gst_discoverer_new (10 * GST_SECOND, &err); 128 dc = gst_discoverer_new (10 * GST_SECOND, &err);
127 if (NULL == dc) 129 if (NULL == dc)
128 { 130 {
129 g_print ("Error initializing: %s\n", err->message); 131 g_print ("Error initializing: %s\n", err->message);
130 return 0; 132 return 0;
131 } 133 }
132 if (NULL != err) 134 if (NULL != err)
133 g_error_free (err); 135 g_error_free (err);
134 136
@@ -136,171 +138,170 @@ main (int argc, char *argv[])
136 if (GST_DISCOVERER_MISSING_PLUGINS != pre_test) 138 if (GST_DISCOVERER_MISSING_PLUGINS != pre_test)
137 { 139 {
138 int test_result; 140 int test_result;
139 struct SolutionData thirty_and_thirtythree_sol[] = 141 struct SolutionData thirty_and_thirtythree_sol[] = {
140 { 142 {
141 { 143 EXTRACTOR_METATYPE_DURATION,
142 EXTRACTOR_METATYPE_DURATION, 144 EXTRACTOR_METAFORMAT_UTF8,
143 EXTRACTOR_METAFORMAT_UTF8, 145 "text/plain",
144 "text/plain", 146 "0:00:05.061000000",
145 "0:00:05.061000000", 147 strlen ("0:00:05.061000000") + 1,
146 strlen ("0:00:05.061000000") + 1, 148 0
147 0 149 },
148 }, 150 {
149 { 151 EXTRACTOR_METATYPE_TRACK_NUMBER,
150 EXTRACTOR_METATYPE_TRACK_NUMBER, 152 EXTRACTOR_METAFORMAT_UTF8,
151 EXTRACTOR_METAFORMAT_UTF8, 153 "text/plain",
152 "text/plain", 154 "21",
153 "21", 155 strlen ("21") + 1,
154 strlen ("21") + 1, 156 0
155 0 157 },
156 }, 158 {
157 { 159 EXTRACTOR_METATYPE_ALBUM,
158 EXTRACTOR_METATYPE_ALBUM, 160 EXTRACTOR_METAFORMAT_UTF8,
159 EXTRACTOR_METAFORMAT_UTF8, 161 "text/plain",
160 "text/plain", 162 "Zee Album",
161 "Zee Album", 163 strlen ("Zee Album") + 1,
162 strlen ("Zee Album") + 1, 164 0
163 0 165 },
164 }, 166 {
165 { 167 EXTRACTOR_METATYPE_CREATION_TIME,
166 EXTRACTOR_METATYPE_CREATION_TIME, 168 EXTRACTOR_METAFORMAT_UTF8,
167 EXTRACTOR_METAFORMAT_UTF8, 169 "text/plain",
168 "text/plain", 170 "9999",
169 "9999", 171 strlen ("9999") + 1,
170 strlen ("9999") + 1, 172 0
171 0 173 },
172 }, 174 {
173 { 175 EXTRACTOR_METATYPE_ARTIST,
174 EXTRACTOR_METATYPE_ARTIST, 176 EXTRACTOR_METAFORMAT_UTF8,
175 EXTRACTOR_METAFORMAT_UTF8, 177 "text/plain",
176 "text/plain", 178 "All performed by Nobody",
177 "All performed by Nobody", 179 strlen ("All performed by Nobody") + 1,
178 strlen ("All performed by Nobody") + 1, 180 0
179 0 181 },
180 }, 182 {
181 { 183 EXTRACTOR_METATYPE_ARTIST,
182 EXTRACTOR_METATYPE_ARTIST, 184 EXTRACTOR_METAFORMAT_UTF8,
183 EXTRACTOR_METAFORMAT_UTF8, 185 "text/plain",
184 "text/plain", 186 "This Artist Contributed",
185 "This Artist Contributed", 187 strlen ("This Artist Contributed") + 1,
186 strlen ("This Artist Contributed") + 1, 188 0
187 0 189 },
188 }, 190 {
189 { 191 EXTRACTOR_METATYPE_TITLE,
190 EXTRACTOR_METATYPE_TITLE, 192 EXTRACTOR_METAFORMAT_UTF8,
191 EXTRACTOR_METAFORMAT_UTF8, 193 "text/plain",
192 "text/plain", 194 "Some title",
193 "Some title", 195 strlen ("Some title") + 1,
194 strlen ("Some title") + 1, 196 0
195 0 197 },
196 }, 198 /* Suggest a fix to gst devs; should be a comment, not description */
197 /* Suggest a fix to gst devs; should be a comment, not description */ 199 {
198 { 200 EXTRACTOR_METATYPE_DESCRIPTION,
199 EXTRACTOR_METATYPE_DESCRIPTION, 201 EXTRACTOR_METAFORMAT_UTF8,
200 EXTRACTOR_METAFORMAT_UTF8, 202 "text/plain",
201 "text/plain", 203 "A witty comment",
202 "A witty comment", 204 strlen ("A witty comment") + 1,
203 strlen ("A witty comment") + 1, 205 0
204 0 206 },
205 }, 207 {
206 { 208 EXTRACTOR_METATYPE_CONTAINER_FORMAT,
207 EXTRACTOR_METATYPE_CONTAINER_FORMAT, 209 EXTRACTOR_METAFORMAT_UTF8,
208 EXTRACTOR_METAFORMAT_UTF8, 210 "text/plain",
209 "text/plain", 211 "ASF",
210 "ASF", 212 strlen ("ASF") + 1,
211 strlen ("ASF") + 1, 213 0
212 0 214 },
213 }, 215 {
214 { 216 EXTRACTOR_METATYPE_AUDIO_CODEC,
215 EXTRACTOR_METATYPE_AUDIO_CODEC, 217 EXTRACTOR_METAFORMAT_UTF8,
216 EXTRACTOR_METAFORMAT_UTF8, 218 "text/plain",
217 "text/plain", 219 "WMA Version 8",
218 "WMA Version 8", 220 strlen ("WMA Version 8") + 1,
219 strlen ("WMA Version 8") + 1, 221 0
220 0 222 },
221 }, 223 {
222 { 224 EXTRACTOR_METATYPE_MIMETYPE,
223 EXTRACTOR_METATYPE_MIMETYPE, 225 EXTRACTOR_METAFORMAT_UTF8,
224 EXTRACTOR_METAFORMAT_UTF8, 226 "text/plain",
225 "text/plain", 227 "video/x-ms-asf",
226 "video/x-ms-asf", 228 strlen ("video/x-ms-asf") + 1,
227 strlen ("video/x-ms-asf") + 1, 229 0
228 0 230 },
229 }, 231 {
230 { 232 EXTRACTOR_METATYPE_MIMETYPE,
231 EXTRACTOR_METATYPE_MIMETYPE, 233 EXTRACTOR_METAFORMAT_UTF8,
232 EXTRACTOR_METAFORMAT_UTF8, 234 "text/plain",
233 "text/plain", 235 "audio/x-wma",
234 "audio/x-wma", 236 strlen ("audio/x-wma") + 1,
235 strlen ("audio/x-wma") + 1, 237 0
236 0 238 },
237 }, 239 {
238 { 240 EXTRACTOR_METATYPE_UNKNOWN,
239 EXTRACTOR_METATYPE_UNKNOWN, 241 EXTRACTOR_METAFORMAT_UTF8,
240 EXTRACTOR_METAFORMAT_UTF8, 242 "text/plain",
241 "text/plain", 243 "wmaversion=2",
242 "wmaversion=2", 244 strlen ("wmaversion=2") + 1,
243 strlen ("wmaversion=2") + 1, 245 0
244 0 246 },
245 }, 247 {
246 { 248 EXTRACTOR_METATYPE_UNKNOWN,
247 EXTRACTOR_METATYPE_UNKNOWN, 249 EXTRACTOR_METAFORMAT_UTF8,
248 EXTRACTOR_METAFORMAT_UTF8, 250 "text/plain",
249 "text/plain", 251 "bitrate=96024",
250 "bitrate=96024", 252 strlen ("bitrate=96024") + 1,
251 strlen ("bitrate=96024") + 1, 253 0
252 0 254 },
253 }, 255 {
254 { 256 EXTRACTOR_METATYPE_UNKNOWN,
255 EXTRACTOR_METATYPE_UNKNOWN, 257 EXTRACTOR_METAFORMAT_UTF8,
256 EXTRACTOR_METAFORMAT_UTF8, 258 "text/plain",
257 "text/plain", 259 "block_align=4459",
258 "block_align=4459", 260 strlen ("block_align=4459") + 1,
259 strlen ("block_align=4459") + 1, 261 0
260 0 262 },
261 }, 263 {
262 { 264 EXTRACTOR_METATYPE_AUDIO_LANGUAGE,
263 EXTRACTOR_METATYPE_AUDIO_LANGUAGE, 265 EXTRACTOR_METAFORMAT_UTF8,
264 EXTRACTOR_METAFORMAT_UTF8, 266 "text/plain",
265 "text/plain", 267 "en",
266 "en", 268 strlen ("en") + 1,
267 strlen ("en") + 1, 269 0
268 0 270 },
269 }, 271 {
270 { 272 EXTRACTOR_METATYPE_CHANNELS,
271 EXTRACTOR_METATYPE_CHANNELS, 273 EXTRACTOR_METAFORMAT_UTF8,
272 EXTRACTOR_METAFORMAT_UTF8, 274 "text/plain",
273 "text/plain", 275 "2",
274 "2", 276 strlen ("2") + 1,
275 strlen ("2") + 1, 277 0
276 0 278 },
277 }, 279 {
278 { 280 EXTRACTOR_METATYPE_SAMPLE_RATE,
279 EXTRACTOR_METATYPE_SAMPLE_RATE, 281 EXTRACTOR_METAFORMAT_UTF8,
280 EXTRACTOR_METAFORMAT_UTF8, 282 "text/plain",
281 "text/plain", 283 "44100",
282 "44100", 284 strlen ("44100") + 1,
283 strlen ("44100") + 1, 285 0
284 0 286 },
285 }, 287 {
286 { 288 EXTRACTOR_METATYPE_AUDIO_DEPTH,
287 EXTRACTOR_METATYPE_AUDIO_DEPTH, 289 EXTRACTOR_METAFORMAT_UTF8,
288 EXTRACTOR_METAFORMAT_UTF8, 290 "text/plain",
289 "text/plain", 291 "16",
290 "16", 292 strlen ("16") + 1,
291 strlen ("16") + 1, 293 0
292 0 294 },
293 }, 295 { 0, 0, NULL, NULL, 0, -1 }
294 { 0, 0, NULL, NULL, 0, -1 } 296 };
295 }; 297 struct ProblemSet ps[] = {
296 struct ProblemSet ps[] = 298 { "testdata/gstreamer_30_and_33.asf", thirty_and_thirtythree_sol },
297 { 299 { NULL, NULL }
298 { "testdata/gstreamer_30_and_33.asf", thirty_and_thirtythree_sol }, 300 };
299 { NULL, NULL }
300 };
301 g_print ("Running asf test on GStreamer:\n"); 301 g_print ("Running asf test on GStreamer:\n");
302 test_result = (0 == ET_main ("gstreamer", ps) ? 0 : 1); 302 test_result = (0 == ET_main ("gstreamer", ps) ? 0 : 1);
303 g_print ("asf GStreamer test result: %s\n", test_result == 0 ? "OK" : "FAILED"); 303 g_print ("asf GStreamer test result: %s\n", test_result == 0 ? "OK" :
304 "FAILED");
304 result += test_result; 305 result += test_result;
305 } 306 }
306 307
@@ -308,401 +309,399 @@ main (int argc, char *argv[])
308 if (pre_test != GST_DISCOVERER_MISSING_PLUGINS) 309 if (pre_test != GST_DISCOVERER_MISSING_PLUGINS)
309 { 310 {
310 int test_result; 311 int test_result;
311 struct SolutionData barsandtone_sol[] = 312 struct SolutionData barsandtone_sol[] = {
312 { 313 {
313 { 314 EXTRACTOR_METATYPE_DURATION,
314 EXTRACTOR_METATYPE_DURATION, 315 EXTRACTOR_METAFORMAT_UTF8,
315 EXTRACTOR_METAFORMAT_UTF8, 316 "text/plain",
316 "text/plain", 317 "0:00:06.060000000",
317 "0:00:06.060000000", 318 strlen ("0:00:06.060000000") + 1,
318 strlen ("0:00:06.060000000") + 1, 319 0
319 0 320 },
320 }, 321 {
321 { 322 EXTRACTOR_METATYPE_MIMETYPE,
322 EXTRACTOR_METATYPE_MIMETYPE, 323 EXTRACTOR_METAFORMAT_UTF8,
323 EXTRACTOR_METAFORMAT_UTF8, 324 "text/plain",
324 "text/plain", 325 "video/x-flv",
325 "video/x-flv", 326 strlen ("video/x-flv") + 1,
326 strlen ("video/x-flv") + 1, 327 0
327 0 328 },
328 }, 329 {
329 { 330 EXTRACTOR_METATYPE_MIMETYPE,
330 EXTRACTOR_METATYPE_MIMETYPE, 331 EXTRACTOR_METAFORMAT_UTF8,
331 EXTRACTOR_METAFORMAT_UTF8, 332 "text/plain",
332 "text/plain", 333 "video/x-vp6-flash",
333 "video/x-vp6-flash", 334 strlen ("video/x-vp6-flash") + 1,
334 strlen ("video/x-vp6-flash") + 1, 335 0
335 0 336 },
336 }, 337 {
337 { 338 EXTRACTOR_METATYPE_VIDEO_DURATION,
338 EXTRACTOR_METATYPE_VIDEO_DURATION, 339 EXTRACTOR_METAFORMAT_UTF8,
339 EXTRACTOR_METAFORMAT_UTF8, 340 "text/plain",
340 "text/plain", 341 "0:00:06.000000000",
341 "0:00:06.000000000", 342 strlen ("0:00:06.000000000") + 1,
342 strlen ("0:00:06.000000000") + 1, 343 0
343 0 344 },
344 }, 345 {
345 { 346 EXTRACTOR_METATYPE_AUDIO_CODEC,
346 EXTRACTOR_METATYPE_AUDIO_CODEC, 347 EXTRACTOR_METAFORMAT_UTF8,
347 EXTRACTOR_METAFORMAT_UTF8, 348 "text/plain",
348 "text/plain", 349 "MPEG-1 Layer 3 (MP3)",
349 "MPEG-1 Layer 3 (MP3)", 350 strlen ("MPEG-1 Layer 3 (MP3)") + 1,
350 strlen ("MPEG-1 Layer 3 (MP3)") + 1, 351 0
351 0 352 },
352 }, 353 {
353 { 354 EXTRACTOR_METATYPE_VIDEO_CODEC,
354 EXTRACTOR_METATYPE_VIDEO_CODEC, 355 EXTRACTOR_METAFORMAT_UTF8,
355 EXTRACTOR_METAFORMAT_UTF8, 356 "text/plain",
356 "text/plain", 357 "On2 VP6/Flash",
357 "On2 VP6/Flash", 358 strlen ("On2 VP6/Flash") + 1,
358 strlen ("On2 VP6/Flash") + 1, 359 0
359 0 360 },
360 }, 361 {
361 { 362 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS,
362 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS, 363 EXTRACTOR_METAFORMAT_UTF8,
363 EXTRACTOR_METAFORMAT_UTF8, 364 "text/plain",
364 "text/plain", 365 "368x288",
365 "368x288", 366 strlen ("368x288") + 1,
366 strlen ("368x288") + 1, 367 0
367 0 368 },
368 }, 369 {
369 { 370 EXTRACTOR_METATYPE_FRAME_RATE,
370 EXTRACTOR_METATYPE_FRAME_RATE, 371 EXTRACTOR_METAFORMAT_UTF8,
371 EXTRACTOR_METAFORMAT_UTF8, 372 "text/plain",
372 "text/plain", 373 "10/1",
373 "10/1", 374 strlen ("10/1") + 1,
374 strlen ("10/1") + 1, 375 0
375 0 376 },
376 }, 377 {
377 { 378 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO,
378 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO, 379 EXTRACTOR_METAFORMAT_UTF8,
379 EXTRACTOR_METAFORMAT_UTF8, 380 "text/plain",
380 "text/plain", 381 "1/1",
381 "1/1", 382 strlen ("1/1") + 1,
382 strlen ("1/1") + 1, 383 0
383 0 384 },
384 }, 385 {
385 { 386 EXTRACTOR_METATYPE_MIMETYPE,
386 EXTRACTOR_METATYPE_MIMETYPE, 387 EXTRACTOR_METAFORMAT_UTF8,
387 EXTRACTOR_METAFORMAT_UTF8, 388 "text/plain",
388 "text/plain", 389 "audio/mpeg",
389 "audio/mpeg", 390 strlen ("audio/mpeg") + 1,
390 strlen ("audio/mpeg") + 1, 391 0
391 0 392 },
392 }, 393 {
393 { 394 EXTRACTOR_METATYPE_UNKNOWN,
394 EXTRACTOR_METATYPE_UNKNOWN, 395 EXTRACTOR_METAFORMAT_UTF8,
395 EXTRACTOR_METAFORMAT_UTF8, 396 "text/plain",
396 "text/plain", 397 "mpegversion=1",
397 "mpegversion=1", 398 strlen ("mpegversion=1") + 1,
398 strlen ("mpegversion=1") + 1, 399 0
399 0 400 },
400 }, 401 {
401 { 402 EXTRACTOR_METATYPE_UNKNOWN,
402 EXTRACTOR_METATYPE_UNKNOWN, 403 EXTRACTOR_METAFORMAT_UTF8,
403 EXTRACTOR_METAFORMAT_UTF8, 404 "text/plain",
404 "text/plain", 405 "mpegaudioversion=1",
405 "mpegaudioversion=1", 406 strlen ("mpegaudioversion=1") + 1,
406 strlen ("mpegaudioversion=1") + 1, 407 0
407 0 408 },
408 }, 409 {
409 { 410 EXTRACTOR_METATYPE_UNKNOWN,
410 EXTRACTOR_METATYPE_UNKNOWN, 411 EXTRACTOR_METAFORMAT_UTF8,
411 EXTRACTOR_METAFORMAT_UTF8, 412 "text/plain",
412 "text/plain", 413 "layer=3",
413 "layer=3", 414 strlen ("layer=3") + 1,
414 strlen ("layer=3") + 1, 415 0
415 0 416 },
416 }, 417 {
417 { 418 EXTRACTOR_METATYPE_UNKNOWN,
418 EXTRACTOR_METATYPE_UNKNOWN, 419 EXTRACTOR_METAFORMAT_UTF8,
419 EXTRACTOR_METAFORMAT_UTF8, 420 "text/plain",
420 "text/plain", 421 "parsed=true",
421 "parsed=true", 422 strlen ("parsed=true") + 1,
422 strlen ("parsed=true") + 1, 423 0
423 0 424 },
424 }, 425 {
425 { 426 EXTRACTOR_METATYPE_AUDIO_DURATION,
426 EXTRACTOR_METATYPE_AUDIO_DURATION, 427 EXTRACTOR_METAFORMAT_UTF8,
427 EXTRACTOR_METAFORMAT_UTF8, 428 "text/plain",
428 "text/plain", 429 "0:00:06.000000000",
429 "0:00:06.000000000", 430 strlen ("0:00:06.000000000") + 1,
430 strlen ("0:00:06.000000000") + 1, 431 0
431 0 432 },
432 }, 433 /* Yes, again. This seems to be a bug/feature of the element that
433 /* Yes, again. This seems to be a bug/feature of the element that 434 * gives us these streams; this doesn't happen when discovering
434 * gives us these streams; this doesn't happen when discovering 435 * Matroska files, for example. Or maybe file itself is made that way.
435 * Matroska files, for example. Or maybe file itself is made that way. 436 */
436 */ 437 {
437 { 438 EXTRACTOR_METATYPE_AUDIO_CODEC,
438 EXTRACTOR_METATYPE_AUDIO_CODEC, 439 EXTRACTOR_METAFORMAT_UTF8,
439 EXTRACTOR_METAFORMAT_UTF8, 440 "text/plain",
440 "text/plain", 441 "MPEG-1 Layer 3 (MP3)",
441 "MPEG-1 Layer 3 (MP3)", 442 strlen ("MPEG-1 Layer 3 (MP3)") + 1,
442 strlen ("MPEG-1 Layer 3 (MP3)") + 1, 443 0
443 0 444 },
444 }, 445 {
445 { 446 EXTRACTOR_METATYPE_VIDEO_CODEC,
446 EXTRACTOR_METATYPE_VIDEO_CODEC, 447 EXTRACTOR_METAFORMAT_UTF8,
447 EXTRACTOR_METAFORMAT_UTF8, 448 "text/plain",
448 "text/plain", 449 "On2 VP6/Flash",
449 "On2 VP6/Flash", 450 strlen ("On2 VP6/Flash") + 1,
450 strlen ("On2 VP6/Flash") + 1, 451 0
451 0 452 },
452 }, 453 {
453 { 454 EXTRACTOR_METATYPE_UNKNOWN,
454 EXTRACTOR_METATYPE_UNKNOWN, 455 EXTRACTOR_METAFORMAT_UTF8,
455 EXTRACTOR_METAFORMAT_UTF8, 456 "text/plain",
456 "text/plain", 457 "has-crc=false",
457 "has-crc=false", 458 strlen ("has-crc=false") + 1,
458 strlen ("has-crc=false") + 1, 459 0
459 0 460 },
460 }, 461 {
461 { 462 EXTRACTOR_METATYPE_UNKNOWN,
462 EXTRACTOR_METATYPE_UNKNOWN, 463 EXTRACTOR_METAFORMAT_UTF8,
463 EXTRACTOR_METAFORMAT_UTF8, 464 "text/plain",
464 "text/plain", 465 "channel-mode=joint-stereo",
465 "channel-mode=joint-stereo", 466 strlen ("channel-mode=joint-stereo") + 1,
466 strlen ("channel-mode=joint-stereo") + 1, 467 0
467 0 468 },
468 }, 469 {
469 { 470 EXTRACTOR_METATYPE_CHANNELS,
470 EXTRACTOR_METATYPE_CHANNELS, 471 EXTRACTOR_METAFORMAT_UTF8,
471 EXTRACTOR_METAFORMAT_UTF8, 472 "text/plain",
472 "text/plain", 473 "2",
473 "2", 474 strlen ("2") + 1,
474 strlen ("2") + 1, 475 0
475 0 476 },
476 }, 477 {
477 { 478 EXTRACTOR_METATYPE_SAMPLE_RATE,
478 EXTRACTOR_METATYPE_SAMPLE_RATE, 479 EXTRACTOR_METAFORMAT_UTF8,
479 EXTRACTOR_METAFORMAT_UTF8, 480 "text/plain",
480 "text/plain", 481 "44100",
481 "44100", 482 strlen ("44100") + 1,
482 strlen ("44100") + 1, 483 0
483 0 484 },
484 }, 485 {
485 { 486 EXTRACTOR_METATYPE_AUDIO_BITRATE,
486 EXTRACTOR_METATYPE_AUDIO_BITRATE, 487 EXTRACTOR_METAFORMAT_UTF8,
487 EXTRACTOR_METAFORMAT_UTF8, 488 "text/plain",
488 "text/plain", 489 "96000",
489 "96000", 490 strlen ("96000") + 1,
490 strlen ("96000") + 1, 491 0
491 0 492 },
492 }, 493 { 0, 0, NULL, NULL, 0, -1 }
493 { 0, 0, NULL, NULL, 0, -1 } 494 };
494 }; 495 struct ProblemSet ps[] = {
495 struct ProblemSet ps[] = 496 { "testdata/gstreamer_barsandtone.flv", barsandtone_sol },
496 { 497 { NULL, NULL }
497 { "testdata/gstreamer_barsandtone.flv", barsandtone_sol }, 498 };
498 { NULL, NULL }
499 };
500 g_print ("Running flv test on GStreamer:\n"); 499 g_print ("Running flv test on GStreamer:\n");
501 test_result = (0 == ET_main ("gstreamer", ps) ? 0 : 1); 500 test_result = (0 == ET_main ("gstreamer", ps) ? 0 : 1);
502 g_print ("flv GStreamer test result: %s\n", test_result == 0 ? "OK" : "FAILED"); 501 g_print ("flv GStreamer test result: %s\n", test_result == 0 ? "OK" :
502 "FAILED");
503 result += test_result; 503 result += test_result;
504 } 504 }
505 pre_test = discoverer_main (dc, "testdata/gstreamer_sample_sorenson.mov"); 505 pre_test = discoverer_main (dc, "testdata/gstreamer_sample_sorenson.mov");
506 if (pre_test != GST_DISCOVERER_MISSING_PLUGINS) 506 if (pre_test != GST_DISCOVERER_MISSING_PLUGINS)
507 { 507 {
508 int test_result; 508 int test_result;
509 struct SolutionData sample_sorenson_sol[] = 509 struct SolutionData sample_sorenson_sol[] = {
510 { 510 {
511 { 511 EXTRACTOR_METATYPE_DURATION,
512 EXTRACTOR_METATYPE_DURATION, 512 EXTRACTOR_METAFORMAT_UTF8,
513 EXTRACTOR_METAFORMAT_UTF8, 513 "text/plain",
514 "text/plain", 514 "0:00:05.000000000",
515 "0:00:05.000000000", 515 strlen ("0:00:05.000000000") + 1,
516 strlen ("0:00:05.000000000") + 1, 516 0
517 0 517 },
518 }, 518 {
519 { 519 EXTRACTOR_METATYPE_MIMETYPE,
520 EXTRACTOR_METATYPE_MIMETYPE, 520 EXTRACTOR_METAFORMAT_UTF8,
521 EXTRACTOR_METAFORMAT_UTF8, 521 "text/plain",
522 "text/plain", 522 "video/quicktime",
523 "video/quicktime", 523 strlen ("video/quicktime") + 1,
524 strlen ("video/quicktime") + 1, 524 0
525 0 525 },
526 }, 526 {
527 { 527 EXTRACTOR_METATYPE_MIMETYPE,
528 EXTRACTOR_METATYPE_MIMETYPE, 528 EXTRACTOR_METAFORMAT_UTF8,
529 EXTRACTOR_METAFORMAT_UTF8, 529 "text/plain",
530 "text/plain", 530 "audio/x-qdm2",
531 "audio/x-qdm2", 531 strlen ("audio/x-qdm2") + 1,
532 strlen ("audio/x-qdm2") + 1, 532 0
533 0 533 },
534 }, 534 {
535 { 535 EXTRACTOR_METATYPE_UNKNOWN,
536 EXTRACTOR_METATYPE_UNKNOWN, 536 EXTRACTOR_METAFORMAT_UTF8,
537 EXTRACTOR_METAFORMAT_UTF8, 537 "text/plain",
538 "text/plain", 538 "samplesize=16",
539 "samplesize=16", 539 strlen ("samplesize=16") + 1,
540 strlen ("samplesize=16") + 1, 540 0
541 0 541 },
542 }, 542 {
543 { 543 EXTRACTOR_METATYPE_AUDIO_CODEC,
544 EXTRACTOR_METATYPE_AUDIO_CODEC, 544 EXTRACTOR_METAFORMAT_UTF8,
545 EXTRACTOR_METAFORMAT_UTF8, 545 "text/plain",
546 "text/plain", 546 "QDesign Music v.2",
547 "QDesign Music v.2", 547 strlen ("QDesign Music v.2") + 1,
548 strlen ("QDesign Music v.2") + 1, 548 0
549 0 549 },
550 }, 550 {
551 { 551 EXTRACTOR_METATYPE_CREATION_TIME,
552 EXTRACTOR_METATYPE_CREATION_TIME, 552 EXTRACTOR_METAFORMAT_UTF8,
553 EXTRACTOR_METAFORMAT_UTF8, 553 "text/plain",
554 "text/plain", 554 "2001-02-19T16:45:54Z",
555 "2001-02-19T16:45:54Z", 555 strlen ("2001-02-19T16:45:54Z") + 1,
556 strlen ("2001-02-19T16:45:54Z") + 1, 556 0
557 0 557 },
558 }, 558 {
559 { 559 EXTRACTOR_METATYPE_TITLE,
560 EXTRACTOR_METATYPE_TITLE, 560 EXTRACTOR_METAFORMAT_UTF8,
561 EXTRACTOR_METAFORMAT_UTF8, 561 "text/plain",
562 "text/plain", 562 "QuickTime Sample Movie",
563 "QuickTime Sample Movie", 563 strlen ("QuickTime Sample Movie") + 1,
564 strlen ("QuickTime Sample Movie") + 1, 564 0
565 0 565 },
566 }, 566 {
567 { 567 EXTRACTOR_METATYPE_COPYRIGHT,
568 EXTRACTOR_METATYPE_COPYRIGHT, 568 EXTRACTOR_METAFORMAT_UTF8,
569 EXTRACTOR_METAFORMAT_UTF8, 569 "text/plain",
570 "text/plain", 570 "© Apple Computer, Inc. 2001",
571 "© Apple Computer, Inc. 2001", 571 strlen ("© Apple Computer, Inc. 2001") + 1,
572 strlen ("© Apple Computer, Inc. 2001") + 1, 572 0
573 0 573 },
574 }, 574 {
575 { 575 EXTRACTOR_METATYPE_CONTAINER_FORMAT,
576 EXTRACTOR_METATYPE_CONTAINER_FORMAT, 576 EXTRACTOR_METAFORMAT_UTF8,
577 EXTRACTOR_METAFORMAT_UTF8, 577 "text/plain",
578 "text/plain", 578 "ISO MP4/M4A",
579 "ISO MP4/M4A", 579 strlen ("ISO MP4/M4A") + 1,
580 strlen ("ISO MP4/M4A") + 1, 580 0
581 0 581 },
582 }, 582 {
583 { 583 EXTRACTOR_METATYPE_AUDIO_LANGUAGE,
584 EXTRACTOR_METATYPE_AUDIO_LANGUAGE, 584 EXTRACTOR_METAFORMAT_UTF8,
585 EXTRACTOR_METAFORMAT_UTF8, 585 "text/plain",
586 "text/plain", 586 "en",
587 "en", 587 strlen ("en") + 1,
588 strlen ("en") + 1, 588 0
589 0 589 },
590 }, 590 {
591 { 591 EXTRACTOR_METATYPE_CHANNELS,
592 EXTRACTOR_METATYPE_CHANNELS, 592 EXTRACTOR_METAFORMAT_UTF8,
593 EXTRACTOR_METAFORMAT_UTF8, 593 "text/plain",
594 "text/plain", 594 "2",
595 "2", 595 strlen ("2") + 1,
596 strlen ("2") + 1, 596 0
597 0 597 },
598 }, 598 {
599 { 599 EXTRACTOR_METATYPE_SAMPLE_RATE,
600 EXTRACTOR_METATYPE_SAMPLE_RATE, 600 EXTRACTOR_METAFORMAT_UTF8,
601 EXTRACTOR_METAFORMAT_UTF8, 601 "text/plain",
602 "text/plain", 602 "22050",
603 "22050", 603 strlen ("22050") + 1,
604 strlen ("22050") + 1, 604 0
605 0 605 },
606 }, 606 {
607 { 607 EXTRACTOR_METATYPE_MIMETYPE,
608 EXTRACTOR_METATYPE_MIMETYPE, 608 EXTRACTOR_METAFORMAT_UTF8,
609 EXTRACTOR_METAFORMAT_UTF8, 609 "text/plain",
610 "text/plain", 610 "video/x-svq",
611 "video/x-svq", 611 strlen ("video/x-svq") + 1,
612 strlen ("video/x-svq") + 1, 612 0
613 0 613 },
614 }, 614 {
615 { 615 EXTRACTOR_METATYPE_UNKNOWN,
616 EXTRACTOR_METATYPE_UNKNOWN, 616 EXTRACTOR_METAFORMAT_UTF8,
617 EXTRACTOR_METAFORMAT_UTF8, 617 "text/plain",
618 "text/plain", 618 "svqversion=1",
619 "svqversion=1", 619 strlen ("svqversion=1") + 1,
620 strlen ("svqversion=1") + 1, 620 0
621 0 621 },
622 }, 622 /* Yep, again... */
623 /* Yep, again... */ 623 {
624 { 624 EXTRACTOR_METATYPE_CREATION_TIME,
625 EXTRACTOR_METATYPE_CREATION_TIME, 625 EXTRACTOR_METAFORMAT_UTF8,
626 EXTRACTOR_METAFORMAT_UTF8, 626 "text/plain",
627 "text/plain", 627 "2001-02-19T16:45:54Z",
628 "2001-02-19T16:45:54Z", 628 strlen ("2001-02-19T16:45:54Z") + 1,
629 strlen ("2001-02-19T16:45:54Z") + 1, 629 0
630 0 630 },
631 }, 631 {
632 { 632 EXTRACTOR_METATYPE_TITLE,
633 EXTRACTOR_METATYPE_TITLE, 633 EXTRACTOR_METAFORMAT_UTF8,
634 EXTRACTOR_METAFORMAT_UTF8, 634 "text/plain",
635 "text/plain", 635 "QuickTime Sample Movie",
636 "QuickTime Sample Movie", 636 strlen ("QuickTime Sample Movie") + 1,
637 strlen ("QuickTime Sample Movie") + 1, 637 0
638 0 638 },
639 }, 639 {
640 { 640 EXTRACTOR_METATYPE_COPYRIGHT,
641 EXTRACTOR_METATYPE_COPYRIGHT, 641 EXTRACTOR_METAFORMAT_UTF8,
642 EXTRACTOR_METAFORMAT_UTF8, 642 "text/plain",
643 "text/plain", 643 "© Apple Computer, Inc. 2001",
644 "© Apple Computer, Inc. 2001", 644 strlen ("© Apple Computer, Inc. 2001") + 1,
645 strlen ("© Apple Computer, Inc. 2001") + 1, 645 0
646 0 646 },
647 }, 647 {
648 { 648 EXTRACTOR_METATYPE_CONTAINER_FORMAT,
649 EXTRACTOR_METATYPE_CONTAINER_FORMAT, 649 EXTRACTOR_METAFORMAT_UTF8,
650 EXTRACTOR_METAFORMAT_UTF8, 650 "text/plain",
651 "text/plain", 651 "ISO MP4/M4A",
652 "ISO MP4/M4A", 652 strlen ("ISO MP4/M4A") + 1,
653 strlen ("ISO MP4/M4A") + 1, 653 0
654 0 654 },
655 }, 655 {
656 { 656 EXTRACTOR_METATYPE_VIDEO_CODEC,
657 EXTRACTOR_METATYPE_VIDEO_CODEC, 657 EXTRACTOR_METAFORMAT_UTF8,
658 EXTRACTOR_METAFORMAT_UTF8, 658 "text/plain",
659 "text/plain", 659 "Sorensen video v.1",
660 "Sorensen video v.1", 660 strlen ("Sorensen video v.1") + 1,
661 strlen ("Sorensen video v.1") + 1, 661 0
662 0 662 },
663 }, 663 {
664 { 664 EXTRACTOR_METATYPE_VIDEO_LANGUAGE,
665 EXTRACTOR_METATYPE_VIDEO_LANGUAGE, 665 EXTRACTOR_METAFORMAT_UTF8,
666 EXTRACTOR_METAFORMAT_UTF8, 666 "text/plain",
667 "text/plain", 667 "en",
668 "en", 668 strlen ("en") + 1,
669 strlen ("en") + 1, 669 0
670 0 670 },
671 }, 671 {
672 { 672 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS,
673 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS, 673 EXTRACTOR_METAFORMAT_UTF8,
674 EXTRACTOR_METAFORMAT_UTF8, 674 "text/plain",
675 "text/plain", 675 "190x240",
676 "190x240", 676 strlen ("190x240") + 1,
677 strlen ("190x240") + 1, 677 0
678 0 678 },
679 }, 679 {
680 { 680 EXTRACTOR_METATYPE_FRAME_RATE,
681 EXTRACTOR_METATYPE_FRAME_RATE, 681 EXTRACTOR_METAFORMAT_UTF8,
682 EXTRACTOR_METAFORMAT_UTF8, 682 "text/plain",
683 "text/plain", 683 "12/1",
684 "12/1", 684 strlen ("12/1") + 1,
685 strlen ("12/1") + 1, 685 0
686 0 686 },
687 }, 687 {
688 { 688 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO,
689 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO, 689 EXTRACTOR_METAFORMAT_UTF8,
690 EXTRACTOR_METAFORMAT_UTF8, 690 "text/plain",
691 "text/plain", 691 "1/1",
692 "1/1", 692 strlen ("1/1") + 1,
693 strlen ("1/1") + 1, 693 0
694 0 694 },
695 }, 695 { 0, 0, NULL, NULL, 0, -1 }
696 { 0, 0, NULL, NULL, 0, -1 } 696 };
697 }; 697 struct ProblemSet ps[] = {
698 struct ProblemSet ps[] = 698 { "testdata/gstreamer_sample_sorenson.mov", sample_sorenson_sol },
699 { 699 { NULL, NULL }
700 { "testdata/gstreamer_sample_sorenson.mov", sample_sorenson_sol }, 700 };
701 { NULL, NULL }
702 };
703 g_print ("Running mov test on GStreamer:\n"); 701 g_print ("Running mov test on GStreamer:\n");
704 test_result = (0 == ET_main ("gstreamer", ps) ? 0 : 1); 702 test_result = (0 == ET_main ("gstreamer", ps) ? 0 : 1);
705 g_print ("mov GStreamer test result: %s\n", test_result == 0 ? "OK" : "FAILED"); 703 g_print ("mov GStreamer test result: %s\n", test_result == 0 ? "OK" :
704 "FAILED");
706 result += test_result; 705 result += test_result;
707 } 706 }
708 707
@@ -711,956 +710,957 @@ main (int argc, char *argv[])
711 { 710 {
712 int result_stock; 711 int result_stock;
713 int result_patched; 712 int result_patched;
714 struct SolutionData matroska_flame_stock_sol[] = 713 struct SolutionData matroska_flame_stock_sol[] = {
715 { 714 {
716 { 715 EXTRACTOR_METATYPE_DURATION,
717 EXTRACTOR_METATYPE_DURATION, 716 EXTRACTOR_METAFORMAT_UTF8,
718 EXTRACTOR_METAFORMAT_UTF8, 717 "text/plain",
719 "text/plain", 718 "0:00:03.143000000",
720 "0:00:03.143000000", 719 strlen ("0:00:03.143000000") + 1,
721 strlen ("0:00:03.143000000") + 1, 720 0
722 0 721 },
723 }, 722 {
724 { 723 EXTRACTOR_METATYPE_MIMETYPE,
725 EXTRACTOR_METATYPE_MIMETYPE, 724 EXTRACTOR_METAFORMAT_UTF8,
726 EXTRACTOR_METAFORMAT_UTF8, 725 "text/plain",
727 "text/plain", 726 "video/x-matroska",
728 "video/x-matroska", 727 strlen ("video/x-matroska") + 1,
729 strlen ("video/x-matroska") + 1, 728 0
730 0 729 },
731 }, 730 {
732 { 731 EXTRACTOR_METATYPE_MIMETYPE,
733 EXTRACTOR_METATYPE_MIMETYPE, 732 EXTRACTOR_METAFORMAT_UTF8,
734 EXTRACTOR_METAFORMAT_UTF8, 733 "text/plain",
735 "text/plain", 734 "video/x-indeo",
736 "video/x-indeo", 735 strlen ("video/x-indeo") + 1,
737 strlen ("video/x-indeo") + 1, 736 0
738 0 737 },
739 }, 738 {
740 { 739 EXTRACTOR_METATYPE_UNKNOWN,
741 EXTRACTOR_METATYPE_UNKNOWN, 740 EXTRACTOR_METAFORMAT_UTF8,
742 EXTRACTOR_METAFORMAT_UTF8, 741 "text/plain",
743 "text/plain", 742 "indeoversion=4",
744 "indeoversion=4", 743 strlen ("indeoversion=4") + 1,
745 strlen ("indeoversion=4") + 1, 744 0
746 0 745 },
747 }, 746 {
748 { 747 EXTRACTOR_METATYPE_TITLE,
749 EXTRACTOR_METATYPE_TITLE, 748 EXTRACTOR_METAFORMAT_UTF8,
750 EXTRACTOR_METAFORMAT_UTF8, 749 "text/plain",
751 "text/plain", 750 "filesegmenttitle",
752 "filesegmenttitle", 751 strlen ("filesegmenttitle") + 1,
753 strlen ("filesegmenttitle") + 1, 752 0
754 0 753 },
755 }, 754 {
756 { 755 EXTRACTOR_METATYPE_TITLE,
757 EXTRACTOR_METATYPE_TITLE, 756 EXTRACTOR_METAFORMAT_UTF8,
758 EXTRACTOR_METAFORMAT_UTF8, 757 "text/plain",
759 "text/plain", 758 "TITLE",
760 "TITLE", 759 strlen ("TITLE") + 1,
761 strlen ("TITLE") + 1, 760 0
762 0 761 },
763 }, 762 {
764 { 763 EXTRACTOR_METATYPE_ARTIST,
765 EXTRACTOR_METATYPE_ARTIST, 764 EXTRACTOR_METAFORMAT_UTF8,
766 EXTRACTOR_METAFORMAT_UTF8, 765 "text/plain",
767 "text/plain", 766 "ALBUM/ARTIST",
768 "ALBUM/ARTIST", 767 strlen ("ALBUM/ARTIST") + 1,
769 strlen ("ALBUM/ARTIST") + 1, 768 0
770 0 769 },
771 }, 770 {
772 { 771 EXTRACTOR_METATYPE_ARTIST,
773 EXTRACTOR_METATYPE_ARTIST, 772 EXTRACTOR_METAFORMAT_UTF8,
774 EXTRACTOR_METAFORMAT_UTF8, 773 "text/plain",
775 "text/plain", 774 "ARTIST",
776 "ARTIST", 775 strlen ("ARTIST") + 1,
777 strlen ("ARTIST") + 1, 776 0
778 0 777 },
779 }, 778 {
780 { 779 EXTRACTOR_METATYPE_COPYRIGHT,
781 EXTRACTOR_METATYPE_COPYRIGHT, 780 EXTRACTOR_METAFORMAT_UTF8,
782 EXTRACTOR_METAFORMAT_UTF8, 781 "text/plain",
783 "text/plain", 782 "COPYRIGHT",
784 "COPYRIGHT", 783 strlen ("COPYRIGHT") + 1,
785 strlen ("COPYRIGHT") + 1, 784 0
786 0 785 },
787 }, 786 {
788 { 787 EXTRACTOR_METATYPE_COMPOSER,
789 EXTRACTOR_METATYPE_COMPOSER, 788 EXTRACTOR_METAFORMAT_UTF8,
790 EXTRACTOR_METAFORMAT_UTF8, 789 "text/plain",
791 "text/plain", 790 "COMPOSER",
792 "COMPOSER", 791 strlen ("COMPOSER") + 1,
793 strlen ("COMPOSER") + 1, 792 0
794 0 793 },
795 }, 794 {
796 { 795 EXTRACTOR_METATYPE_GENRE,
797 EXTRACTOR_METATYPE_GENRE, 796 EXTRACTOR_METAFORMAT_UTF8,
798 EXTRACTOR_METAFORMAT_UTF8, 797 "text/plain",
799 "text/plain", 798 "GENRE",
800 "GENRE", 799 strlen ("GENRE") + 1,
801 strlen ("GENRE") + 1, 800 0
802 0 801 },
803 }, 802 {
804 { 803 EXTRACTOR_METATYPE_ENCODER,
805 EXTRACTOR_METATYPE_ENCODER, 804 EXTRACTOR_METAFORMAT_UTF8,
806 EXTRACTOR_METAFORMAT_UTF8, 805 "text/plain",
807 "text/plain", 806 "ENCODER",
808 "ENCODER", 807 strlen ("ENCODER") + 1,
809 strlen ("ENCODER") + 1, 808 0
810 0 809 },
811 }, 810 {
812 { 811 EXTRACTOR_METATYPE_ISRC,
813 EXTRACTOR_METATYPE_ISRC, 812 EXTRACTOR_METAFORMAT_UTF8,
814 EXTRACTOR_METAFORMAT_UTF8, 813 "text/plain",
815 "text/plain", 814 "ISRC",
816 "ISRC", 815 strlen ("ISRC") + 1,
817 strlen ("ISRC") + 1, 816 0
818 0 817 },
819 }, 818 {
820 { 819 EXTRACTOR_METATYPE_CONTAINER_FORMAT,
821 EXTRACTOR_METATYPE_CONTAINER_FORMAT, 820 EXTRACTOR_METAFORMAT_UTF8,
822 EXTRACTOR_METAFORMAT_UTF8, 821 "text/plain",
823 "text/plain", 822 "Matroska",
824 "Matroska", 823 strlen ("Matroska") + 1,
825 strlen ("Matroska") + 1, 824 0
826 0 825 },
827 }, 826 {
828 { 827 EXTRACTOR_METATYPE_VIDEO_CODEC,
829 EXTRACTOR_METATYPE_VIDEO_CODEC, 828 EXTRACTOR_METAFORMAT_UTF8,
830 EXTRACTOR_METAFORMAT_UTF8, 829 "text/plain",
831 "text/plain", 830 "Intel Video 4",
832 "Intel Video 4", 831 strlen ("Intel Video 4") + 1,
833 strlen ("Intel Video 4") + 1, 832 0
834 0 833 },
835 }, 834 {
836 { 835 EXTRACTOR_METATYPE_VIDEO_LANGUAGE,
837 EXTRACTOR_METATYPE_VIDEO_LANGUAGE, 836 EXTRACTOR_METAFORMAT_UTF8,
838 EXTRACTOR_METAFORMAT_UTF8, 837 "text/plain",
839 "text/plain", 838 "it",
840 "it", 839 strlen ("it") + 1,
841 strlen ("it") + 1, 840 0
842 0 841 },
843 }, 842 {
844 { 843 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS,
845 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS, 844 EXTRACTOR_METAFORMAT_UTF8,
846 EXTRACTOR_METAFORMAT_UTF8, 845 "text/plain",
847 "text/plain", 846 "256x240",
848 "256x240", 847 strlen ("256x240") + 1,
849 strlen ("256x240") + 1, 848 0
850 0 849 },
851 }, 850 {
852 { 851 EXTRACTOR_METATYPE_FRAME_RATE,
853 EXTRACTOR_METATYPE_FRAME_RATE, 852 EXTRACTOR_METAFORMAT_UTF8,
854 EXTRACTOR_METAFORMAT_UTF8, 853 "text/plain",
855 "text/plain", 854 "35/1",
856 "35/1", 855 strlen ("35/1") + 1,
857 strlen ("35/1") + 1, 856 0
858 0 857 },
859 }, 858 {
860 { 859 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO,
861 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO, 860 EXTRACTOR_METAFORMAT_UTF8,
862 EXTRACTOR_METAFORMAT_UTF8, 861 "text/plain",
863 "text/plain", 862 "1/1",
864 "1/1", 863 strlen ("1/1") + 1,
865 strlen ("1/1") + 1, 864 0
866 0 865 },
867 }, 866 { 0, 0, NULL, NULL, 0, -1 }
868 { 0, 0, NULL, NULL, 0, -1 } 867 };
869 }; 868 struct ProblemSet stock_ps[] = {
870 struct ProblemSet stock_ps[] = 869 { "testdata/matroska_flame.mkv", matroska_flame_stock_sol },
871 { 870 { NULL, NULL }
872 { "testdata/matroska_flame.mkv", matroska_flame_stock_sol }, 871 };
873 { NULL, NULL }
874 };
875 872
876 873
877 struct SolutionData matroska_flame_patched_sol[] = 874 struct SolutionData matroska_flame_patched_sol[] = {
878 { 875 {
879 { 876 EXTRACTOR_METATYPE_DURATION,
880 EXTRACTOR_METATYPE_DURATION, 877 EXTRACTOR_METAFORMAT_UTF8,
881 EXTRACTOR_METAFORMAT_UTF8, 878 "text/plain",
882 "text/plain", 879 "0:00:03.143000000",
883 "0:00:03.143000000", 880 strlen ("0:00:03.143000000") + 1,
884 strlen ("0:00:03.143000000") + 1, 881 0
885 0 882 },
886 }, 883 {
887 { 884 EXTRACTOR_METATYPE_MIMETYPE,
888 EXTRACTOR_METATYPE_MIMETYPE, 885 EXTRACTOR_METAFORMAT_UTF8,
889 EXTRACTOR_METAFORMAT_UTF8, 886 "text/plain",
890 "text/plain", 887 "video/x-matroska",
891 "video/x-matroska", 888 strlen ("video/x-matroska") + 1,
892 strlen ("video/x-matroska") + 1, 889 0
893 0 890 },
894 }, 891 {
895 { 892 EXTRACTOR_METATYPE_MIMETYPE,
896 EXTRACTOR_METATYPE_MIMETYPE, 893 EXTRACTOR_METAFORMAT_UTF8,
897 EXTRACTOR_METAFORMAT_UTF8, 894 "text/plain",
898 "text/plain", 895 "video/x-indeo",
899 "video/x-indeo", 896 strlen ("video/x-indeo") + 1,
900 strlen ("video/x-indeo") + 1, 897 0
901 0 898 },
902 }, 899 {
903 { 900 EXTRACTOR_METATYPE_UNKNOWN,
904 EXTRACTOR_METATYPE_UNKNOWN, 901 EXTRACTOR_METAFORMAT_UTF8,
905 EXTRACTOR_METAFORMAT_UTF8, 902 "text/plain",
906 "text/plain", 903 "indeoversion=4",
907 "indeoversion=4", 904 strlen ("indeoversion=4") + 1,
908 strlen ("indeoversion=4") + 1, 905 0
909 0 906 },
910 }, 907 {
911 { 908 EXTRACTOR_METATYPE_TITLE,
912 EXTRACTOR_METATYPE_TITLE, 909 EXTRACTOR_METAFORMAT_UTF8,
913 EXTRACTOR_METAFORMAT_UTF8, 910 "text/plain",
914 "text/plain", 911 "filesegmenttitle",
915 "filesegmenttitle", 912 strlen ("filesegmenttitle") + 1,
916 strlen ("filesegmenttitle") + 1, 913 0
917 0 914 },
918 }, 915 {
919 { 916 EXTRACTOR_METATYPE_ALBUM,
920 EXTRACTOR_METATYPE_ALBUM, 917 EXTRACTOR_METAFORMAT_UTF8,
921 EXTRACTOR_METAFORMAT_UTF8, 918 "text/plain",
922 "text/plain", 919 "ALBUM/TITLE",
923 "ALBUM/TITLE", 920 strlen ("ALBUM/TITLE") + 1,
924 strlen ("ALBUM/TITLE") + 1, 921 0
925 0 922 },
926 }, 923 {
927 { 924 EXTRACTOR_METATYPE_TITLE,
928 EXTRACTOR_METATYPE_TITLE, 925 EXTRACTOR_METAFORMAT_UTF8,
929 EXTRACTOR_METAFORMAT_UTF8, 926 "text/plain",
930 "text/plain", 927 "TITLE",
931 "TITLE", 928 strlen ("TITLE") + 1,
932 strlen ("TITLE") + 1, 929 0
933 0 930 },
934 }, 931 {
935 { 932 EXTRACTOR_METATYPE_TITLE,
936 EXTRACTOR_METATYPE_TITLE, 933 EXTRACTOR_METAFORMAT_UTF8,
937 EXTRACTOR_METAFORMAT_UTF8, 934 "text/plain",
938 "text/plain", 935 "SUBTITLE",
939 "SUBTITLE", 936 strlen ("SUBTITLE") + 1,
940 strlen ("SUBTITLE") + 1, 937 0
941 0 938 },
942 }, 939 {
943 { 940 EXTRACTOR_METATYPE_TITLE,
944 EXTRACTOR_METATYPE_TITLE, 941 EXTRACTOR_METAFORMAT_UTF8,
945 EXTRACTOR_METAFORMAT_UTF8, 942 "text/plain",
946 "text/plain", 943 "VIDEO/TITLE",
947 "VIDEO/TITLE", 944 strlen ("VIDEO/TITLE") + 1,
948 strlen ("VIDEO/TITLE") + 1, 945 0
949 0 946 },
950 }, 947 {
951 { 948 EXTRACTOR_METATYPE_ARTIST,
952 EXTRACTOR_METATYPE_ARTIST, 949 EXTRACTOR_METAFORMAT_UTF8,
953 EXTRACTOR_METAFORMAT_UTF8, 950 "text/plain",
954 "text/plain", 951 "ALBUM/ARTIST",
955 "ALBUM/ARTIST", 952 strlen ("ALBUM/ARTIST") + 1,
956 strlen ("ALBUM/ARTIST") + 1, 953 0
957 0 954 },
958 }, 955 {
959 { 956 EXTRACTOR_METATYPE_ARTIST,
960 EXTRACTOR_METATYPE_ARTIST, 957 EXTRACTOR_METAFORMAT_UTF8,
961 EXTRACTOR_METAFORMAT_UTF8, 958 "text/plain",
962 "text/plain", 959 "ARTIST",
963 "ARTIST", 960 strlen ("ARTIST") + 1,
964 strlen ("ARTIST") + 1, 961 0
965 0 962 },
966 }, 963 {
967 { 964 EXTRACTOR_METATYPE_SONG_COUNT,
968 EXTRACTOR_METATYPE_SONG_COUNT, 965 EXTRACTOR_METAFORMAT_UTF8,
969 EXTRACTOR_METAFORMAT_UTF8, 966 "text/plain",
970 "text/plain", 967 "20",
971 "20", 968 strlen ("20") + 1,
972 strlen ("20") + 1, 969 0
973 0 970 },
974 }, 971 {
975 { 972 EXTRACTOR_METATYPE_UNKNOWN,
976 EXTRACTOR_METATYPE_UNKNOWN, 973 EXTRACTOR_METAFORMAT_UTF8,
977 EXTRACTOR_METAFORMAT_UTF8, 974 "text/plain",
978 "text/plain", 975 "PART_OFFSET=5",
979 "PART_OFFSET=5", 976 strlen ("PART_OFFSET=5") + 1,
980 strlen ("PART_OFFSET=5") + 1, 977 0
981 0 978 },
982 }, 979 {
983 { 980 EXTRACTOR_METATYPE_UNKNOWN,
984 EXTRACTOR_METATYPE_UNKNOWN, 981 EXTRACTOR_METAFORMAT_UTF8,
985 EXTRACTOR_METAFORMAT_UTF8, 982 "text/plain",
986 "text/plain", 983 "ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS",
987 "ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS", 984 strlen ("ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS") + 1,
988 strlen ("ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS") + 1, 985 0
989 0 986 },
990 }, 987 {
991 { 988 EXTRACTOR_METATYPE_UNKNOWN,
992 EXTRACTOR_METATYPE_UNKNOWN, 989 EXTRACTOR_METAFORMAT_UTF8,
993 EXTRACTOR_METAFORMAT_UTF8, 990 "text/plain",
994 "text/plain", 991 "LEAD_PERFORMER=LEAD_PERFORMER",
995 "LEAD_PERFORMER=LEAD_PERFORMER", 992 strlen ("LEAD_PERFORMER=LEAD_PERFORMER") + 1,
996 strlen ("LEAD_PERFORMER=LEAD_PERFORMER") + 1, 993 0
997 0 994 },
998 }, 995 {
999 { 996 EXTRACTOR_METATYPE_UNKNOWN,
1000 EXTRACTOR_METATYPE_UNKNOWN, 997 EXTRACTOR_METAFORMAT_UTF8,
1001 EXTRACTOR_METAFORMAT_UTF8, 998 "text/plain",
1002 "text/plain", 999 "ARRANGER=ARRANGER",
1003 "ARRANGER=ARRANGER", 1000 strlen ("ARRANGER=ARRANGER") + 1,
1004 strlen ("ARRANGER=ARRANGER") + 1, 1001 0
1005 0 1002 },
1006 }, 1003 {
1007 { 1004 EXTRACTOR_METATYPE_UNKNOWN,
1008 EXTRACTOR_METATYPE_UNKNOWN, 1005 EXTRACTOR_METAFORMAT_UTF8,
1009 EXTRACTOR_METAFORMAT_UTF8, 1006 "text/plain",
1010 "text/plain", 1007 "LYRICIST=LYRICIST",
1011 "LYRICIST=LYRICIST", 1008 strlen ("LYRICIST=LYRICIST") + 1,
1012 strlen ("LYRICIST=LYRICIST") + 1, 1009 0
1013 0 1010 },
1014 }, 1011 {
1015 { 1012 EXTRACTOR_METATYPE_MOVIE_DIRECTOR,
1016 EXTRACTOR_METATYPE_MOVIE_DIRECTOR, 1013 EXTRACTOR_METAFORMAT_UTF8,
1017 EXTRACTOR_METAFORMAT_UTF8, 1014 "text/plain",
1018 "text/plain", 1015 "DIRECTOR",
1019 "DIRECTOR", 1016 strlen ("DIRECTOR") + 1,
1020 strlen ("DIRECTOR") + 1, 1017 0
1021 0 1018 },
1022 }, 1019 {
1023 { 1020 EXTRACTOR_METATYPE_UNKNOWN,
1024 EXTRACTOR_METATYPE_UNKNOWN, 1021 EXTRACTOR_METAFORMAT_UTF8,
1025 EXTRACTOR_METAFORMAT_UTF8, 1022 "text/plain",
1026 "text/plain", 1023 "ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR",
1027 "ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR", 1024 strlen ("ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR") + 1,
1028 strlen ("ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR") + 1, 1025 0
1029 0 1026 },
1030 }, 1027 {
1031 { 1028 EXTRACTOR_METATYPE_UNKNOWN,
1032 EXTRACTOR_METATYPE_UNKNOWN, 1029 EXTRACTOR_METAFORMAT_UTF8,
1033 EXTRACTOR_METAFORMAT_UTF8, 1030 "text/plain",
1034 "text/plain", 1031 "DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY",
1035 "DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY", 1032 strlen ("DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY") + 1,
1036 strlen ("DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY") + 1, 1033 0
1037 0 1034 },
1038 }, 1035 {
1039 { 1036 EXTRACTOR_METATYPE_UNKNOWN,
1040 EXTRACTOR_METATYPE_UNKNOWN, 1037 EXTRACTOR_METAFORMAT_UTF8,
1041 EXTRACTOR_METAFORMAT_UTF8, 1038 "text/plain",
1042 "text/plain", 1039 "SOUND_ENGINEER=SOUND_ENGINEER",
1043 "SOUND_ENGINEER=SOUND_ENGINEER", 1040 strlen ("SOUND_ENGINEER=SOUND_ENGINEER") + 1,
1044 strlen ("SOUND_ENGINEER=SOUND_ENGINEER") + 1, 1041 0
1045 0 1042 },
1046 }, 1043 {
1047 { 1044 EXTRACTOR_METATYPE_UNKNOWN,
1048 EXTRACTOR_METATYPE_UNKNOWN, 1045 EXTRACTOR_METAFORMAT_UTF8,
1049 EXTRACTOR_METAFORMAT_UTF8, 1046 "text/plain",
1050 "text/plain", 1047 "ART_DIRECTOR=ART_DIRECTOR",
1051 "ART_DIRECTOR=ART_DIRECTOR", 1048 strlen ("ART_DIRECTOR=ART_DIRECTOR") + 1,
1052 strlen ("ART_DIRECTOR=ART_DIRECTOR") + 1, 1049 0
1053 0 1050 },
1054 }, 1051 {
1055 { 1052 EXTRACTOR_METATYPE_UNKNOWN,
1056 EXTRACTOR_METATYPE_UNKNOWN, 1053 EXTRACTOR_METAFORMAT_UTF8,
1057 EXTRACTOR_METAFORMAT_UTF8, 1054 "text/plain",
1058 "text/plain", 1055 "PRODUCTION_DESIGNER=PRODUCTION_DESIGNER",
1059 "PRODUCTION_DESIGNER=PRODUCTION_DESIGNER", 1056 strlen ("PRODUCTION_DESIGNER=PRODUCTION_DESIGNER") + 1,
1060 strlen ("PRODUCTION_DESIGNER=PRODUCTION_DESIGNER") + 1, 1057 0
1061 0 1058 },
1062 }, 1059 {
1063 { 1060 EXTRACTOR_METATYPE_UNKNOWN,
1064 EXTRACTOR_METATYPE_UNKNOWN, 1061 EXTRACTOR_METAFORMAT_UTF8,
1065 EXTRACTOR_METAFORMAT_UTF8, 1062 "text/plain",
1066 "text/plain", 1063 "CHOREGRAPHER=CHOREGRAPHER",
1067 "CHOREGRAPHER=CHOREGRAPHER", 1064 strlen ("CHOREGRAPHER=CHOREGRAPHER") + 1,
1068 strlen ("CHOREGRAPHER=CHOREGRAPHER") + 1, 1065 0
1069 0 1066 },
1070 }, 1067 {
1071 { 1068 EXTRACTOR_METATYPE_UNKNOWN,
1072 EXTRACTOR_METATYPE_UNKNOWN, 1069 EXTRACTOR_METAFORMAT_UTF8,
1073 EXTRACTOR_METAFORMAT_UTF8, 1070 "text/plain",
1074 "text/plain", 1071 "COSTUME_DESIGNER=COSTUME_DESIGNER",
1075 "COSTUME_DESIGNER=COSTUME_DESIGNER", 1072 strlen ("COSTUME_DESIGNER=COSTUME_DESIGNER") + 1,
1076 strlen ("COSTUME_DESIGNER=COSTUME_DESIGNER") + 1, 1073 0
1077 0 1074 },
1078 }, 1075 {
1079 { 1076 EXTRACTOR_METATYPE_UNKNOWN,
1080 EXTRACTOR_METATYPE_UNKNOWN, 1077 EXTRACTOR_METAFORMAT_UTF8,
1081 EXTRACTOR_METAFORMAT_UTF8, 1078 "text/plain",
1082 "text/plain", 1079 "ACTOR=ACTOR",
1083 "ACTOR=ACTOR", 1080 strlen ("ACTOR=ACTOR") + 1,
1084 strlen ("ACTOR=ACTOR") + 1, 1081 0
1085 0 1082 },
1086 }, 1083 {
1087 { 1084 EXTRACTOR_METATYPE_UNKNOWN,
1088 EXTRACTOR_METATYPE_UNKNOWN, 1085 EXTRACTOR_METAFORMAT_UTF8,
1089 EXTRACTOR_METAFORMAT_UTF8, 1086 "text/plain",
1090 "text/plain", 1087 "CHARACTER=CHARACTER",
1091 "CHARACTER=CHARACTER", 1088 strlen ("CHARACTER=CHARACTER") + 1,
1092 strlen ("CHARACTER=CHARACTER") + 1, 1089 0
1093 0 1090 },
1094 }, 1091 {
1095 { 1092 EXTRACTOR_METATYPE_WRITER,
1096 EXTRACTOR_METATYPE_WRITER, 1093 EXTRACTOR_METAFORMAT_UTF8,
1097 EXTRACTOR_METAFORMAT_UTF8, 1094 "text/plain",
1098 "text/plain", 1095 "WRITTEN_BY",
1099 "WRITTEN_BY", 1096 strlen ("WRITTEN_BY") + 1,
1100 strlen ("WRITTEN_BY") + 1, 1097 0
1101 0 1098 },
1102 }, 1099 {
1103 { 1100 EXTRACTOR_METATYPE_UNKNOWN,
1104 EXTRACTOR_METATYPE_UNKNOWN, 1101 EXTRACTOR_METAFORMAT_UTF8,
1105 EXTRACTOR_METAFORMAT_UTF8, 1102 "text/plain",
1106 "text/plain", 1103 "SCREENPLAY_BY=SCREENPLAY_BY",
1107 "SCREENPLAY_BY=SCREENPLAY_BY", 1104 strlen ("SCREENPLAY_BY=SCREENPLAY_BY") + 1,
1108 strlen ("SCREENPLAY_BY=SCREENPLAY_BY") + 1, 1105 0
1109 0 1106 },
1110 }, 1107 {
1111 { 1108 EXTRACTOR_METATYPE_UNKNOWN,
1112 EXTRACTOR_METATYPE_UNKNOWN, 1109 EXTRACTOR_METAFORMAT_UTF8,
1113 EXTRACTOR_METAFORMAT_UTF8, 1110 "text/plain",
1114 "text/plain", 1111 "EDITED_BY=EDITED_BY",
1115 "EDITED_BY=EDITED_BY", 1112 strlen ("EDITED_BY=EDITED_BY") + 1,
1116 strlen ("EDITED_BY=EDITED_BY") + 1, 1113 0
1117 0 1114 },
1118 }, 1115 {
1119 { 1116 EXTRACTOR_METATYPE_PRODUCER,
1120 EXTRACTOR_METATYPE_PRODUCER, 1117 EXTRACTOR_METAFORMAT_UTF8,
1121 EXTRACTOR_METAFORMAT_UTF8, 1118 "text/plain",
1122 "text/plain", 1119 "PRODUCER",
1123 "PRODUCER", 1120 strlen ("PRODUCER") + 1,
1124 strlen ("PRODUCER") + 1, 1121 0
1125 0 1122 },
1126 }, 1123 {
1127 { 1124 EXTRACTOR_METATYPE_UNKNOWN,
1128 EXTRACTOR_METATYPE_UNKNOWN, 1125 EXTRACTOR_METAFORMAT_UTF8,
1129 EXTRACTOR_METAFORMAT_UTF8, 1126 "text/plain",
1130 "text/plain", 1127 "COPRODUCER=COPRODUCER",
1131 "COPRODUCER=COPRODUCER", 1128 strlen ("COPRODUCER=COPRODUCER") + 1,
1132 strlen ("COPRODUCER=COPRODUCER") + 1, 1129 0
1133 0 1130 },
1134 }, 1131 {
1135 { 1132 EXTRACTOR_METATYPE_UNKNOWN,
1136 EXTRACTOR_METATYPE_UNKNOWN, 1133 EXTRACTOR_METAFORMAT_UTF8,
1137 EXTRACTOR_METAFORMAT_UTF8, 1134 "text/plain",
1138 "text/plain", 1135 "EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER",
1139 "EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER", 1136 strlen ("EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER") + 1,
1140 strlen ("EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER") + 1, 1137 0
1141 0 1138 },
1142 }, 1139 {
1143 { 1140 EXTRACTOR_METATYPE_UNKNOWN,
1144 EXTRACTOR_METATYPE_UNKNOWN, 1141 EXTRACTOR_METAFORMAT_UTF8,
1145 EXTRACTOR_METAFORMAT_UTF8, 1142 "text/plain",
1146 "text/plain", 1143 "DISTRIBUTED_BY=DISTRIBUTED_BY",
1147 "DISTRIBUTED_BY=DISTRIBUTED_BY", 1144 strlen ("DISTRIBUTED_BY=DISTRIBUTED_BY") + 1,
1148 strlen ("DISTRIBUTED_BY=DISTRIBUTED_BY") + 1, 1145 0
1149 0 1146 },
1150 }, 1147 {
1151 { 1148 EXTRACTOR_METATYPE_UNKNOWN,
1152 EXTRACTOR_METATYPE_UNKNOWN, 1149 EXTRACTOR_METAFORMAT_UTF8,
1153 EXTRACTOR_METAFORMAT_UTF8, 1150 "text/plain",
1154 "text/plain", 1151 "MASTERED_BY=MASTERED_BY",
1155 "MASTERED_BY=MASTERED_BY", 1152 strlen ("MASTERED_BY=MASTERED_BY") + 1,
1156 strlen ("MASTERED_BY=MASTERED_BY") + 1, 1153 0
1157 0 1154 },
1158 }, 1155 {
1159 { 1156 EXTRACTOR_METATYPE_UNKNOWN,
1160 EXTRACTOR_METATYPE_UNKNOWN, 1157 EXTRACTOR_METAFORMAT_UTF8,
1161 EXTRACTOR_METAFORMAT_UTF8, 1158 "text/plain",
1162 "text/plain", 1159 "MIXED_BY=MIXED_BY",
1163 "MIXED_BY=MIXED_BY", 1160 strlen ("MIXED_BY=MIXED_BY") + 1,
1164 strlen ("MIXED_BY=MIXED_BY") + 1, 1161 0
1165 0 1162 },
1166 }, 1163 {
1167 { 1164 EXTRACTOR_METATYPE_UNKNOWN,
1168 EXTRACTOR_METATYPE_UNKNOWN, 1165 EXTRACTOR_METAFORMAT_UTF8,
1169 EXTRACTOR_METAFORMAT_UTF8, 1166 "text/plain",
1170 "text/plain", 1167 "REMIXED_BY=REMIXED_BY",
1171 "REMIXED_BY=REMIXED_BY", 1168 strlen ("REMIXED_BY=REMIXED_BY") + 1,
1172 strlen ("REMIXED_BY=REMIXED_BY") + 1, 1169 0
1173 0 1170 },
1174 }, 1171 {
1175 { 1172 EXTRACTOR_METATYPE_UNKNOWN,
1176 EXTRACTOR_METATYPE_UNKNOWN, 1173 EXTRACTOR_METAFORMAT_UTF8,
1177 EXTRACTOR_METAFORMAT_UTF8, 1174 "text/plain",
1178 "text/plain", 1175 "PRODUCTION_STUDIO=PRODUCTION_STUDIO",
1179 "PRODUCTION_STUDIO=PRODUCTION_STUDIO", 1176 strlen ("PRODUCTION_STUDIO=PRODUCTION_STUDIO") + 1,
1180 strlen ("PRODUCTION_STUDIO=PRODUCTION_STUDIO") + 1, 1177 0
1181 0 1178 },
1182 }, 1179 {
1183 { 1180 EXTRACTOR_METATYPE_UNKNOWN,
1184 EXTRACTOR_METATYPE_UNKNOWN, 1181 EXTRACTOR_METAFORMAT_UTF8,
1185 EXTRACTOR_METAFORMAT_UTF8, 1182 "text/plain",
1186 "text/plain", 1183 "THANKS_TO=THANKS_TO",
1187 "THANKS_TO=THANKS_TO", 1184 strlen ("THANKS_TO=THANKS_TO") + 1,
1188 strlen ("THANKS_TO=THANKS_TO") + 1, 1185 0
1189 0 1186 },
1190 }, 1187 {
1191 { 1188 EXTRACTOR_METATYPE_PUBLISHER,
1192 EXTRACTOR_METATYPE_PUBLISHER, 1189 EXTRACTOR_METAFORMAT_UTF8,
1193 EXTRACTOR_METAFORMAT_UTF8, 1190 "text/plain",
1194 "text/plain", 1191 "PUBLISHER",
1195 "PUBLISHER", 1192 strlen ("PUBLISHER") + 1,
1196 strlen ("PUBLISHER") + 1, 1193 0
1197 0 1194 },
1198 }, 1195 {
1199 { 1196 EXTRACTOR_METATYPE_UNKNOWN,
1200 EXTRACTOR_METATYPE_UNKNOWN, 1197 EXTRACTOR_METAFORMAT_UTF8,
1201 EXTRACTOR_METAFORMAT_UTF8, 1198 "text/plain",
1202 "text/plain", 1199 "LABEL=LABEL",
1203 "LABEL=LABEL", 1200 strlen ("LABEL=LABEL") + 1,
1204 strlen ("LABEL=LABEL") + 1, 1201 0
1205 0 1202 },
1206 }, 1203 {
1207 { 1204 EXTRACTOR_METATYPE_MOOD,
1208 EXTRACTOR_METATYPE_MOOD, 1205 EXTRACTOR_METAFORMAT_UTF8,
1209 EXTRACTOR_METAFORMAT_UTF8, 1206 "text/plain",
1210 "text/plain", 1207 "MOOD",
1211 "MOOD", 1208 strlen ("MOOD") + 1,
1212 strlen ("MOOD") + 1, 1209 0
1213 0 1210 },
1214 }, 1211 {
1215 { 1212 EXTRACTOR_METATYPE_UNKNOWN,
1216 EXTRACTOR_METATYPE_UNKNOWN, 1213 EXTRACTOR_METAFORMAT_UTF8,
1217 EXTRACTOR_METAFORMAT_UTF8, 1214 "text/plain",
1218 "text/plain", 1215 "ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE",
1219 "ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE", 1216 strlen ("ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE") + 1,
1220 strlen ("ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE") + 1, 1217 0
1221 0 1218 },
1222 }, 1219 {
1223 { 1220 EXTRACTOR_METATYPE_UNKNOWN,
1224 EXTRACTOR_METATYPE_UNKNOWN, 1221 EXTRACTOR_METAFORMAT_UTF8,
1225 EXTRACTOR_METAFORMAT_UTF8, 1222 "text/plain",
1226 "text/plain", 1223 "CONTENT_TYPE=CONTENT_TYPE",
1227 "CONTENT_TYPE=CONTENT_TYPE", 1224 strlen ("CONTENT_TYPE=CONTENT_TYPE") + 1,
1228 strlen ("CONTENT_TYPE=CONTENT_TYPE") + 1, 1225 0
1229 0 1226 },
1230 }, 1227 {
1231 { 1228 EXTRACTOR_METATYPE_SUBJECT,
1232 EXTRACTOR_METATYPE_SUBJECT, 1229 EXTRACTOR_METAFORMAT_UTF8,
1233 EXTRACTOR_METAFORMAT_UTF8, 1230 "text/plain",
1234 "text/plain", 1231 "SUBJECT",
1235 "SUBJECT", 1232 strlen ("SUBJECT") + 1,
1236 strlen ("SUBJECT") + 1, 1233 0
1237 0 1234 },
1238 }, 1235 {
1239 { 1236 EXTRACTOR_METATYPE_SUMMARY,
1240 EXTRACTOR_METATYPE_SUMMARY, 1237 EXTRACTOR_METAFORMAT_UTF8,
1241 EXTRACTOR_METAFORMAT_UTF8, 1238 "text/plain",
1242 "text/plain", 1239 "SUMMARY",
1243 "SUMMARY", 1240 strlen ("SUMMARY") + 1,
1244 strlen ("SUMMARY") + 1, 1241 0
1245 0 1242 },
1246 }, 1243 {
1247 { 1244 EXTRACTOR_METATYPE_UNKNOWN,
1248 EXTRACTOR_METATYPE_UNKNOWN, 1245 EXTRACTOR_METAFORMAT_UTF8,
1249 EXTRACTOR_METAFORMAT_UTF8, 1246 "text/plain",
1250 "text/plain", 1247 "SYNOPSIS=SYNOPSIS",
1251 "SYNOPSIS=SYNOPSIS", 1248 strlen ("SYNOPSIS=SYNOPSIS") + 1,
1252 strlen ("SYNOPSIS=SYNOPSIS") + 1, 1249 0
1253 0 1250 },
1254 }, 1251 {
1255 { 1252 EXTRACTOR_METATYPE_UNKNOWN,
1256 EXTRACTOR_METATYPE_UNKNOWN, 1253 EXTRACTOR_METAFORMAT_UTF8,
1257 EXTRACTOR_METAFORMAT_UTF8, 1254 "text/plain",
1258 "text/plain", 1255 "INITIAL_KEY=INITIAL_KEY",
1259 "INITIAL_KEY=INITIAL_KEY", 1256 strlen ("INITIAL_KEY=INITIAL_KEY") + 1,
1260 strlen ("INITIAL_KEY=INITIAL_KEY") + 1, 1257 0
1261 0 1258 },
1262 }, 1259 {
1263 { 1260 EXTRACTOR_METATYPE_UNKNOWN,
1264 EXTRACTOR_METATYPE_UNKNOWN, 1261 EXTRACTOR_METAFORMAT_UTF8,
1265 EXTRACTOR_METAFORMAT_UTF8, 1262 "text/plain",
1266 "text/plain", 1263 "PERIOD=PERIOD",
1267 "PERIOD=PERIOD", 1264 strlen ("PERIOD=PERIOD") + 1,
1268 strlen ("PERIOD=PERIOD") + 1, 1265 0
1269 0 1266 },
1270 }, 1267 {
1271 { 1268 EXTRACTOR_METATYPE_UNKNOWN,
1272 EXTRACTOR_METATYPE_UNKNOWN, 1269 EXTRACTOR_METAFORMAT_UTF8,
1273 EXTRACTOR_METAFORMAT_UTF8, 1270 "text/plain",
1274 "text/plain", 1271 "LAW_RATING=LAW_RATING",
1275 "LAW_RATING=LAW_RATING", 1272 strlen ("LAW_RATING=LAW_RATING") + 1,
1276 strlen ("LAW_RATING=LAW_RATING") + 1, 1273 0
1277 0 1274 },
1278 }, 1275 {
1279 { 1276 EXTRACTOR_METATYPE_UNKNOWN,
1280 EXTRACTOR_METATYPE_UNKNOWN, 1277 EXTRACTOR_METAFORMAT_UTF8,
1281 EXTRACTOR_METAFORMAT_UTF8, 1278 "text/plain",
1282 "text/plain", 1279 "COMPOSITION_LOCATION=COMPOSITION_LOCATION",
1283 "COMPOSITION_LOCATION=COMPOSITION_LOCATION", 1280 strlen ("COMPOSITION_LOCATION=COMPOSITION_LOCATION") + 1,
1284 strlen ("COMPOSITION_LOCATION=COMPOSITION_LOCATION") + 1, 1281 0
1285 0 1282 },
1286 }, 1283 {
1287 { 1284 EXTRACTOR_METATYPE_UNKNOWN,
1288 EXTRACTOR_METATYPE_UNKNOWN, 1285 EXTRACTOR_METAFORMAT_UTF8,
1289 EXTRACTOR_METAFORMAT_UTF8, 1286 "text/plain",
1290 "text/plain", 1287 "COMPOSER_NATIONALITY=COMPOSER_NATIONALITY",
1291 "COMPOSER_NATIONALITY=COMPOSER_NATIONALITY", 1288 strlen ("COMPOSER_NATIONALITY=COMPOSER_NATIONALITY") + 1,
1292 strlen ("COMPOSER_NATIONALITY=COMPOSER_NATIONALITY") + 1, 1289 0
1293 0 1290 },
1294 }, 1291 {
1295 { 1292 EXTRACTOR_METATYPE_PLAY_COUNTER,
1296 EXTRACTOR_METATYPE_PLAY_COUNTER, 1293 EXTRACTOR_METAFORMAT_UTF8,
1297 EXTRACTOR_METAFORMAT_UTF8, 1294 "text/plain",
1298 "text/plain", 1295 "PLAY_COUNTER",
1299 "PLAY_COUNTER", 1296 strlen ("PLAY_COUNTER") + 1,
1300 strlen ("PLAY_COUNTER") + 1, 1297 0
1301 0 1298 },
1302 }, 1299 {
1303 { 1300 EXTRACTOR_METATYPE_RATING,
1304 EXTRACTOR_METATYPE_RATING, 1301 EXTRACTOR_METAFORMAT_UTF8,
1305 EXTRACTOR_METAFORMAT_UTF8, 1302 "text/plain",
1306 "text/plain", 1303 "RATING",
1307 "RATING", 1304 strlen ("RATING") + 1,
1308 strlen ("RATING") + 1, 1305 0
1309 0 1306 },
1310 }, 1307 {
1311 { 1308 EXTRACTOR_METATYPE_UNKNOWN,
1312 EXTRACTOR_METATYPE_UNKNOWN, 1309 EXTRACTOR_METAFORMAT_UTF8,
1313 EXTRACTOR_METAFORMAT_UTF8, 1310 "text/plain",
1314 "text/plain", 1311 "ENCODER_SETTINGS=ENCODER_SETTINGS",
1315 "ENCODER_SETTINGS=ENCODER_SETTINGS", 1312 strlen ("ENCODER_SETTINGS=ENCODER_SETTINGS") + 1,
1316 strlen ("ENCODER_SETTINGS=ENCODER_SETTINGS") + 1, 1313 0
1317 0 1314 },
1318 }, 1315 {
1319 { 1316 EXTRACTOR_METATYPE_FRAME_RATE,
1320 EXTRACTOR_METATYPE_FRAME_RATE, 1317 EXTRACTOR_METAFORMAT_UTF8,
1321 EXTRACTOR_METAFORMAT_UTF8, 1318 "text/plain",
1322 "text/plain", 1319 "FPS",
1323 "FPS", 1320 strlen ("FPS") + 1,
1324 strlen ("FPS") + 1, 1321 0
1325 0 1322 },
1326 }, 1323 {
1327 { 1324 EXTRACTOR_METATYPE_UNKNOWN,
1328 EXTRACTOR_METATYPE_UNKNOWN, 1325 EXTRACTOR_METAFORMAT_UTF8,
1329 EXTRACTOR_METAFORMAT_UTF8, 1326 "text/plain",
1330 "text/plain", 1327 "MEASURE=MEASURE",
1331 "MEASURE=MEASURE", 1328 strlen ("MEASURE=MEASURE") + 1,
1332 strlen ("MEASURE=MEASURE") + 1, 1329 0
1333 0 1330 },
1334 }, 1331 {
1335 { 1332 EXTRACTOR_METATYPE_UNKNOWN,
1336 EXTRACTOR_METATYPE_UNKNOWN, 1333 EXTRACTOR_METAFORMAT_UTF8,
1337 EXTRACTOR_METAFORMAT_UTF8, 1334 "text/plain",
1338 "text/plain", 1335 "TUNING=TUNING",
1339 "TUNING=TUNING", 1336 strlen ("TUNING=TUNING") + 1,
1340 strlen ("TUNING=TUNING") + 1, 1337 0
1341 0 1338 },
1342 }, 1339 {
1343 { 1340 EXTRACTOR_METATYPE_UNKNOWN,
1344 EXTRACTOR_METATYPE_UNKNOWN, 1341 EXTRACTOR_METAFORMAT_UTF8,
1345 EXTRACTOR_METAFORMAT_UTF8, 1342 "text/plain",
1346 "text/plain", 1343 "ISBN=ISBN",
1347 "ISBN=ISBN", 1344 strlen ("ISBN=ISBN") + 1,
1348 strlen ("ISBN=ISBN") + 1, 1345 0
1349 0 1346 },
1350 }, 1347 {
1351 { 1348 EXTRACTOR_METATYPE_UNKNOWN,
1352 EXTRACTOR_METATYPE_UNKNOWN, 1349 EXTRACTOR_METAFORMAT_UTF8,
1353 EXTRACTOR_METAFORMAT_UTF8, 1350 "text/plain",
1354 "text/plain", 1351 "BARCODE=BARCODE",
1355 "BARCODE=BARCODE", 1352 strlen ("BARCODE=BARCODE") + 1,
1356 strlen ("BARCODE=BARCODE") + 1, 1353 0
1357 0 1354 },
1358 }, 1355 {
1359 { 1356 EXTRACTOR_METATYPE_UNKNOWN,
1360 EXTRACTOR_METATYPE_UNKNOWN, 1357 EXTRACTOR_METAFORMAT_UTF8,
1361 EXTRACTOR_METAFORMAT_UTF8, 1358 "text/plain",
1362 "text/plain", 1359 "CATALOG_NUMBER=CATALOG_NUMBER",
1363 "CATALOG_NUMBER=CATALOG_NUMBER", 1360 strlen ("CATALOG_NUMBER=CATALOG_NUMBER") + 1,
1364 strlen ("CATALOG_NUMBER=CATALOG_NUMBER") + 1, 1361 0
1365 0 1362 },
1366 }, 1363 {
1367 { 1364 EXTRACTOR_METATYPE_UNKNOWN,
1368 EXTRACTOR_METATYPE_UNKNOWN, 1365 EXTRACTOR_METAFORMAT_UTF8,
1369 EXTRACTOR_METAFORMAT_UTF8, 1366 "text/plain",
1370 "text/plain", 1367 "LABEL_CODE=LABEL_CODE",
1371 "LABEL_CODE=LABEL_CODE", 1368 strlen ("LABEL_CODE=LABEL_CODE") + 1,
1372 strlen ("LABEL_CODE=LABEL_CODE") + 1, 1369 0
1373 0 1370 },
1374 }, 1371 {
1375 { 1372 EXTRACTOR_METATYPE_UNKNOWN,
1376 EXTRACTOR_METATYPE_UNKNOWN, 1373 EXTRACTOR_METAFORMAT_UTF8,
1377 EXTRACTOR_METAFORMAT_UTF8, 1374 "text/plain",
1378 "text/plain", 1375 "LCCN=LCCN",
1379 "LCCN=LCCN", 1376 strlen ("LCCN=LCCN") + 1,
1380 strlen ("LCCN=LCCN") + 1, 1377 0
1381 0 1378 },
1382 }, 1379 {
1383 { 1380 EXTRACTOR_METATYPE_UNKNOWN,
1384 EXTRACTOR_METATYPE_UNKNOWN, 1381 EXTRACTOR_METAFORMAT_UTF8,
1385 EXTRACTOR_METAFORMAT_UTF8, 1382 "text/plain",
1386 "text/plain", 1383 "PURCHASE_ITEM=PURCHASE_ITEM",
1387 "PURCHASE_ITEM=PURCHASE_ITEM", 1384 strlen ("PURCHASE_ITEM=PURCHASE_ITEM") + 1,
1388 strlen ("PURCHASE_ITEM=PURCHASE_ITEM") + 1, 1385 0
1389 0 1386 },
1390 }, 1387 {
1391 { 1388 EXTRACTOR_METATYPE_UNKNOWN,
1392 EXTRACTOR_METATYPE_UNKNOWN, 1389 EXTRACTOR_METAFORMAT_UTF8,
1393 EXTRACTOR_METAFORMAT_UTF8, 1390 "text/plain",
1394 "text/plain", 1391 "PURCHASE_INFO=PURCHASE_INFO",
1395 "PURCHASE_INFO=PURCHASE_INFO", 1392 strlen ("PURCHASE_INFO=PURCHASE_INFO") + 1,
1396 strlen ("PURCHASE_INFO=PURCHASE_INFO") + 1, 1393 0
1397 0 1394 },
1398 }, 1395 {
1399 { 1396 EXTRACTOR_METATYPE_UNKNOWN,
1400 EXTRACTOR_METATYPE_UNKNOWN, 1397 EXTRACTOR_METAFORMAT_UTF8,
1401 EXTRACTOR_METAFORMAT_UTF8, 1398 "text/plain",
1402 "text/plain", 1399 "PURCHASE_OWNER=PURCHASE_OWNER",
1403 "PURCHASE_OWNER=PURCHASE_OWNER", 1400 strlen ("PURCHASE_OWNER=PURCHASE_OWNER") + 1,
1404 strlen ("PURCHASE_OWNER=PURCHASE_OWNER") + 1, 1401 0
1405 0 1402 },
1406 }, 1403 {
1407 { 1404 EXTRACTOR_METATYPE_UNKNOWN,
1408 EXTRACTOR_METATYPE_UNKNOWN, 1405 EXTRACTOR_METAFORMAT_UTF8,
1409 EXTRACTOR_METAFORMAT_UTF8, 1406 "text/plain",
1410 "text/plain", 1407 "PURCHASE_PRICE=PURCHASE_PRICE",
1411 "PURCHASE_PRICE=PURCHASE_PRICE", 1408 strlen ("PURCHASE_PRICE=PURCHASE_PRICE") + 1,
1412 strlen ("PURCHASE_PRICE=PURCHASE_PRICE") + 1, 1409 0
1413 0 1410 },
1414 }, 1411 {
1415 { 1412 EXTRACTOR_METATYPE_UNKNOWN,
1416 EXTRACTOR_METATYPE_UNKNOWN, 1413 EXTRACTOR_METAFORMAT_UTF8,
1417 EXTRACTOR_METAFORMAT_UTF8, 1414 "text/plain",
1418 "text/plain", 1415 "PURCHASE_CURRENCY=PURCHASE_CURRENCY",
1419 "PURCHASE_CURRENCY=PURCHASE_CURRENCY", 1416 strlen ("PURCHASE_CURRENCY=PURCHASE_CURRENCY") + 1,
1420 strlen ("PURCHASE_CURRENCY=PURCHASE_CURRENCY") + 1, 1417 0
1421 0 1418 },
1422 }, 1419 {
1423 { 1420 EXTRACTOR_METATYPE_ORIGINAL_TITLE,
1424 EXTRACTOR_METATYPE_ORIGINAL_TITLE, 1421 EXTRACTOR_METAFORMAT_UTF8,
1425 EXTRACTOR_METAFORMAT_UTF8, 1422 "text/plain",
1426 "text/plain", 1423 "ORIGINAL/TITLE",
1427 "ORIGINAL/TITLE", 1424 strlen ("ORIGINAL/TITLE") + 1,
1428 strlen ("ORIGINAL/TITLE") + 1, 1425 0
1429 0 1426 },
1430 }, 1427 {
1431 { 1428 EXTRACTOR_METATYPE_UNKNOWN,
1432 EXTRACTOR_METATYPE_UNKNOWN, 1429 EXTRACTOR_METAFORMAT_UTF8,
1433 EXTRACTOR_METAFORMAT_UTF8, 1430 "text/plain",
1434 "text/plain", 1431 "ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH",
1435 "ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH", 1432 strlen ("ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH") + 1,
1436 strlen ("ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH") + 1, 1433 0
1437 0 1434 },
1438 }, 1435 {
1439 { 1436 EXTRACTOR_METATYPE_ORIGINAL_ARTIST,
1440 EXTRACTOR_METATYPE_ORIGINAL_ARTIST, 1437 EXTRACTOR_METAFORMAT_UTF8,
1441 EXTRACTOR_METAFORMAT_UTF8, 1438 "text/plain",
1442 "text/plain", 1439 "ORIGINAL/ARTIST",
1443 "ORIGINAL/ARTIST", 1440 strlen ("ORIGINAL/ARTIST") + 1,
1444 strlen ("ORIGINAL/ARTIST") + 1, 1441 0
1445 0 1442 },
1446 }, 1443 {
1447 { 1444 EXTRACTOR_METATYPE_TRACK_NUMBER,
1448 EXTRACTOR_METATYPE_TRACK_NUMBER, 1445 EXTRACTOR_METAFORMAT_UTF8,
1449 EXTRACTOR_METAFORMAT_UTF8, 1446 "text/plain",
1450 "text/plain", 1447 "10",
1451 "10", 1448 strlen ("10") + 1,
1452 strlen ("10") + 1, 1449 0
1453 0 1450 },
1454 }, 1451 {
1455 { 1452 EXTRACTOR_METATYPE_COPYRIGHT,
1456 EXTRACTOR_METATYPE_COPYRIGHT, 1453 EXTRACTOR_METAFORMAT_UTF8,
1457 EXTRACTOR_METAFORMAT_UTF8, 1454 "text/plain",
1458 "text/plain", 1455 "COPYRIGHT",
1459 "COPYRIGHT", 1456 strlen ("COPYRIGHT") + 1,
1460 strlen ("COPYRIGHT") + 1, 1457 0
1461 0 1458 },
1462 }, 1459 {
1463 { 1460 EXTRACTOR_METATYPE_CONTACT_INFORMATION,
1464 EXTRACTOR_METATYPE_CONTACT_INFORMATION, 1461 EXTRACTOR_METAFORMAT_UTF8,
1465 EXTRACTOR_METAFORMAT_UTF8, 1462 "text/plain",
1466 "text/plain", 1463 "COPYRIGHT/EMAIL",
1467 "COPYRIGHT/EMAIL", 1464 strlen ("COPYRIGHT/EMAIL") + 1,
1468 strlen ("COPYRIGHT/EMAIL") + 1, 1465 0
1469 0 1466 },
1470 }, 1467 {
1471 { 1468 EXTRACTOR_METATYPE_CONTACT_INFORMATION,
1472 EXTRACTOR_METATYPE_CONTACT_INFORMATION, 1469 EXTRACTOR_METAFORMAT_UTF8,
1473 EXTRACTOR_METAFORMAT_UTF8, 1470 "text/plain",
1474 "text/plain", 1471 "COPYRIGHT/ADDRESS",
1475 "COPYRIGHT/ADDRESS", 1472 strlen ("COPYRIGHT/ADDRESS") + 1,
1476 strlen ("COPYRIGHT/ADDRESS") + 1, 1473 0
1477 0 1474 },
1478 }, 1475 {
1479 { 1476 EXTRACTOR_METATYPE_CREATION_TIME,
1480 EXTRACTOR_METATYPE_CREATION_TIME, 1477 EXTRACTOR_METAFORMAT_UTF8,
1481 EXTRACTOR_METAFORMAT_UTF8, 1478 "text/plain",
1482 "text/plain", 1479 "1999-01-01",
1483 "1999-01-01", 1480 strlen ("1999-01-01") + 1,
1484 strlen ("1999-01-01") + 1, 1481 0
1485 0 1482 },
1486 }, 1483 {
1487 { 1484 EXTRACTOR_METATYPE_COMMENT,
1488 EXTRACTOR_METATYPE_COMMENT, 1485 EXTRACTOR_METAFORMAT_UTF8,
1489 EXTRACTOR_METAFORMAT_UTF8, 1486 "text/plain",
1490 "text/plain", 1487 "The purpose of this file is to hold as many examples of Matroska tags as possible.",
1491 "The purpose of this file is to hold as many examples of Matroska tags as possible.", 1488 strlen (
1492 strlen ("The purpose of this file is to hold as many examples of Matroska tags as possible.") + 1, 1489 "The purpose of this file is to hold as many examples of Matroska tags as possible.")
1493 0 1490 + 1,
1494 }, 1491 0
1495 { 1492 },
1496 EXTRACTOR_METATYPE_COMPOSER, 1493 {
1497 EXTRACTOR_METAFORMAT_UTF8, 1494 EXTRACTOR_METATYPE_COMPOSER,
1498 "text/plain", 1495 EXTRACTOR_METAFORMAT_UTF8,
1499 "COMPOSER", 1496 "text/plain",
1500 strlen ("COMPOSER") + 1, 1497 "COMPOSER",
1501 0 1498 strlen ("COMPOSER") + 1,
1502 }, 1499 0
1503 { 1500 },
1504 EXTRACTOR_METATYPE_PERFORMER, 1501 {
1505 EXTRACTOR_METAFORMAT_UTF8, 1502 EXTRACTOR_METATYPE_PERFORMER,
1506 "text/plain", 1503 EXTRACTOR_METAFORMAT_UTF8,
1507 "ACCOMPANIMENT", 1504 "text/plain",
1508 strlen ("ACCOMPANIMENT") + 1, 1505 "ACCOMPANIMENT",
1509 0 1506 strlen ("ACCOMPANIMENT") + 1,
1510 }, 1507 0
1511 { 1508 },
1512 EXTRACTOR_METATYPE_PERFORMER, 1509 {
1513 EXTRACTOR_METAFORMAT_UTF8, 1510 EXTRACTOR_METATYPE_PERFORMER,
1514 "text/plain", 1511 EXTRACTOR_METAFORMAT_UTF8,
1515 "CONDUCTOR", 1512 "text/plain",
1516 strlen ("CONDUCTOR") + 1, 1513 "CONDUCTOR",
1517 0 1514 strlen ("CONDUCTOR") + 1,
1518 }, 1515 0
1519 { 1516 },
1520 EXTRACTOR_METATYPE_LYRICS, 1517 {
1521 EXTRACTOR_METAFORMAT_UTF8, 1518 EXTRACTOR_METATYPE_LYRICS,
1522 "text/plain", 1519 EXTRACTOR_METAFORMAT_UTF8,
1523 "LYRICS", 1520 "text/plain",
1524 strlen ("LYRICS") + 1, 1521 "LYRICS",
1525 0 1522 strlen ("LYRICS") + 1,
1526 }, 1523 0
1527 { 1524 },
1528 EXTRACTOR_METATYPE_ENCODED_BY, 1525 {
1529 EXTRACTOR_METAFORMAT_UTF8, 1526 EXTRACTOR_METATYPE_ENCODED_BY,
1530 "text/plain", 1527 EXTRACTOR_METAFORMAT_UTF8,
1531 "ENCODED_BY", 1528 "text/plain",
1532 strlen ("ENCODED_BY") + 1, 1529 "ENCODED_BY",
1533 0 1530 strlen ("ENCODED_BY") + 1,
1534 }, 1531 0
1535 { 1532 },
1536 EXTRACTOR_METATYPE_GENRE, 1533 {
1537 EXTRACTOR_METAFORMAT_UTF8, 1534 EXTRACTOR_METATYPE_GENRE,
1538 "text/plain", 1535 EXTRACTOR_METAFORMAT_UTF8,
1539 "GENRE", 1536 "text/plain",
1540 strlen ("GENRE") + 1, 1537 "GENRE",
1541 0 1538 strlen ("GENRE") + 1,
1542 }, 1539 0
1543 { 1540 },
1544 EXTRACTOR_METATYPE_DESCRIPTION, 1541 {
1545 EXTRACTOR_METAFORMAT_UTF8, 1542 EXTRACTOR_METATYPE_DESCRIPTION,
1546 "text/plain", 1543 EXTRACTOR_METAFORMAT_UTF8,
1547 "DESCRIPTION", 1544 "text/plain",
1548 strlen ("DESCRIPTION") + 1, 1545 "DESCRIPTION",
1549 0 1546 strlen ("DESCRIPTION") + 1,
1550 }, 1547 0
1551 { 1548 },
1552 EXTRACTOR_METATYPE_KEYWORDS, 1549 {
1553 EXTRACTOR_METAFORMAT_UTF8, 1550 EXTRACTOR_METATYPE_KEYWORDS,
1554 "text/plain", 1551 EXTRACTOR_METAFORMAT_UTF8,
1555 "KEYWORDS", 1552 "text/plain",
1556 strlen ("KEYWORDS") + 1, 1553 "KEYWORDS",
1557 0 1554 strlen ("KEYWORDS") + 1,
1558 }, 1555 0
1559 { 1556 },
1560 EXTRACTOR_METATYPE_LOCATION_NAME, 1557 {
1561 EXTRACTOR_METAFORMAT_UTF8, 1558 EXTRACTOR_METATYPE_LOCATION_NAME,
1562 "text/plain", 1559 EXTRACTOR_METAFORMAT_UTF8,
1563 "RECORDING_LOCATION", 1560 "text/plain",
1564 strlen ("RECORDING_LOCATION") + 1, 1561 "RECORDING_LOCATION",
1565 0 1562 strlen ("RECORDING_LOCATION") + 1,
1566 }, 1563 0
1567 { 1564 },
1568 EXTRACTOR_METATYPE_ENCODER, 1565 {
1569 EXTRACTOR_METAFORMAT_UTF8, 1566 EXTRACTOR_METATYPE_ENCODER,
1570 "text/plain", 1567 EXTRACTOR_METAFORMAT_UTF8,
1571 "ENCODER", 1568 "text/plain",
1572 strlen ("ENCODER") + 1, 1569 "ENCODER",
1573 0 1570 strlen ("ENCODER") + 1,
1574 }, 1571 0
1575 { 1572 },
1576 EXTRACTOR_METATYPE_ISRC, 1573 {
1577 EXTRACTOR_METAFORMAT_UTF8, 1574 EXTRACTOR_METATYPE_ISRC,
1578 "text/plain", 1575 EXTRACTOR_METAFORMAT_UTF8,
1579 "ISRC", 1576 "text/plain",
1580 strlen ("ISRC") + 1, 1577 "ISRC",
1581 0 1578 strlen ("ISRC") + 1,
1582 }, 1579 0
1583 { 1580 },
1584 EXTRACTOR_METATYPE_LICENSE, 1581 {
1585 EXTRACTOR_METAFORMAT_UTF8, 1582 EXTRACTOR_METATYPE_LICENSE,
1586 "text/plain", 1583 EXTRACTOR_METAFORMAT_UTF8,
1587 "LICENSE", 1584 "text/plain",
1588 strlen ("LICENSE") + 1, 1585 "LICENSE",
1589 0 1586 strlen ("LICENSE") + 1,
1590 }, 1587 0
1591 { 1588 },
1592 EXTRACTOR_METATYPE_CONTAINER_FORMAT, 1589 {
1593 EXTRACTOR_METAFORMAT_UTF8, 1590 EXTRACTOR_METATYPE_CONTAINER_FORMAT,
1594 "text/plain", 1591 EXTRACTOR_METAFORMAT_UTF8,
1595 "Matroska", 1592 "text/plain",
1596 strlen ("Matroska") + 1, 1593 "Matroska",
1597 0 1594 strlen ("Matroska") + 1,
1598 }, 1595 0
1599 { 1596 },
1600 EXTRACTOR_METATYPE_VIDEO_CODEC, 1597 {
1601 EXTRACTOR_METAFORMAT_UTF8, 1598 EXTRACTOR_METATYPE_VIDEO_CODEC,
1602 "text/plain", 1599 EXTRACTOR_METAFORMAT_UTF8,
1603 "Intel Video 4", 1600 "text/plain",
1604 strlen ("Intel Video 4") + 1, 1601 "Intel Video 4",
1605 0 1602 strlen ("Intel Video 4") + 1,
1606 }, 1603 0
1607 { 1604 },
1608 EXTRACTOR_METATYPE_VIDEO_LANGUAGE, 1605 {
1609 EXTRACTOR_METAFORMAT_UTF8, 1606 EXTRACTOR_METATYPE_VIDEO_LANGUAGE,
1610 "text/plain", 1607 EXTRACTOR_METAFORMAT_UTF8,
1611 "it", 1608 "text/plain",
1612 strlen ("it") + 1, 1609 "it",
1613 0 1610 strlen ("it") + 1,
1614 }, 1611 0
1615 { 1612 },
1616 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS, 1613 {
1617 EXTRACTOR_METAFORMAT_UTF8, 1614 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS,
1618 "text/plain", 1615 EXTRACTOR_METAFORMAT_UTF8,
1619 "256x240", 1616 "text/plain",
1620 strlen ("256x240") + 1, 1617 "256x240",
1621 0 1618 strlen ("256x240") + 1,
1622 }, 1619 0
1623 { 1620 },
1624 EXTRACTOR_METATYPE_FRAME_RATE, 1621 {
1625 EXTRACTOR_METAFORMAT_UTF8, 1622 EXTRACTOR_METATYPE_FRAME_RATE,
1626 "text/plain", 1623 EXTRACTOR_METAFORMAT_UTF8,
1627 "35/1", 1624 "text/plain",
1628 strlen ("35/1") + 1, 1625 "35/1",
1629 0 1626 strlen ("35/1") + 1,
1630 }, 1627 0
1631 { 1628 },
1632 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO, 1629 {
1633 EXTRACTOR_METAFORMAT_UTF8, 1630 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO,
1634 "text/plain", 1631 EXTRACTOR_METAFORMAT_UTF8,
1635 "1/1", 1632 "text/plain",
1636 strlen ("1/1") + 1, 1633 "1/1",
1637 0 1634 strlen ("1/1") + 1,
1638 }, 1635 0
1639 { 0, 0, NULL, NULL, 0, -1 } 1636 },
1640 }; 1637 { 0, 0, NULL, NULL, 0, -1 }
1641 struct ProblemSet patched_ps[] = 1638 };
1642 { 1639 struct ProblemSet patched_ps[] = {
1643 { "testdata/matroska_flame.mkv", matroska_flame_patched_sol }, 1640 { "testdata/matroska_flame.mkv", matroska_flame_patched_sol },
1644 { NULL, NULL } 1641 { NULL, NULL }
1645 }; 1642 };
1646 g_print ("Running mkv test on GStreamer, assuming old version:\n"); 1643 g_print ("Running mkv test on GStreamer, assuming old version:\n");
1647 result_stock = (0 == ET_main ("gstreamer", stock_ps)); 1644 result_stock = (0 == ET_main ("gstreamer", stock_ps));
1648 g_print ("Old GStreamer test result: %s\n", result_stock == 0 ? "OK" : "FAILED"); 1645 g_print ("Old GStreamer test result: %s\n", result_stock == 0 ? "OK" :
1646 "FAILED");
1649 g_print ("Running mkv test on GStreamer, assuming new version:\n"); 1647 g_print ("Running mkv test on GStreamer, assuming new version:\n");
1650 result_patched = (0 == ET_main ("gstreamer", patched_ps)); 1648 result_patched = (0 == ET_main ("gstreamer", patched_ps));
1651 g_print ("New GStreamer test result: %s\n", result_patched == 0 ? "OK" : "FAILED"); 1649 g_print ("New GStreamer test result: %s\n", result_patched == 0 ? "OK" :
1650 "FAILED");
1652 if ((! result_stock) && (! result_patched)) 1651 if ((! result_stock) && (! result_patched))
1653 result++; 1652 result++;
1654 } 1653 }
1655 g_object_unref (dc); 1654 g_object_unref (dc);
1656 if (0 != result) 1655 if (0 != result)
1657 { 1656 {
1658 fprintf (stderr, 1657 fprintf (stderr,
1659 "gstreamer library did not work perfectly --- consider updating it.\n"); 1658 "gstreamer library did not work perfectly --- consider updating it.\n");
1660 /* do not fail hard, as we know many users have outdated gstreamer packages */ 1659 /* do not fail hard, as we know many users have outdated gstreamer packages */
1661 result = 0; 1660 result = 0;
1662 } 1661 }
1663 return result; 1662 return result;
1664} 1663}
1665 1664
1665
1666/* end of test_gstreamer.c */ 1666/* end of test_gstreamer.c */