From eaf329d39bef5acdad7748f74b81c7ad2856ae00 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 27 May 2016 12:49:32 +0100 Subject: [PATCH] tests: add unit test for JPEG-2000 rtp payloader leak https://bugzilla.gnome.org/show_bug.cgi?id=766870 --- tests/check/pipelines/simple-launch-lines.c | 26 ++++++++++++++++++++++++++ tests/files/Makefile.am | 1 + tests/files/gradient.j2k | Bin 0 -> 1679 bytes 3 files changed, 27 insertions(+) create mode 100644 tests/files/gradient.j2k diff --git a/tests/check/pipelines/simple-launch-lines.c b/tests/check/pipelines/simple-launch-lines.c index 84d0f21..e074e49 100644 --- a/tests/check/pipelines/simple-launch-lines.c +++ b/tests/check/pipelines/simple-launch-lines.c @@ -213,6 +213,32 @@ GST_START_TEST (test_rtp_payloaders) GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING), GST_MESSAGE_UNKNOWN, target_state); +#define J2K_TEST_FILE_PATH GST_TEST_FILES_PATH G_DIR_SEPARATOR_S "gradient.j2k" +#define J2KCAPS "image/x-jpc,colorspace=sYUV,num-components=3,width=720,height=576,pixel-aspect-ratio=1/1,framerate=30/1" + { + GstElement *pipeline, *src; + GstFlowReturn flow = GST_FLOW_OK; + GstBuffer *buf; + gchar *data; + gsize len; + + s = "appsrc caps=" J2KCAPS " name=src ! rtpj2kpay ! rtpj2kdepay ! fakesink"; + + fail_unless (g_file_get_contents (J2K_TEST_FILE_PATH, &data, &len, NULL)); + buf = gst_buffer_new_wrapped (data, len); + pipeline = setup_pipeline (s); + src = gst_bin_get_by_name (GST_BIN (pipeline), "src"); + g_object_set (src, "format", GST_FORMAT_TIME, NULL); + g_signal_emit_by_name (src, "push-buffer", buf, &flow); + gst_buffer_unref (buf); + fail_unless_equals_int (flow, GST_FLOW_OK); + g_signal_emit_by_name (src, "end-of-stream", &flow); + gst_object_unref (src); + run_pipeline (pipeline, s, + GST_MESSAGE_ANY & ~(GST_MESSAGE_ERROR | GST_MESSAGE_WARNING), + GST_MESSAGE_UNKNOWN, target_state); + } + /*s = FAKESRC " ! ! rtpac3depay ! " FAKESINK */ /*s = FAKESRC " ! ! asteriskh263 ! " FAKESINK; */ /*s = FAKESRC " ! ! rtpmpvdepay ! " FAKESINK; */ diff --git a/tests/files/Makefile.am b/tests/files/Makefile.am index 4872dcb..bd3282b 100644 --- a/tests/files/Makefile.am +++ b/tests/files/Makefile.am @@ -1,6 +1,7 @@ EXTRA_DIST = \ audiotestsrc.flac \ + gradient.j2k \ id3-407349-1.tag \ id3-407349-2.tag \ id3-447000-wcop.tag \ diff --git a/tests/files/gradient.j2k b/tests/files/gradient.j2k new file mode 100644 index 0000000000000000000000000000000000000000..ad2c94a621e8648d16fe0b47f591d78205f24b67 GIT binary patch literal 1679 zcmezG|38pHp8*J%E&#CukO2i~d}ek=Ms_A9Ao?G~zynmn$iT|N!oc`HhC$fD!NVf} z8U3HYzy&gf%^av8n1K_fHkLtz5mPZx0Ta|PpaLdL1(VNjx+xeCvfS)Y)@B#&NZs5| zY)Lg|py1Tv=>Ke94Gdk{nPuAF1GnAI-FCZeMe?>MlRQ->KDJou@NVX%(uv;|oRmme z!4P2jVqfu`=a%Q7#2fQn$~^l{Z=W~G_Rf)R}|^b+smi@k#JS$+gOJ zy>FQCVKz@i+PC;!EmAo!j1`gT( ztJE7T9@pJ;ygX(9lZ`bAg|VH&r+3;5hBq)jy)0NytdcB`g!RXMuGYPB_Q>3AJ!Y?i zD-UUR&51C#3A~f~zn)zp?7M}3=p}w0mg)s6I=k!dh)GGU+o-=)%x%xLBxO&V?L?_~ zV;{F>3roS>`q}+YZl8AY_cbk8pMNobeiE-z%dh*)t%82vFERbAvi-Lfog=Vwe`RoK zn$gkI>l+&OFur}e7l?jW=jFcLyM5cYd$;G^yL}Igs;l$CV$a{|E(N0B-Wd#hOMUde zhzs3X{LZ=Rlp5!y>-Qfss`3AnNI1pbc6H`J%5IFFa{Hw+r^IPxrDC^5fjjIzMNAQX zvLRg5?%-J!-1rOdFZPy<-*?serOpb`g1Wk2{cTm4_ zx_f7Bh3I3i(p-spVBA&tGpEb{Pv33uz^?E4!Y}i9HH@rQ9ymU0TAuvC$@1^fP>ZSm sxK{9A{f}owH@7w%*|NM~xwMbXKt?