libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit cabd42938ab9a1c6beb9137cd710b72968c45bcd
parent 155ca2d52d421a44bc8d93b18eb5837837070777
Author: LRN <lrn1986@gmail.com>
Date:   Wed, 29 Aug 2012 23:41:49 +0000

Matroska test for GStreamer - both stock and patched

Diffstat:
Msrc/plugins/test_gstreamer.c | 979++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 974 insertions(+), 5 deletions(-)

diff --git a/src/plugins/test_gstreamer.c b/src/plugins/test_gstreamer.c @@ -176,15 +176,20 @@ main (int argc, char *argv[]) strlen ("9999") + 1, 0 }, - /* Suggest a fix to gst devs; "performed by" and "contributors" should - * be separate. - */ { EXTRACTOR_METATYPE_ARTIST, EXTRACTOR_METAFORMAT_UTF8, "text/plain", - "All performed by Nobody, This Artist Contributed", - strlen ("All performed by Nobody, This Artist Contributed") + 1, + "All performed by Nobody", + strlen ("All performed by Nobody") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ARTIST, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "This Artist Contributed", + strlen ("This Artist Contributed") + 1, 0 }, { @@ -700,6 +705,970 @@ main (int argc, char *argv[]) result += (0 == ET_main ("gstreamer", ps) ? 0 : 1); } + pre_test = discoverer_main (dc, "testdata/matroska_flame.mkv"); + if (pre_test != GST_DISCOVERER_MISSING_PLUGINS) + { + int result_stock; + int result_patched; + struct SolutionData matroska_flame_stock_sol[] = + { + { + EXTRACTOR_METATYPE_DURATION, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "0:00:03.143000000", + strlen ("0:00:03.143000000") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_MIMETYPE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "video/x-matroska", + strlen ("video/x-matroska") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_MIMETYPE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "video/x-indeo", + strlen ("video/x-indeo") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "indeoversion=4", + strlen ("indeoversion=4") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "filesegmenttitle", + strlen ("filesegmenttitle") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ALBUM/TITLE", + strlen ("ALBUM/TITLE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "TITLE", + strlen ("TITLE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ARTIST, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ALBUM/ARTIST", + strlen ("ALBUM/ARTIST") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ARTIST, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ARTIST", + strlen ("ARTIST") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_COPYRIGHT, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COPYRIGHT", + strlen ("COPYRIGHT") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_COMPOSER, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COMPOSER", + strlen ("COMPOSER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_GENRE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "GENRE", + strlen ("GENRE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ENCODER, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ENCODER", + strlen ("ENCODER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ISRC, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ISRC", + strlen ("ISRC") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_LICENSE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "TERMS_OF_USE", + strlen ("TERMS_OF_USE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_CONTAINER_FORMAT, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "Matroska", + strlen ("Matroska") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_VIDEO_CODEC, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "Intel Video 4", + strlen ("Intel Video 4") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_VIDEO_LANGUAGE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "it", + strlen ("it") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_VIDEO_DIMENSIONS, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "256x240", + strlen ("256x240") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_FRAME_RATE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "35/1", + strlen ("35/1") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "1/1", + strlen ("1/1") + 1, + 0 + }, + { 0, 0, NULL, NULL, 0, -1 } + }; + struct ProblemSet stock_ps[] = + { + { "testdata/matroska_flame.mkv", + matroska_flame_stock_sol }, + { NULL, NULL } + }; + + + struct SolutionData matroska_flame_patched_sol[] = + { + { + EXTRACTOR_METATYPE_DURATION, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "0:00:03.143000000", + strlen ("0:00:03.143000000") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_MIMETYPE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "video/x-matroska", + strlen ("video/x-matroska") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_MIMETYPE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "video/x-indeo", + strlen ("video/x-indeo") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "indeoversion=4", + strlen ("indeoversion=4") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "filesegmenttitle", + strlen ("filesegmenttitle") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ALBUM, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ALBUM/TITLE", + strlen ("ALBUM/TITLE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "TITLE", + strlen ("TITLE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "SUBTITLE", + strlen ("SUBTITLE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TITLE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "VIDEO/TITLE", + strlen ("VIDEO/TITLE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ARTIST, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ALBUM/ARTIST", + strlen ("ALBUM/ARTIST") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ARTIST, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ARTIST", + strlen ("ARTIST") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_SONG_COUNT, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "20", + strlen ("20") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PART_OFFSET=5", + strlen ("PART_OFFSET=5") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS", + strlen ("ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LEAD_PERFORMER=LEAD_PERFORMER", + strlen ("LEAD_PERFORMER=LEAD_PERFORMER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ARRANGER=ARRANGER", + strlen ("ARRANGER=ARRANGER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LYRICIST=LYRICIST", + strlen ("LYRICIST=LYRICIST") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "DIRECTOR=DIRECTOR", + strlen ("DIRECTOR=DIRECTOR") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR", + strlen ("ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY", + strlen ("DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "SOUND_ENGINEER=SOUND_ENGINEER", + strlen ("SOUND_ENGINEER=SOUND_ENGINEER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ART_DIRECTOR=ART_DIRECTOR", + strlen ("ART_DIRECTOR=ART_DIRECTOR") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PRODUCTION_DESIGNER=PRODUCTION_DESIGNER", + strlen ("PRODUCTION_DESIGNER=PRODUCTION_DESIGNER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "CHOREGRAPHER=CHOREGRAPHER", + strlen ("CHOREGRAPHER=CHOREGRAPHER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COSTUME_DESIGNER=COSTUME_DESIGNER", + strlen ("COSTUME_DESIGNER=COSTUME_DESIGNER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ACTOR=ACTOR", + strlen ("ACTOR=ACTOR") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "CHARACTER=CHARACTER", + strlen ("CHARACTER=CHARACTER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "WRITTEN_BY=WRITTEN_BY", + strlen ("WRITTEN_BY=WRITTEN_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "SCREENPLAY_BY=SCREENPLAY_BY", + strlen ("SCREENPLAY_BY=SCREENPLAY_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "EDITED_BY=EDITED_BY", + strlen ("EDITED_BY=EDITED_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PRODUCER=PRODUCER", + strlen ("PRODUCER=PRODUCER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COPRODUCER=COPRODUCER", + strlen ("COPRODUCER=COPRODUCER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER", + strlen ("EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "DISTRIBUTED_BY=DISTRIBUTED_BY", + strlen ("DISTRIBUTED_BY=DISTRIBUTED_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "MASTERED_BY=MASTERED_BY", + strlen ("MASTERED_BY=MASTERED_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "MIXED_BY=MIXED_BY", + strlen ("MIXED_BY=MIXED_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "REMIXED_BY=REMIXED_BY", + strlen ("REMIXED_BY=REMIXED_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PRODUCTION_STUDIO=PRODUCTION_STUDIO", + strlen ("PRODUCTION_STUDIO=PRODUCTION_STUDIO") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "THANKS_TO=THANKS_TO", + strlen ("THANKS_TO=THANKS_TO") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PUBLISHER=PUBLISHER", + strlen ("PUBLISHER=PUBLISHER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LABEL=LABEL", + strlen ("LABEL=LABEL") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "MOOD=MOOD", + strlen ("MOOD=MOOD") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE", + strlen ("ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "CONTENT_TYPE=CONTENT_TYPE", + strlen ("CONTENT_TYPE=CONTENT_TYPE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "SUBJECT=SUBJECT", + strlen ("SUBJECT=SUBJECT") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "SUMMARY=SUMMARY", + strlen ("SUMMARY=SUMMARY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "SYNOPSIS=SYNOPSIS", + strlen ("SYNOPSIS=SYNOPSIS") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "INITIAL_KEY=INITIAL_KEY", + strlen ("INITIAL_KEY=INITIAL_KEY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PERIOD=PERIOD", + strlen ("PERIOD=PERIOD") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LAW_RATING=LAW_RATING", + strlen ("LAW_RATING=LAW_RATING") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COMPOSITION_LOCATION=COMPOSITION_LOCATION", + strlen ("COMPOSITION_LOCATION=COMPOSITION_LOCATION") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COMPOSER_NATIONALITY=COMPOSER_NATIONALITY", + strlen ("COMPOSER_NATIONALITY=COMPOSER_NATIONALITY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PLAY_COUNTER=PLAY_COUNTER", + strlen ("PLAY_COUNTER=PLAY_COUNTER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "RATING=RATING", + strlen ("RATING=RATING") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ENCODER_SETTINGS=ENCODER_SETTINGS", + strlen ("ENCODER_SETTINGS=ENCODER_SETTINGS") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "FPS=FPS", + strlen ("FPS=FPS") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "MEASURE=MEASURE", + strlen ("MEASURE=MEASURE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "TUNING=TUNING", + strlen ("TUNING=TUNING") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ISBN=ISBN", + strlen ("ISBN=ISBN") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "BARCODE=BARCODE", + strlen ("BARCODE=BARCODE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "CATALOG_NUMBER=CATALOG_NUMBER", + strlen ("CATALOG_NUMBER=CATALOG_NUMBER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LABEL_CODE=LABEL_CODE", + strlen ("LABEL_CODE=LABEL_CODE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LCCN=LCCN", + strlen ("LCCN=LCCN") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PURCHASE_ITEM=PURCHASE_ITEM", + strlen ("PURCHASE_ITEM=PURCHASE_ITEM") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PURCHASE_INFO=PURCHASE_INFO", + strlen ("PURCHASE_INFO=PURCHASE_INFO") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PURCHASE_OWNER=PURCHASE_OWNER", + strlen ("PURCHASE_OWNER=PURCHASE_OWNER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PURCHASE_PRICE=PURCHASE_PRICE", + strlen ("PURCHASE_PRICE=PURCHASE_PRICE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "PURCHASE_CURRENCY=PURCHASE_CURRENCY", + strlen ("PURCHASE_CURRENCY=PURCHASE_CURRENCY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ORIGINAL/TITLE=ORIGINAL/TITLE", + strlen ("ORIGINAL/TITLE=ORIGINAL/TITLE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH", + strlen ("ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_UNKNOWN, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ORIGINAL/ARTIST=ORIGINAL/ARTIST", + strlen ("ORIGINAL/ARTIST=ORIGINAL/ARTIST") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_TRACK_NUMBER, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "10", + strlen ("10") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_COPYRIGHT, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COPYRIGHT", + strlen ("COPYRIGHT") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_CONTACT_INFORMATION, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COPYRIGHT/EMAIL", + strlen ("COPYRIGHT/EMAIL") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_CONTACT_INFORMATION, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COPYRIGHT/ADDRESS", + strlen ("COPYRIGHT/ADDRESS") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_CREATION_TIME, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "1999-01-01", + strlen ("1999-01-01") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_COMMENT, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "The purpose of this file is to hold as many examples of Matroska tags as possible.", + strlen ("The purpose of this file is to hold as many examples of Matroska tags as possible.") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_COMPOSER, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "COMPOSER", + strlen ("COMPOSER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_PERFORMER, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ACCOMPANIMENT", + strlen ("ACCOMPANIMENT") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_PERFORMER, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "CONDUCTOR", + strlen ("CONDUCTOR") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_LYRICS, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LYRICS", + strlen ("LYRICS") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ENCODED_BY, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ENCODED_BY", + strlen ("ENCODED_BY") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_GENRE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "GENRE", + strlen ("GENRE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_DESCRIPTION, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "DESCRIPTION", + strlen ("DESCRIPTION") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_KEYWORDS, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "KEYWORDS", + strlen ("KEYWORDS") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_LOCATION_NAME, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "RECORDING_LOCATION", + strlen ("RECORDING_LOCATION") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ENCODER, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ENCODER", + strlen ("ENCODER") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_ISRC, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "ISRC", + strlen ("ISRC") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_LICENSE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "LICENSE", + strlen ("LICENSE") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_CONTAINER_FORMAT, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "Matroska", + strlen ("Matroska") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_VIDEO_CODEC, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "Intel Video 4", + strlen ("Intel Video 4") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_VIDEO_LANGUAGE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "it", + strlen ("it") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_VIDEO_DIMENSIONS, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "256x240", + strlen ("256x240") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_FRAME_RATE, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "35/1", + strlen ("35/1") + 1, + 0 + }, + { + EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO, + EXTRACTOR_METAFORMAT_UTF8, + "text/plain", + "1/1", + strlen ("1/1") + 1, + 0 + }, + { 0, 0, NULL, NULL, 0, -1 } + }; + struct ProblemSet patched_ps[] = + { + { "testdata/matroska_flame.mkv", + matroska_flame_patched_sol }, + { NULL, NULL } + }; + g_print ("Running a test assuming stock GStreamer:\n"); + result_stock = (0 == ET_main ("gstreamer", stock_ps) ? 0 : 1); + g_print ("Stock GStreamer test result: %s\n", result_stock == 0 ? "OK" : "FAILED"); + g_print ("Running a test assuming patched GStreamer:\n"); + result_patched = (0 == ET_main ("gstreamer", patched_ps) ? 0 : 1); + g_print ("Patched GStreamer test result: %s\n", result_patched == 0 ? "OK" : "FAILED"); + if (result_stock && result_patched) + result += 1; + } g_object_unref (dc); return result; }