libextractor

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

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