1 include $(top_srcdir)/common/check.mak
3 CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.reg
4 TEST_FILES_DIRECTORY = $(top_srcdir)/tests/files
6 REGISTRY_ENVIRONMENT = \
7 GST_REGISTRY_1_0=$(CHECK_REGISTRY)
9 AM_TESTS_ENVIRONMENT += \
10 $(REGISTRY_ENVIRONMENT) \
11 GST_PLUGIN_SYSTEM_PATH_1_0= \
12 GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/ext:$(top_builddir)/sys:$(GSTPB_PLUGINS_DIR):$(GST_PLUGINS_DIR) \
13 GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good@$(top_builddir)" \
14 GST_STATE_IGNORE_ELEMENTS="aasink autoaudiosrc autoaudiosink autovideosrc autovideosink \
15 cacasink cairotextoverlay \
16 halaudiosrc halaudiosink jackaudiosrc jackaudiosink \
17 osssrc osssink osxaudiosink osxaudiosrc osxvideosrc osxvideosink \
18 pulsesink pulsesrc pulsemixer v4l2src" \
19 GSETTINGS_BACKEND="memory"
21 # fake device drivers: we could run hardware element tests against dummy drivers
22 # v4l2: vivo (part of normal kernel)
24 # gst-launch v4l2src device="/dev/video1" ! xvimagesink;
27 # alsa: snd-dummy (part of normal alsa, not removable)
29 # gst-launch alsasrc device="hw:2" ! fakesink
30 # gst-launch fakesrc ! alsasink device="hw:2"
32 # need a way to figure out value for the device property
34 # the core dumps of some machines have PIDs appended
35 CLEANFILES = core.* test-registry.*
37 clean-local: clean-local-check
38 distclean-local: distclean-local-orc
50 elements/audioamplify \
51 elements/audiochebband \
52 elements/audiocheblimit \
53 elements/audiodynamic \
55 elements/audiofirfilter \
56 elements/audioiirfilter \
57 elements/audioinvert \
58 elements/audiopanorama \
59 elements/audiowsincband \
60 elements/audiowsinclimit
65 if USE_PLUGIN_AUDIOPARSERS
66 check_audioparsers = \
71 elements/mpegaudioparse \
77 if USE_PLUGIN_AUTODETECT
78 check_autodetect = elements/autodetect
91 if USE_PLUGIN_DEBUGUTILS
92 check_debugutils = elements/capssetter
97 if USE_PLUGIN_DEINTERLACE
98 check_deinterlace = elements/deinterlace
104 check_dtmf = elements/dtmf
109 if USE_PLUGIN_EFFECTV
110 check_effectv = pipelines/effectv
115 if USE_PLUGIN_EQUALIZER
116 check_equalizer = elements/equalizer
122 check_flac = pipelines/flacdec
136 check_isomp4 = elements/qtmux
150 check_gdkpixbuf = elements/gdkpixbufsink elements/gdkpixbufoverlay
155 if USE_PLUGIN_ICYDEMUX
156 check_icydemux = elements/icydemux
161 if USE_PLUGIN_ID3DEMUX
162 check_id3demux = elements/id3demux
167 if USE_PLUGIN_IMAGEFREEZE
168 check_imagefreeze = elements/imagefreeze
173 if USE_PLUGIN_INTERLEAVE
175 elements/deinterleave \
190 check_level = elements/level
195 if USE_PLUGIN_MATROSKA
197 elements/matroskademux \
198 elements/matroskamux \
199 elements/matroskaparse
204 if USE_PLUGIN_MULTIFILE
205 check_multifile = elements/multifile elements/splitmux
210 if USE_PLUGIN_REPLAYGAIN
212 elements/rganalysis \
221 elements/rtp-payloading \
227 if USE_PLUGIN_RTPMANAGER
231 elements/rtpbin_buffer_list \
232 elements/rtpcollision \
233 elements/rtpjitterbuffer \
242 check_soup = elements/souphttpsrc
247 if USE_PLUGIN_SPECTRUM
248 check_spectrum = elements/spectrum
254 check_sunaudio = elements/sunaudio
259 if USE_PLUGIN_SHAPEWIPE
260 check_shapewipe = elements/shapewipe
281 if USE_PLUGIN_VIDEOBOX
282 check_videobox = elements/videobox
287 if USE_PLUGIN_VIDEOCROP
289 elements/aspectratiocrop \
295 if USE_PLUGIN_VIDEOFILTER
296 check_videofilter = elements/videofilter
301 if USE_PLUGIN_VIDEOMIXER
302 check_videomixer = elements/videomixer
308 check_vpx=elements/vp8enc elements/vp8dec
314 check_wavenc = pipelines/wavenc
321 elements/wavpackdec \
322 elements/wavpackenc \
328 if USE_PLUGIN_WAVPARSE
329 check_wavparse = elements/wavparse
335 check_y4m = elements/y4menc
341 check_orc = orc/deinterlace orc/videomixer orc/videobox
349 pipelines/simple-launch-lines \
350 pipelines/tagschecking \
353 $(check_audioparsers) \
354 $(check_autodetect) \
356 $(check_debugutils) \
357 $(check_deinterlace) \
367 $(check_imagefreeze) \
368 $(check_interleave) \
374 $(check_replaygain) \
376 $(check_rtpmanager) \
385 $(check_videofilter) \
386 $(check_videomixer) \
395 elements/rtp-payloading
397 TESTS = $(check_PROGRAMS)
399 AM_CFLAGS = $(GST_OBJ_CFLAGS) $(GST_CHECK_CFLAGS) $(CHECK_CFLAGS) \
400 $(GST_OPTION_CFLAGS) $(GST_CFLAGS) -DGST_TEST_FILES_PATH="\"$(TEST_FILES_DIRECTORY)\"" \
401 -DGST_CHECK_TEST_ENVIRONMENT_BEACON="\"GST_PLUGIN_LOADING_WHITELIST\"" \
402 -UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS
403 LDADD = $(GST_OBJ_LIBS) $(GST_CHECK_LIBS) $(CHECK_LIBS)
406 # videocrop disabled since it takes way too long in valgrind
407 VALGRIND_TESTS_DISABLE = \
411 SUPPRESSIONS = $(top_srcdir)/common/gst.supp $(srcdir)/gst-plugins-good.supp
413 # parser unit test convenience lib
414 noinst_LTLIBRARIES = libparser.la
415 libparser_la_SOURCES = elements/parser.c elements/parser.h
416 libparser_la_CFLAGS = \
417 -I$(top_srcdir)/tests/check \
418 $(GST_CHECK_CFLAGS) $(GST_OPTION_CFLAGS) -DGST_USE_UNSTABLE_API
420 elements_aacparse_LDADD = libparser.la $(LDADD)
422 elements_ac3parse_LDADD = libparser.la $(LDADD)
424 elements_amrparse_LDADD = libparser.la $(LDADD)
426 elements_flacparse_LDADD = libparser.la $(LDADD)
428 elements_flvdemux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
429 elements_flvdemux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgsttag-$(GST_API_VERSION) $(LDADD)
431 elements_mpegaudioparse_LDADD = libparser.la $(LDADD)
433 elements_aspectratiocrop_LDADD = $(LDADD)
434 elements_aspectratiocrop_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
436 elements_audioamplify_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
437 elements_audioamplify_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
439 elements_audiochebband_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
440 elements_audiochebband_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
442 elements_audiocheblimit_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
443 elements_audiocheblimit_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
445 elements_audiodynamic_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
446 elements_audiodynamic_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
448 elements_audioecho_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
449 elements_audioecho_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
451 elements_audioinvert_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
452 elements_audioinvert_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
454 elements_audiopanorama_LDADD = \
455 $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(GST_BASE_LIBS) \
456 $(GST_CONTROLLER_LIBS) $(LDADD)
458 elements_audiopanorama_CFLAGS = \
459 $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CONTROLLER_CFLAGS) \
460 $(CFLAGS) $(AM_CFLAGS)
462 elements_audiowsincband_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
463 elements_audiowsincband_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
465 elements_audiowsinclimit_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
466 elements_audiowsinclimit_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
468 elements_autodetect_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
469 elements_autodetect_LDADD = $(GST_BASE_LIBS) $(LDADD)
471 elements_equalizer_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
472 elements_equalizer_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
474 elements_rganalysis_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
475 elements_rganalysis_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
476 elements_rglimiter_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
477 elements_rglimiter_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
478 elements_rgvolume_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
479 elements_rgvolume_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
481 elements_spectrum_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
482 elements_spectrum_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
484 elements_alphacolor_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
485 elements_alpha_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
487 elements_deinterlace_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
488 elements_deinterlace_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(LDADD)
490 elements_dtmf_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
491 $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
492 elements_dtmf_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-@GST_API_VERSION@ \
493 $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
495 elements_deinterleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
496 elements_deinterleave_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
497 elements_interleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
498 elements_interleave_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
500 elements_level_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
501 elements_level_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
503 elements_imagefreeze_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
504 elements_imagefreeze_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
506 elements_jpegdec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GIO_CFLAGS) $(AM_CFLAGS)
507 elements_jpegdec_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstapp-$(GST_API_VERSION) -lgstpbutils-$(GST_API_VERSION) $(GST_BASE_LIBS) $(GIO_LIBS) $(LDADD)
509 elements_jpegenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
510 elements_jpegenc_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
512 elements_matroskamux_LDADD = $(GST_BASE_LIBS) $(LDADD) $(LIBM)
514 elements_mulawdec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
516 elements_mulawenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
518 elements_multifile_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
519 elements_multifile_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_LIBS) $(LDADD) $(LIBM)
521 elements_qtmux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
522 elements_qtmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstpbutils-@GST_API_VERSION@ \
523 $(GST_BASE_LIBS) $(GST_LIBS) $(GST_CHECK_LIBS)
525 elements_rtpbin_buffer_list_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
526 $(WARNING_CFLAGS) $(ERROR_CFLAGS) $(GST_CHECK_CFLAGS) $(AM_CFLAGS)
527 elements_rtpbin_buffer_list_LDADD = $(GST_PLUGINS_BASE_LIBS) \
528 -lgstrtp-$(GST_API_VERSION) \
529 $(GST_BASE_LIBS) $(GST_LIBS) $(GST_CHECK_LIBS) $(LDADD)
530 elements_rtpbin_buffer_list_SOURCES = elements/rtpbin_buffer_list.c
532 elements_rtph263_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
533 elements_rtph263_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
535 elements_rtpmux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
536 elements_rtpmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
538 elements_souphttpsrc_CFLAGS = $(SOUP_CFLAGS) $(AM_CFLAGS)
539 elements_souphttpsrc_LDADD = $(SOUP_LIBS) $(LDADD)
541 elements_sunaudio_CFLAGS = \
542 $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) \
544 elements_sunaudio_LDADD = \
545 $(GST_PLUGINS_BASE_LIBS) \
548 elements_udpsrc_CFLAGS = $(AM_CFLAGS) $(GIO_CFLAGS)
549 elements_udpsrc_LDADD = $(LDADD) $(GIO_LIBS)
551 elements_videocrop_LDADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(LDADD)
552 elements_videocrop_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
554 elements_videofilter_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
555 elements_videofilter_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(LDADD)
557 elements_rtpjitterbuffer_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
558 elements_rtpjitterbuffer_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-$(GST_API_VERSION) $(LDADD)
560 elements_rtprtx_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
561 elements_rtprtx_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-$(GST_API_VERSION) $(LDADD)
563 elements_rtpsession_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
564 elements_rtpsession_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-$(GST_API_VERSION) $(LDADD)
566 elements_rtpcollision_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
567 elements_rtpcollision_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstnet-$(GST_API_VERSION) -lgstrtp-$(GST_API_VERSION) $(GIO_LIBS) $(LDADD)
569 elements_rtpaux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
570 elements_rtpaux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstrtp-$(GST_API_VERSION) $(LDADD)
572 # FIXME: configure should check for gdk-pixbuf not gtk
573 # only need video.h header, not the lib
574 elements_gdkpixbufsink_CFLAGS = \
575 $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS) $(GDK_PIXBUF_CFLAGS)
576 elements_gdkpixbufsink_LDADD = \
577 $(LDADD) $(GDK_PIXBUF_LIBS)
579 elements_videomixer_LDADD = $(LDADD) $(GST_BASE_LIBS)
580 elements_videomixer_CFLAGS = $(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
582 pipelines_flacdec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
583 pipelines_flacdec_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
585 pipelines_wavenc_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
586 pipelines_wavenc_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) $(LDADD)
588 pipelines_wavpack_LDADD = $(LDADD) $(GST_BASE_LIBS)
589 pipelines_wavpack_CFLAGS = $(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
591 orc_deinterlace_CFLAGS = $(ORC_CFLAGS)
592 orc_deinterlace_LDADD = $(ORC_LIBS) -lorc-test-0.4
593 nodist_orc_deinterlace_SOURCES = orc/deinterlace.c
594 orc_videomixer_CFLAGS = $(ORC_CFLAGS)
595 orc_videomixer_LDADD = $(ORC_LIBS) -lorc-test-0.4
596 nodist_orc_videomixer_SOURCES = orc/videomixer.c
597 orc_videobox_CFLAGS = $(ORC_CFLAGS)
598 orc_videobox_LDADD = $(ORC_LIBS) -lorc-test-0.4
599 nodist_orc_videobox_SOURCES = orc/videobox.c
601 orc/deinterlace.c: $(top_srcdir)/gst/deinterlace/tvtime.orc
603 $(ORCC) --test -o $@ $<
605 orc/videomixer.c: $(top_srcdir)/gst/videomixer/videomixerorc.orc
607 $(ORCC) --test -o $@ $<
609 orc/videobox.c: $(top_srcdir)/gst/videobox/gstvideoboxorc.orc
611 $(ORCC) --test -o $@ $<
616 EXTRA_DIST = gst-plugins-good.supp