From 2c989ef3a7ec0fc0cdd99a1d0366d0fe69f65ae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 5 Jun 2010 17:22:17 +0100 Subject: [PATCH] tests: add small unit test for AC3 vs. JPEG typefinding issue --- configure.ac | 1 + tests/Makefile.am | 1 + tests/check/Makefile.am | 4 +++- tests/check/gst/typefindfunctions.c | 34 ++++++++++++++++++++++++++++ tests/files/Makefile.am | 2 ++ tests/files/partialframe.mjpeg | Bin 0 -> 1600 bytes 6 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tests/files/Makefile.am create mode 100644 tests/files/partialframe.mjpeg diff --git a/configure.ac b/configure.ac index 540a9d0ff8..d49f57ca04 100644 --- a/configure.ac +++ b/configure.ac @@ -953,6 +953,7 @@ tests/examples/volume/Makefile tests/examples/snapshot/Makefile tests/examples/gio/Makefile tests/examples/v4l/Makefile +tests/files/Makefile tests/icles/Makefile docs/Makefile docs/design/Makefile diff --git a/tests/Makefile.am b/tests/Makefile.am index b5c677c0e1..de36755bed 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -24,4 +24,5 @@ SUBDIRS = \ DIST_SUBDIRS = \ check \ examples \ + files \ icles diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am index 8c636dc90a..831ad9dc0b 100644 --- a/tests/check/Makefile.am +++ b/tests/check/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/common/check.mak CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.reg +TEST_FILES_DIRECTORY = $(top_srcdir)/tests/files REGISTRY_ENVIRONMENT = \ GST_REGISTRY=$(CHECK_REGISTRY) @@ -136,7 +137,8 @@ VALGRIND_TO_FIX = \ # these tests don't even pass noinst_PROGRAMS = $(check_libvisual) -AM_CFLAGS = $(GST_CFLAGS) $(GST_CHECK_CFLAGS) +AM_CFLAGS = $(GST_CFLAGS) $(GST_CHECK_CFLAGS) \ + -DGST_TEST_FILES_PATH="\"$(TEST_FILES_DIRECTORY)\"" LDADD = $(GST_LIBS) $(GST_CHECK_LIBS) # valgrind testing diff --git a/tests/check/gst/typefindfunctions.c b/tests/check/gst/typefindfunctions.c index 08d3f1bc53..04c873e4a5 100644 --- a/tests/check/gst/typefindfunctions.c +++ b/tests/check/gst/typefindfunctions.c @@ -103,7 +103,40 @@ GST_START_TEST (test_broken_flac_in_ogg) gst_buffer_unref (buf); gst_caps_unref (caps); +} +GST_END_TEST; + +GST_START_TEST (test_jpeg_not_ac3) +{ + const gchar *type; + GstBuffer *buf; + GError *err = NULL; + GstCaps *caps = NULL; + gchar *path, *data = NULL; + gsize data_len; + + path = g_build_filename (GST_TEST_FILES_PATH, "partialframe.mjpeg", NULL); + GST_LOG ("reading file '%s'", path); + if (!g_file_get_contents (path, &data, &data_len, &err)) { + g_error ("error loading test file: %s", err->message); + } + + buf = gst_buffer_new (); + GST_BUFFER_DATA (buf) = (guint8 *) data; + GST_BUFFER_SIZE (buf) = data_len; + GST_BUFFER_OFFSET (buf) = 0; + + caps = gst_type_find_helper_for_buffer (NULL, buf, NULL); + fail_unless (caps != NULL); + GST_LOG ("Found type: %" GST_PTR_FORMAT, caps); + + type = gst_structure_get_name (gst_caps_get_structure (caps, 0)); + fail_unless_equals_string (type, "image/jpeg"); + + gst_buffer_unref (buf); + gst_caps_unref (caps); + g_free (data); } GST_END_TEST; @@ -118,6 +151,7 @@ typefindfunctions_suite (void) tcase_add_test (tc_chain, test_quicktime_mpeg4video); tcase_add_test (tc_chain, test_broken_flac_in_ogg); + tcase_add_test (tc_chain, test_jpeg_not_ac3); return s; } diff --git a/tests/files/Makefile.am b/tests/files/Makefile.am new file mode 100644 index 0000000000..5258f24d1d --- /dev/null +++ b/tests/files/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + partialframe.mjpeg diff --git a/tests/files/partialframe.mjpeg b/tests/files/partialframe.mjpeg new file mode 100644 index 0000000000000000000000000000000000000000..fe8621e1f5ebc8990dd2d11b061fc922c39c1327 GIT binary patch literal 1600 zcma)yeKga19LK-ES*Dw0Qq3t^HI1o`DbHL}nP<0jEvqXkSstbtS%v1Qhg)mS5+z0+ z8k3}CT-CTLdG3kH!pb(Sj4sWM%I-SncJ8@<-TOM9_xXH2uk+UQYox%?o#c&&0DzWD zwHeU71~{OF8bzag`~UV*ts;K&S~|5E)<&fn1aJT}5|9a?{{ajJLE3>}-}&eIroZ#A z%J=GjZcP(F>VZ$NCpyq707F7LNJujP^mQQZqk{x)U=HTiGxN{~dns%J1BzlDrHJ`r zo=%NfW`@{Ul34318BnSBRKW*1i#`&QmNdApVs(iZW)u(jfSt8j@$!I!Hj{RfT* zBB-y)cSXNthONAi(Kd6_QITE1RrpY&uHO+=Jv>5uhnr+f&dj9{Yo8gGf5AU13hK^gb<-wxd8xx~*JMWj8Z-^GA z*r_$()PT(I*4iZ*uoiS!M(rrd)Q&~Vf>>YdSe}HU6e81OHR;nJ8fDBrt(-NUZV?0|s2+E8APcy`i6?zhuyiJIgk8u|38v1%)31pZ*#m&pVJ z{+d+lV4m|Ir~TN$t9i6F&HWIR_CsPSzLDo`He=#|5%ll^srRRu$CN1(b!R)D;pMru zLpM~|Ln3C&RXioLJZAxenw6!%Czl6LkH$#TPM}agma3=J71Sd5zN-Y1lG6%C zSnPaO!pjCLi-+d78F$3PQ&VF`QHOlVC8gl+5yx;!0P9f@B(wg;Q9ITFN{P z!?qX}$>K0jc3sfXSWzn{Q%lXCS6pcx6Zu%?xOF8uavJM2lJjS3j~R;?n9W z!R3`lV5MvV1{^`5r~3FdeukzuvWmxo@K!h@ku&Z->^2h#!ja0f^Hy|L3B^8X&}w#% z2K+decLpygJJ{w?_3`=c5Dnl|(%vy*KryFrFWYuSyMZ2>m4nXefhWp2a18alBJjcZ zg=0o$E(O)`C1`oK7K*{rZ$}-BrQM zq3QRHLPa#Aqmf#c@a)-euJV%u>m?~->#O5RWc7}EuJ;yRiHYN51lCxdPqgk>aaTAf zwZs?^ELpr%)@(-8b(t#s>&H9(vDe2hYQVzl{x@Ef`IAF;Pw+_=*>#~7P`^tZ5}A!W z5wmm$4>gJ!L7?;TScvwdv@{1B7aM%-Nh`wqq&I2}f`dqje1mI=Y-=r!(g5>>!jK<# zX9eaJsMZ$GTCEqWtM_)%Btlio;(DjMB@P>)<``bRNi!5ToYD2F%Ne%}dmMQtxsyih zr4ilRnwpjQ6g$C-b24t9s=DJ^VPEcQ<5ly<$@eFAyJ4B4fP3&|^W4q+Fv(SaF4}%u zfvLed6I`S@F5!7$JP!b&-ZjnODK1m>6Cd*JM(p8hb4ho;9*in`Tvg1TCP~zDxpX(XZAFNSo|i(Mdxn1h(!%d{8bwb! b9k%h@^e%|A3@4w9m@-gEx^?yT*M|QE7_!0H literal 0 HcmV?d00001