aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/test_gstreamer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/test_gstreamer.c')
-rw-r--r--src/plugins/test_gstreamer.c979
1 files changed, 974 insertions, 5 deletions
diff --git a/src/plugins/test_gstreamer.c b/src/plugins/test_gstreamer.c
index 67d3a99..210ca71 100644
--- a/src/plugins/test_gstreamer.c
+++ b/src/plugins/test_gstreamer.c
@@ -176,15 +176,20 @@ main (int argc, char *argv[])
176 strlen ("9999") + 1, 176 strlen ("9999") + 1,
177 0 177 0
178 }, 178 },
179 /* Suggest a fix to gst devs; "performed by" and "contributors" should
180 * be separate.
181 */
182 { 179 {
183 EXTRACTOR_METATYPE_ARTIST, 180 EXTRACTOR_METATYPE_ARTIST,
184 EXTRACTOR_METAFORMAT_UTF8, 181 EXTRACTOR_METAFORMAT_UTF8,
185 "text/plain", 182 "text/plain",
186 "All performed by Nobody, This Artist Contributed", 183 "All performed by Nobody",
187 strlen ("All performed by Nobody, This Artist Contributed") + 1, 184 strlen ("All performed by Nobody") + 1,
185 0
186 },
187 {
188 EXTRACTOR_METATYPE_ARTIST,
189 EXTRACTOR_METAFORMAT_UTF8,
190 "text/plain",
191 "This Artist Contributed",
192 strlen ("This Artist Contributed") + 1,
188 0 193 0
189 }, 194 },
190 { 195 {
@@ -700,6 +705,970 @@ main (int argc, char *argv[])
700 result += (0 == ET_main ("gstreamer", ps) ? 0 : 1); 705 result += (0 == ET_main ("gstreamer", ps) ? 0 : 1);
701 } 706 }
702 707
708 pre_test = discoverer_main (dc, "testdata/matroska_flame.mkv");
709 if (pre_test != GST_DISCOVERER_MISSING_PLUGINS)
710 {
711 int result_stock;
712 int result_patched;
713 struct SolutionData matroska_flame_stock_sol[] =
714 {
715 {
716 EXTRACTOR_METATYPE_DURATION,
717 EXTRACTOR_METAFORMAT_UTF8,
718 "text/plain",
719 "0:00:03.143000000",
720 strlen ("0:00:03.143000000") + 1,
721 0
722 },
723 {
724 EXTRACTOR_METATYPE_MIMETYPE,
725 EXTRACTOR_METAFORMAT_UTF8,
726 "text/plain",
727 "video/x-matroska",
728 strlen ("video/x-matroska") + 1,
729 0
730 },
731 {
732 EXTRACTOR_METATYPE_MIMETYPE,
733 EXTRACTOR_METAFORMAT_UTF8,
734 "text/plain",
735 "video/x-indeo",
736 strlen ("video/x-indeo") + 1,
737 0
738 },
739 {
740 EXTRACTOR_METATYPE_UNKNOWN,
741 EXTRACTOR_METAFORMAT_UTF8,
742 "text/plain",
743 "indeoversion=4",
744 strlen ("indeoversion=4") + 1,
745 0
746 },
747 {
748 EXTRACTOR_METATYPE_TITLE,
749 EXTRACTOR_METAFORMAT_UTF8,
750 "text/plain",
751 "filesegmenttitle",
752 strlen ("filesegmenttitle") + 1,
753 0
754 },
755 {
756 EXTRACTOR_METATYPE_TITLE,
757 EXTRACTOR_METAFORMAT_UTF8,
758 "text/plain",
759 "ALBUM/TITLE",
760 strlen ("ALBUM/TITLE") + 1,
761 0
762 },
763 {
764 EXTRACTOR_METATYPE_TITLE,
765 EXTRACTOR_METAFORMAT_UTF8,
766 "text/plain",
767 "TITLE",
768 strlen ("TITLE") + 1,
769 0
770 },
771 {
772 EXTRACTOR_METATYPE_ARTIST,
773 EXTRACTOR_METAFORMAT_UTF8,
774 "text/plain",
775 "ALBUM/ARTIST",
776 strlen ("ALBUM/ARTIST") + 1,
777 0
778 },
779 {
780 EXTRACTOR_METATYPE_ARTIST,
781 EXTRACTOR_METAFORMAT_UTF8,
782 "text/plain",
783 "ARTIST",
784 strlen ("ARTIST") + 1,
785 0
786 },
787 {
788 EXTRACTOR_METATYPE_COPYRIGHT,
789 EXTRACTOR_METAFORMAT_UTF8,
790 "text/plain",
791 "COPYRIGHT",
792 strlen ("COPYRIGHT") + 1,
793 0
794 },
795 {
796 EXTRACTOR_METATYPE_COMPOSER,
797 EXTRACTOR_METAFORMAT_UTF8,
798 "text/plain",
799 "COMPOSER",
800 strlen ("COMPOSER") + 1,
801 0
802 },
803 {
804 EXTRACTOR_METATYPE_GENRE,
805 EXTRACTOR_METAFORMAT_UTF8,
806 "text/plain",
807 "GENRE",
808 strlen ("GENRE") + 1,
809 0
810 },
811 {
812 EXTRACTOR_METATYPE_ENCODER,
813 EXTRACTOR_METAFORMAT_UTF8,
814 "text/plain",
815 "ENCODER",
816 strlen ("ENCODER") + 1,
817 0
818 },
819 {
820 EXTRACTOR_METATYPE_ISRC,
821 EXTRACTOR_METAFORMAT_UTF8,
822 "text/plain",
823 "ISRC",
824 strlen ("ISRC") + 1,
825 0
826 },
827 {
828 EXTRACTOR_METATYPE_LICENSE,
829 EXTRACTOR_METAFORMAT_UTF8,
830 "text/plain",
831 "TERMS_OF_USE",
832 strlen ("TERMS_OF_USE") + 1,
833 0
834 },
835 {
836 EXTRACTOR_METATYPE_CONTAINER_FORMAT,
837 EXTRACTOR_METAFORMAT_UTF8,
838 "text/plain",
839 "Matroska",
840 strlen ("Matroska") + 1,
841 0
842 },
843 {
844 EXTRACTOR_METATYPE_VIDEO_CODEC,
845 EXTRACTOR_METAFORMAT_UTF8,
846 "text/plain",
847 "Intel Video 4",
848 strlen ("Intel Video 4") + 1,
849 0
850 },
851 {
852 EXTRACTOR_METATYPE_VIDEO_LANGUAGE,
853 EXTRACTOR_METAFORMAT_UTF8,
854 "text/plain",
855 "it",
856 strlen ("it") + 1,
857 0
858 },
859 {
860 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS,
861 EXTRACTOR_METAFORMAT_UTF8,
862 "text/plain",
863 "256x240",
864 strlen ("256x240") + 1,
865 0
866 },
867 {
868 EXTRACTOR_METATYPE_FRAME_RATE,
869 EXTRACTOR_METAFORMAT_UTF8,
870 "text/plain",
871 "35/1",
872 strlen ("35/1") + 1,
873 0
874 },
875 {
876 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO,
877 EXTRACTOR_METAFORMAT_UTF8,
878 "text/plain",
879 "1/1",
880 strlen ("1/1") + 1,
881 0
882 },
883 { 0, 0, NULL, NULL, 0, -1 }
884 };
885 struct ProblemSet stock_ps[] =
886 {
887 { "testdata/matroska_flame.mkv",
888 matroska_flame_stock_sol },
889 { NULL, NULL }
890 };
891
892
893 struct SolutionData matroska_flame_patched_sol[] =
894 {
895 {
896 EXTRACTOR_METATYPE_DURATION,
897 EXTRACTOR_METAFORMAT_UTF8,
898 "text/plain",
899 "0:00:03.143000000",
900 strlen ("0:00:03.143000000") + 1,
901 0
902 },
903 {
904 EXTRACTOR_METATYPE_MIMETYPE,
905 EXTRACTOR_METAFORMAT_UTF8,
906 "text/plain",
907 "video/x-matroska",
908 strlen ("video/x-matroska") + 1,
909 0
910 },
911 {
912 EXTRACTOR_METATYPE_MIMETYPE,
913 EXTRACTOR_METAFORMAT_UTF8,
914 "text/plain",
915 "video/x-indeo",
916 strlen ("video/x-indeo") + 1,
917 0
918 },
919 {
920 EXTRACTOR_METATYPE_UNKNOWN,
921 EXTRACTOR_METAFORMAT_UTF8,
922 "text/plain",
923 "indeoversion=4",
924 strlen ("indeoversion=4") + 1,
925 0
926 },
927 {
928 EXTRACTOR_METATYPE_TITLE,
929 EXTRACTOR_METAFORMAT_UTF8,
930 "text/plain",
931 "filesegmenttitle",
932 strlen ("filesegmenttitle") + 1,
933 0
934 },
935 {
936 EXTRACTOR_METATYPE_ALBUM,
937 EXTRACTOR_METAFORMAT_UTF8,
938 "text/plain",
939 "ALBUM/TITLE",
940 strlen ("ALBUM/TITLE") + 1,
941 0
942 },
943 {
944 EXTRACTOR_METATYPE_TITLE,
945 EXTRACTOR_METAFORMAT_UTF8,
946 "text/plain",
947 "TITLE",
948 strlen ("TITLE") + 1,
949 0
950 },
951 {
952 EXTRACTOR_METATYPE_TITLE,
953 EXTRACTOR_METAFORMAT_UTF8,
954 "text/plain",
955 "SUBTITLE",
956 strlen ("SUBTITLE") + 1,
957 0
958 },
959 {
960 EXTRACTOR_METATYPE_TITLE,
961 EXTRACTOR_METAFORMAT_UTF8,
962 "text/plain",
963 "VIDEO/TITLE",
964 strlen ("VIDEO/TITLE") + 1,
965 0
966 },
967 {
968 EXTRACTOR_METATYPE_ARTIST,
969 EXTRACTOR_METAFORMAT_UTF8,
970 "text/plain",
971 "ALBUM/ARTIST",
972 strlen ("ALBUM/ARTIST") + 1,
973 0
974 },
975 {
976 EXTRACTOR_METATYPE_ARTIST,
977 EXTRACTOR_METAFORMAT_UTF8,
978 "text/plain",
979 "ARTIST",
980 strlen ("ARTIST") + 1,
981 0
982 },
983 {
984 EXTRACTOR_METATYPE_SONG_COUNT,
985 EXTRACTOR_METAFORMAT_UTF8,
986 "text/plain",
987 "20",
988 strlen ("20") + 1,
989 0
990 },
991 {
992 EXTRACTOR_METATYPE_UNKNOWN,
993 EXTRACTOR_METAFORMAT_UTF8,
994 "text/plain",
995 "PART_OFFSET=5",
996 strlen ("PART_OFFSET=5") + 1,
997 0
998 },
999 {
1000 EXTRACTOR_METATYPE_UNKNOWN,
1001 EXTRACTOR_METAFORMAT_UTF8,
1002 "text/plain",
1003 "ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS",
1004 strlen ("ARTIST/INSTRUMENTS=ARTIST/INSTRUMENTS") + 1,
1005 0
1006 },
1007 {
1008 EXTRACTOR_METATYPE_UNKNOWN,
1009 EXTRACTOR_METAFORMAT_UTF8,
1010 "text/plain",
1011 "LEAD_PERFORMER=LEAD_PERFORMER",
1012 strlen ("LEAD_PERFORMER=LEAD_PERFORMER") + 1,
1013 0
1014 },
1015 {
1016 EXTRACTOR_METATYPE_UNKNOWN,
1017 EXTRACTOR_METAFORMAT_UTF8,
1018 "text/plain",
1019 "ARRANGER=ARRANGER",
1020 strlen ("ARRANGER=ARRANGER") + 1,
1021 0
1022 },
1023 {
1024 EXTRACTOR_METATYPE_UNKNOWN,
1025 EXTRACTOR_METAFORMAT_UTF8,
1026 "text/plain",
1027 "LYRICIST=LYRICIST",
1028 strlen ("LYRICIST=LYRICIST") + 1,
1029 0
1030 },
1031 {
1032 EXTRACTOR_METATYPE_UNKNOWN,
1033 EXTRACTOR_METAFORMAT_UTF8,
1034 "text/plain",
1035 "DIRECTOR=DIRECTOR",
1036 strlen ("DIRECTOR=DIRECTOR") + 1,
1037 0
1038 },
1039 {
1040 EXTRACTOR_METATYPE_UNKNOWN,
1041 EXTRACTOR_METAFORMAT_UTF8,
1042 "text/plain",
1043 "ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR",
1044 strlen ("ASSISTANT_DIRECTOR=ASSISTANT_DIRECTOR") + 1,
1045 0
1046 },
1047 {
1048 EXTRACTOR_METATYPE_UNKNOWN,
1049 EXTRACTOR_METAFORMAT_UTF8,
1050 "text/plain",
1051 "DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY",
1052 strlen ("DIRECTOR_OF_PHOTOGRAPHY=DIRECTOR_OF_PHOTOGRAPHY") + 1,
1053 0
1054 },
1055 {
1056 EXTRACTOR_METATYPE_UNKNOWN,
1057 EXTRACTOR_METAFORMAT_UTF8,
1058 "text/plain",
1059 "SOUND_ENGINEER=SOUND_ENGINEER",
1060 strlen ("SOUND_ENGINEER=SOUND_ENGINEER") + 1,
1061 0
1062 },
1063 {
1064 EXTRACTOR_METATYPE_UNKNOWN,
1065 EXTRACTOR_METAFORMAT_UTF8,
1066 "text/plain",
1067 "ART_DIRECTOR=ART_DIRECTOR",
1068 strlen ("ART_DIRECTOR=ART_DIRECTOR") + 1,
1069 0
1070 },
1071 {
1072 EXTRACTOR_METATYPE_UNKNOWN,
1073 EXTRACTOR_METAFORMAT_UTF8,
1074 "text/plain",
1075 "PRODUCTION_DESIGNER=PRODUCTION_DESIGNER",
1076 strlen ("PRODUCTION_DESIGNER=PRODUCTION_DESIGNER") + 1,
1077 0
1078 },
1079 {
1080 EXTRACTOR_METATYPE_UNKNOWN,
1081 EXTRACTOR_METAFORMAT_UTF8,
1082 "text/plain",
1083 "CHOREGRAPHER=CHOREGRAPHER",
1084 strlen ("CHOREGRAPHER=CHOREGRAPHER") + 1,
1085 0
1086 },
1087 {
1088 EXTRACTOR_METATYPE_UNKNOWN,
1089 EXTRACTOR_METAFORMAT_UTF8,
1090 "text/plain",
1091 "COSTUME_DESIGNER=COSTUME_DESIGNER",
1092 strlen ("COSTUME_DESIGNER=COSTUME_DESIGNER") + 1,
1093 0
1094 },
1095 {
1096 EXTRACTOR_METATYPE_UNKNOWN,
1097 EXTRACTOR_METAFORMAT_UTF8,
1098 "text/plain",
1099 "ACTOR=ACTOR",
1100 strlen ("ACTOR=ACTOR") + 1,
1101 0
1102 },
1103 {
1104 EXTRACTOR_METATYPE_UNKNOWN,
1105 EXTRACTOR_METAFORMAT_UTF8,
1106 "text/plain",
1107 "CHARACTER=CHARACTER",
1108 strlen ("CHARACTER=CHARACTER") + 1,
1109 0
1110 },
1111 {
1112 EXTRACTOR_METATYPE_UNKNOWN,
1113 EXTRACTOR_METAFORMAT_UTF8,
1114 "text/plain",
1115 "WRITTEN_BY=WRITTEN_BY",
1116 strlen ("WRITTEN_BY=WRITTEN_BY") + 1,
1117 0
1118 },
1119 {
1120 EXTRACTOR_METATYPE_UNKNOWN,
1121 EXTRACTOR_METAFORMAT_UTF8,
1122 "text/plain",
1123 "SCREENPLAY_BY=SCREENPLAY_BY",
1124 strlen ("SCREENPLAY_BY=SCREENPLAY_BY") + 1,
1125 0
1126 },
1127 {
1128 EXTRACTOR_METATYPE_UNKNOWN,
1129 EXTRACTOR_METAFORMAT_UTF8,
1130 "text/plain",
1131 "EDITED_BY=EDITED_BY",
1132 strlen ("EDITED_BY=EDITED_BY") + 1,
1133 0
1134 },
1135 {
1136 EXTRACTOR_METATYPE_UNKNOWN,
1137 EXTRACTOR_METAFORMAT_UTF8,
1138 "text/plain",
1139 "PRODUCER=PRODUCER",
1140 strlen ("PRODUCER=PRODUCER") + 1,
1141 0
1142 },
1143 {
1144 EXTRACTOR_METATYPE_UNKNOWN,
1145 EXTRACTOR_METAFORMAT_UTF8,
1146 "text/plain",
1147 "COPRODUCER=COPRODUCER",
1148 strlen ("COPRODUCER=COPRODUCER") + 1,
1149 0
1150 },
1151 {
1152 EXTRACTOR_METATYPE_UNKNOWN,
1153 EXTRACTOR_METAFORMAT_UTF8,
1154 "text/plain",
1155 "EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER",
1156 strlen ("EXECUTIVE_PRODUCER=EXECUTIVE_PRODUCER") + 1,
1157 0
1158 },
1159 {
1160 EXTRACTOR_METATYPE_UNKNOWN,
1161 EXTRACTOR_METAFORMAT_UTF8,
1162 "text/plain",
1163 "DISTRIBUTED_BY=DISTRIBUTED_BY",
1164 strlen ("DISTRIBUTED_BY=DISTRIBUTED_BY") + 1,
1165 0
1166 },
1167 {
1168 EXTRACTOR_METATYPE_UNKNOWN,
1169 EXTRACTOR_METAFORMAT_UTF8,
1170 "text/plain",
1171 "MASTERED_BY=MASTERED_BY",
1172 strlen ("MASTERED_BY=MASTERED_BY") + 1,
1173 0
1174 },
1175 {
1176 EXTRACTOR_METATYPE_UNKNOWN,
1177 EXTRACTOR_METAFORMAT_UTF8,
1178 "text/plain",
1179 "MIXED_BY=MIXED_BY",
1180 strlen ("MIXED_BY=MIXED_BY") + 1,
1181 0
1182 },
1183 {
1184 EXTRACTOR_METATYPE_UNKNOWN,
1185 EXTRACTOR_METAFORMAT_UTF8,
1186 "text/plain",
1187 "REMIXED_BY=REMIXED_BY",
1188 strlen ("REMIXED_BY=REMIXED_BY") + 1,
1189 0
1190 },
1191 {
1192 EXTRACTOR_METATYPE_UNKNOWN,
1193 EXTRACTOR_METAFORMAT_UTF8,
1194 "text/plain",
1195 "PRODUCTION_STUDIO=PRODUCTION_STUDIO",
1196 strlen ("PRODUCTION_STUDIO=PRODUCTION_STUDIO") + 1,
1197 0
1198 },
1199 {
1200 EXTRACTOR_METATYPE_UNKNOWN,
1201 EXTRACTOR_METAFORMAT_UTF8,
1202 "text/plain",
1203 "THANKS_TO=THANKS_TO",
1204 strlen ("THANKS_TO=THANKS_TO") + 1,
1205 0
1206 },
1207 {
1208 EXTRACTOR_METATYPE_UNKNOWN,
1209 EXTRACTOR_METAFORMAT_UTF8,
1210 "text/plain",
1211 "PUBLISHER=PUBLISHER",
1212 strlen ("PUBLISHER=PUBLISHER") + 1,
1213 0
1214 },
1215 {
1216 EXTRACTOR_METATYPE_UNKNOWN,
1217 EXTRACTOR_METAFORMAT_UTF8,
1218 "text/plain",
1219 "LABEL=LABEL",
1220 strlen ("LABEL=LABEL") + 1,
1221 0
1222 },
1223 {
1224 EXTRACTOR_METATYPE_UNKNOWN,
1225 EXTRACTOR_METAFORMAT_UTF8,
1226 "text/plain",
1227 "MOOD=MOOD",
1228 strlen ("MOOD=MOOD") + 1,
1229 0
1230 },
1231 {
1232 EXTRACTOR_METATYPE_UNKNOWN,
1233 EXTRACTOR_METAFORMAT_UTF8,
1234 "text/plain",
1235 "ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE",
1236 strlen ("ORIGINAL_MEDIA_TYPE=ORIGINAL_MEDIA_TYPE") + 1,
1237 0
1238 },
1239 {
1240 EXTRACTOR_METATYPE_UNKNOWN,
1241 EXTRACTOR_METAFORMAT_UTF8,
1242 "text/plain",
1243 "CONTENT_TYPE=CONTENT_TYPE",
1244 strlen ("CONTENT_TYPE=CONTENT_TYPE") + 1,
1245 0
1246 },
1247 {
1248 EXTRACTOR_METATYPE_UNKNOWN,
1249 EXTRACTOR_METAFORMAT_UTF8,
1250 "text/plain",
1251 "SUBJECT=SUBJECT",
1252 strlen ("SUBJECT=SUBJECT") + 1,
1253 0
1254 },
1255 {
1256 EXTRACTOR_METATYPE_UNKNOWN,
1257 EXTRACTOR_METAFORMAT_UTF8,
1258 "text/plain",
1259 "SUMMARY=SUMMARY",
1260 strlen ("SUMMARY=SUMMARY") + 1,
1261 0
1262 },
1263 {
1264 EXTRACTOR_METATYPE_UNKNOWN,
1265 EXTRACTOR_METAFORMAT_UTF8,
1266 "text/plain",
1267 "SYNOPSIS=SYNOPSIS",
1268 strlen ("SYNOPSIS=SYNOPSIS") + 1,
1269 0
1270 },
1271 {
1272 EXTRACTOR_METATYPE_UNKNOWN,
1273 EXTRACTOR_METAFORMAT_UTF8,
1274 "text/plain",
1275 "INITIAL_KEY=INITIAL_KEY",
1276 strlen ("INITIAL_KEY=INITIAL_KEY") + 1,
1277 0
1278 },
1279 {
1280 EXTRACTOR_METATYPE_UNKNOWN,
1281 EXTRACTOR_METAFORMAT_UTF8,
1282 "text/plain",
1283 "PERIOD=PERIOD",
1284 strlen ("PERIOD=PERIOD") + 1,
1285 0
1286 },
1287 {
1288 EXTRACTOR_METATYPE_UNKNOWN,
1289 EXTRACTOR_METAFORMAT_UTF8,
1290 "text/plain",
1291 "LAW_RATING=LAW_RATING",
1292 strlen ("LAW_RATING=LAW_RATING") + 1,
1293 0
1294 },
1295 {
1296 EXTRACTOR_METATYPE_UNKNOWN,
1297 EXTRACTOR_METAFORMAT_UTF8,
1298 "text/plain",
1299 "COMPOSITION_LOCATION=COMPOSITION_LOCATION",
1300 strlen ("COMPOSITION_LOCATION=COMPOSITION_LOCATION") + 1,
1301 0
1302 },
1303 {
1304 EXTRACTOR_METATYPE_UNKNOWN,
1305 EXTRACTOR_METAFORMAT_UTF8,
1306 "text/plain",
1307 "COMPOSER_NATIONALITY=COMPOSER_NATIONALITY",
1308 strlen ("COMPOSER_NATIONALITY=COMPOSER_NATIONALITY") + 1,
1309 0
1310 },
1311 {
1312 EXTRACTOR_METATYPE_UNKNOWN,
1313 EXTRACTOR_METAFORMAT_UTF8,
1314 "text/plain",
1315 "PLAY_COUNTER=PLAY_COUNTER",
1316 strlen ("PLAY_COUNTER=PLAY_COUNTER") + 1,
1317 0
1318 },
1319 {
1320 EXTRACTOR_METATYPE_UNKNOWN,
1321 EXTRACTOR_METAFORMAT_UTF8,
1322 "text/plain",
1323 "RATING=RATING",
1324 strlen ("RATING=RATING") + 1,
1325 0
1326 },
1327 {
1328 EXTRACTOR_METATYPE_UNKNOWN,
1329 EXTRACTOR_METAFORMAT_UTF8,
1330 "text/plain",
1331 "ENCODER_SETTINGS=ENCODER_SETTINGS",
1332 strlen ("ENCODER_SETTINGS=ENCODER_SETTINGS") + 1,
1333 0
1334 },
1335 {
1336 EXTRACTOR_METATYPE_UNKNOWN,
1337 EXTRACTOR_METAFORMAT_UTF8,
1338 "text/plain",
1339 "FPS=FPS",
1340 strlen ("FPS=FPS") + 1,
1341 0
1342 },
1343 {
1344 EXTRACTOR_METATYPE_UNKNOWN,
1345 EXTRACTOR_METAFORMAT_UTF8,
1346 "text/plain",
1347 "MEASURE=MEASURE",
1348 strlen ("MEASURE=MEASURE") + 1,
1349 0
1350 },
1351 {
1352 EXTRACTOR_METATYPE_UNKNOWN,
1353 EXTRACTOR_METAFORMAT_UTF8,
1354 "text/plain",
1355 "TUNING=TUNING",
1356 strlen ("TUNING=TUNING") + 1,
1357 0
1358 },
1359 {
1360 EXTRACTOR_METATYPE_UNKNOWN,
1361 EXTRACTOR_METAFORMAT_UTF8,
1362 "text/plain",
1363 "ISBN=ISBN",
1364 strlen ("ISBN=ISBN") + 1,
1365 0
1366 },
1367 {
1368 EXTRACTOR_METATYPE_UNKNOWN,
1369 EXTRACTOR_METAFORMAT_UTF8,
1370 "text/plain",
1371 "BARCODE=BARCODE",
1372 strlen ("BARCODE=BARCODE") + 1,
1373 0
1374 },
1375 {
1376 EXTRACTOR_METATYPE_UNKNOWN,
1377 EXTRACTOR_METAFORMAT_UTF8,
1378 "text/plain",
1379 "CATALOG_NUMBER=CATALOG_NUMBER",
1380 strlen ("CATALOG_NUMBER=CATALOG_NUMBER") + 1,
1381 0
1382 },
1383 {
1384 EXTRACTOR_METATYPE_UNKNOWN,
1385 EXTRACTOR_METAFORMAT_UTF8,
1386 "text/plain",
1387 "LABEL_CODE=LABEL_CODE",
1388 strlen ("LABEL_CODE=LABEL_CODE") + 1,
1389 0
1390 },
1391 {
1392 EXTRACTOR_METATYPE_UNKNOWN,
1393 EXTRACTOR_METAFORMAT_UTF8,
1394 "text/plain",
1395 "LCCN=LCCN",
1396 strlen ("LCCN=LCCN") + 1,
1397 0
1398 },
1399 {
1400 EXTRACTOR_METATYPE_UNKNOWN,
1401 EXTRACTOR_METAFORMAT_UTF8,
1402 "text/plain",
1403 "PURCHASE_ITEM=PURCHASE_ITEM",
1404 strlen ("PURCHASE_ITEM=PURCHASE_ITEM") + 1,
1405 0
1406 },
1407 {
1408 EXTRACTOR_METATYPE_UNKNOWN,
1409 EXTRACTOR_METAFORMAT_UTF8,
1410 "text/plain",
1411 "PURCHASE_INFO=PURCHASE_INFO",
1412 strlen ("PURCHASE_INFO=PURCHASE_INFO") + 1,
1413 0
1414 },
1415 {
1416 EXTRACTOR_METATYPE_UNKNOWN,
1417 EXTRACTOR_METAFORMAT_UTF8,
1418 "text/plain",
1419 "PURCHASE_OWNER=PURCHASE_OWNER",
1420 strlen ("PURCHASE_OWNER=PURCHASE_OWNER") + 1,
1421 0
1422 },
1423 {
1424 EXTRACTOR_METATYPE_UNKNOWN,
1425 EXTRACTOR_METAFORMAT_UTF8,
1426 "text/plain",
1427 "PURCHASE_PRICE=PURCHASE_PRICE",
1428 strlen ("PURCHASE_PRICE=PURCHASE_PRICE") + 1,
1429 0
1430 },
1431 {
1432 EXTRACTOR_METATYPE_UNKNOWN,
1433 EXTRACTOR_METAFORMAT_UTF8,
1434 "text/plain",
1435 "PURCHASE_CURRENCY=PURCHASE_CURRENCY",
1436 strlen ("PURCHASE_CURRENCY=PURCHASE_CURRENCY") + 1,
1437 0
1438 },
1439 {
1440 EXTRACTOR_METATYPE_UNKNOWN,
1441 EXTRACTOR_METAFORMAT_UTF8,
1442 "text/plain",
1443 "ORIGINAL/TITLE=ORIGINAL/TITLE",
1444 strlen ("ORIGINAL/TITLE=ORIGINAL/TITLE") + 1,
1445 0
1446 },
1447 {
1448 EXTRACTOR_METATYPE_UNKNOWN,
1449 EXTRACTOR_METAFORMAT_UTF8,
1450 "text/plain",
1451 "ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH",
1452 strlen ("ORIGINAL/ARTIST/SORT_WITH=ORIGINAL/ARTIST/SORT_WITH") + 1,
1453 0
1454 },
1455 {
1456 EXTRACTOR_METATYPE_UNKNOWN,
1457 EXTRACTOR_METAFORMAT_UTF8,
1458 "text/plain",
1459 "ORIGINAL/ARTIST=ORIGINAL/ARTIST",
1460 strlen ("ORIGINAL/ARTIST=ORIGINAL/ARTIST") + 1,
1461 0
1462 },
1463 {
1464 EXTRACTOR_METATYPE_TRACK_NUMBER,
1465 EXTRACTOR_METAFORMAT_UTF8,
1466 "text/plain",
1467 "10",
1468 strlen ("10") + 1,
1469 0
1470 },
1471 {
1472 EXTRACTOR_METATYPE_COPYRIGHT,
1473 EXTRACTOR_METAFORMAT_UTF8,
1474 "text/plain",
1475 "COPYRIGHT",
1476 strlen ("COPYRIGHT") + 1,
1477 0
1478 },
1479 {
1480 EXTRACTOR_METATYPE_CONTACT_INFORMATION,
1481 EXTRACTOR_METAFORMAT_UTF8,
1482 "text/plain",
1483 "COPYRIGHT/EMAIL",
1484 strlen ("COPYRIGHT/EMAIL") + 1,
1485 0
1486 },
1487 {
1488 EXTRACTOR_METATYPE_CONTACT_INFORMATION,
1489 EXTRACTOR_METAFORMAT_UTF8,
1490 "text/plain",
1491 "COPYRIGHT/ADDRESS",
1492 strlen ("COPYRIGHT/ADDRESS") + 1,
1493 0
1494 },
1495 {
1496 EXTRACTOR_METATYPE_CREATION_TIME,
1497 EXTRACTOR_METAFORMAT_UTF8,
1498 "text/plain",
1499 "1999-01-01",
1500 strlen ("1999-01-01") + 1,
1501 0
1502 },
1503 {
1504 EXTRACTOR_METATYPE_COMMENT,
1505 EXTRACTOR_METAFORMAT_UTF8,
1506 "text/plain",
1507 "The purpose of this file is to hold as many examples of Matroska tags as possible.",
1508 strlen ("The purpose of this file is to hold as many examples of Matroska tags as possible.") + 1,
1509 0
1510 },
1511 {
1512 EXTRACTOR_METATYPE_COMPOSER,
1513 EXTRACTOR_METAFORMAT_UTF8,
1514 "text/plain",
1515 "COMPOSER",
1516 strlen ("COMPOSER") + 1,
1517 0
1518 },
1519 {
1520 EXTRACTOR_METATYPE_PERFORMER,
1521 EXTRACTOR_METAFORMAT_UTF8,
1522 "text/plain",
1523 "ACCOMPANIMENT",
1524 strlen ("ACCOMPANIMENT") + 1,
1525 0
1526 },
1527 {
1528 EXTRACTOR_METATYPE_PERFORMER,
1529 EXTRACTOR_METAFORMAT_UTF8,
1530 "text/plain",
1531 "CONDUCTOR",
1532 strlen ("CONDUCTOR") + 1,
1533 0
1534 },
1535 {
1536 EXTRACTOR_METATYPE_LYRICS,
1537 EXTRACTOR_METAFORMAT_UTF8,
1538 "text/plain",
1539 "LYRICS",
1540 strlen ("LYRICS") + 1,
1541 0
1542 },
1543 {
1544 EXTRACTOR_METATYPE_ENCODED_BY,
1545 EXTRACTOR_METAFORMAT_UTF8,
1546 "text/plain",
1547 "ENCODED_BY",
1548 strlen ("ENCODED_BY") + 1,
1549 0
1550 },
1551 {
1552 EXTRACTOR_METATYPE_GENRE,
1553 EXTRACTOR_METAFORMAT_UTF8,
1554 "text/plain",
1555 "GENRE",
1556 strlen ("GENRE") + 1,
1557 0
1558 },
1559 {
1560 EXTRACTOR_METATYPE_DESCRIPTION,
1561 EXTRACTOR_METAFORMAT_UTF8,
1562 "text/plain",
1563 "DESCRIPTION",
1564 strlen ("DESCRIPTION") + 1,
1565 0
1566 },
1567 {
1568 EXTRACTOR_METATYPE_KEYWORDS,
1569 EXTRACTOR_METAFORMAT_UTF8,
1570 "text/plain",
1571 "KEYWORDS",
1572 strlen ("KEYWORDS") + 1,
1573 0
1574 },
1575 {
1576 EXTRACTOR_METATYPE_LOCATION_NAME,
1577 EXTRACTOR_METAFORMAT_UTF8,
1578 "text/plain",
1579 "RECORDING_LOCATION",
1580 strlen ("RECORDING_LOCATION") + 1,
1581 0
1582 },
1583 {
1584 EXTRACTOR_METATYPE_ENCODER,
1585 EXTRACTOR_METAFORMAT_UTF8,
1586 "text/plain",
1587 "ENCODER",
1588 strlen ("ENCODER") + 1,
1589 0
1590 },
1591 {
1592 EXTRACTOR_METATYPE_ISRC,
1593 EXTRACTOR_METAFORMAT_UTF8,
1594 "text/plain",
1595 "ISRC",
1596 strlen ("ISRC") + 1,
1597 0
1598 },
1599 {
1600 EXTRACTOR_METATYPE_LICENSE,
1601 EXTRACTOR_METAFORMAT_UTF8,
1602 "text/plain",
1603 "LICENSE",
1604 strlen ("LICENSE") + 1,
1605 0
1606 },
1607 {
1608 EXTRACTOR_METATYPE_CONTAINER_FORMAT,
1609 EXTRACTOR_METAFORMAT_UTF8,
1610 "text/plain",
1611 "Matroska",
1612 strlen ("Matroska") + 1,
1613 0
1614 },
1615 {
1616 EXTRACTOR_METATYPE_VIDEO_CODEC,
1617 EXTRACTOR_METAFORMAT_UTF8,
1618 "text/plain",
1619 "Intel Video 4",
1620 strlen ("Intel Video 4") + 1,
1621 0
1622 },
1623 {
1624 EXTRACTOR_METATYPE_VIDEO_LANGUAGE,
1625 EXTRACTOR_METAFORMAT_UTF8,
1626 "text/plain",
1627 "it",
1628 strlen ("it") + 1,
1629 0
1630 },
1631 {
1632 EXTRACTOR_METATYPE_VIDEO_DIMENSIONS,
1633 EXTRACTOR_METAFORMAT_UTF8,
1634 "text/plain",
1635 "256x240",
1636 strlen ("256x240") + 1,
1637 0
1638 },
1639 {
1640 EXTRACTOR_METATYPE_FRAME_RATE,
1641 EXTRACTOR_METAFORMAT_UTF8,
1642 "text/plain",
1643 "35/1",
1644 strlen ("35/1") + 1,
1645 0
1646 },
1647 {
1648 EXTRACTOR_METATYPE_PIXEL_ASPECT_RATIO,
1649 EXTRACTOR_METAFORMAT_UTF8,
1650 "text/plain",
1651 "1/1",
1652 strlen ("1/1") + 1,
1653 0
1654 },
1655 { 0, 0, NULL, NULL, 0, -1 }
1656 };
1657 struct ProblemSet patched_ps[] =
1658 {
1659 { "testdata/matroska_flame.mkv",
1660 matroska_flame_patched_sol },
1661 { NULL, NULL }
1662 };
1663 g_print ("Running a test assuming stock GStreamer:\n");
1664 result_stock = (0 == ET_main ("gstreamer", stock_ps) ? 0 : 1);
1665 g_print ("Stock GStreamer test result: %s\n", result_stock == 0 ? "OK" : "FAILED");
1666 g_print ("Running a test assuming patched GStreamer:\n");
1667 result_patched = (0 == ET_main ("gstreamer", patched_ps) ? 0 : 1);
1668 g_print ("Patched GStreamer test result: %s\n", result_patched == 0 ? "OK" : "FAILED");
1669 if (result_stock && result_patched)
1670 result += 1;
1671 }
703 g_object_unref (dc); 1672 g_object_unref (dc);
704 return result; 1673 return result;
705} 1674}