test_mpeg.c (2711B)
1 /* 2 This file is part of libextractor. 3 Copyright (C) 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 3, 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 * @file plugins/test_mpeg.c 22 * @brief testcase for mpeg plugin 23 * @author Christian Grothoff 24 */ 25 #include "platform.h" 26 #include "test_lib.h" 27 28 29 /** 30 * Main function for the MPEG testcase. 31 * 32 * @param argc number of arguments (ignored) 33 * @param argv arguments (ignored) 34 * @return 0 on success 35 */ 36 int 37 main (int argc, char *argv[]) 38 { 39 struct SolutionData melt_sol[] = { 40 { 41 EXTRACTOR_METATYPE_MIMETYPE, 42 EXTRACTOR_METAFORMAT_UTF8, 43 "text/plain", 44 "video/mpeg", 45 strlen ("video/mpeg") + 1, 46 0 47 }, 48 { 49 EXTRACTOR_METATYPE_IMAGE_DIMENSIONS, 50 EXTRACTOR_METAFORMAT_UTF8, 51 "text/plain", 52 "320x208", 53 strlen ("320x208") + 1, 54 0 55 }, 56 { 57 EXTRACTOR_METATYPE_FORMAT_VERSION, 58 EXTRACTOR_METAFORMAT_UTF8, 59 "text/plain", 60 "MPEG1", 61 strlen ("MPEG1") + 1, 62 0 63 }, 64 { 65 EXTRACTOR_METATYPE_DURATION, 66 EXTRACTOR_METAFORMAT_UTF8, 67 "text/plain", 68 "00:00:03 (22 frames)", 69 strlen ("00:00:03 (22 frames)") + 1, 70 0 71 }, 72 { 0, 0, NULL, NULL, 0, -1 } 73 }; 74 struct SolutionData alien_sol[] = { 75 { 76 EXTRACTOR_METATYPE_MIMETYPE, 77 EXTRACTOR_METAFORMAT_UTF8, 78 "text/plain", 79 "video/mpeg", 80 strlen ("video/mpeg") + 1, 81 0 82 }, 83 { 84 EXTRACTOR_METATYPE_IMAGE_DIMENSIONS, 85 EXTRACTOR_METAFORMAT_UTF8, 86 "text/plain", 87 "320x240", 88 strlen ("320x240") + 1, 89 0 90 }, 91 { 92 EXTRACTOR_METATYPE_FORMAT_VERSION, 93 EXTRACTOR_METAFORMAT_UTF8, 94 "text/plain", 95 "MPEG1", 96 strlen ("MPEG1") + 1, 97 0 98 }, 99 { 0, 0, NULL, NULL, 0, -1 } 100 }; 101 struct ProblemSet ps[] = { 102 { "testdata/mpeg_melt.mpg", 103 melt_sol }, 104 { "testdata/mpeg_alien.mpg", 105 alien_sol }, 106 { NULL, NULL } 107 }; 108 return ET_main ("mpeg", ps); 109 } 110 111 112 /* end of test_mpeg.c */