aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2013-03-22 18:20:09 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2013-03-22 18:20:09 +0100
commit897da27eab085cacf20a2ce07a909e436d9e273c (patch)
tree7199b63c00bd12243fddf2703d7b939eaf0b3e55
parentdff3649d52e5a935abffcf9baa4052219c802ee7 (diff)
Imported Upstream version 1.0.6upstream/1.0.6
-rw-r--r--ChangeLog635
-rw-r--r--Makefile.in4
-rw-r--r--NEWS48
-rw-r--r--RELEASE63
-rw-r--r--common/Makefile.in4
-rw-r--r--common/m4/Makefile.in4
-rw-r--r--config.h.in9
-rwxr-xr-xconfigure1076
-rw-r--r--configure.ac220
-rw-r--r--docs/Makefile.in4
-rw-r--r--docs/libs/Makefile.in4
-rw-r--r--docs/libs/html/compiling.html2
-rw-r--r--docs/libs/html/gst-plugins-bad-libs-GstSurfaceConverter.html2
-rw-r--r--docs/libs/html/gst-plugins-bad-libs-GstVideoContextInterface.html6
-rw-r--r--docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html10
-rw-r--r--docs/libs/html/gst-plugins-bad-libs.devhelp210
-rw-r--r--docs/libs/html/index.html2
-rw-r--r--docs/plugins/Makefile.in4
-rw-r--r--docs/plugins/gst-plugins-bad-plugins.args26
-rw-r--r--docs/plugins/gst-plugins-bad-plugins.hierarchy16
-rw-r--r--docs/plugins/html/ch01.html2
-rw-r--r--docs/plugins/html/ch02.html2
-rw-r--r--docs/plugins/html/ch03.html2
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-assrender.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-bulge.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-burn.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-camerabin.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-celtdec.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-celtenc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-chromium.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-circle.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html29
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html28
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-cverode.html29
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html32
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html35
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html32
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-diffuse.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dilate.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dodge.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dtmfsrc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-eglglessink.html29
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-exclusion.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-faac.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-faad.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-faceblur.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-facedetect.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-festival.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-fisheye.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-liveadder.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-marble.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-mimdec.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-mimenc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-mirror.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-modplug.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-mplex.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-pinch.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-celt.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-dirac.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-dtmf.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-eglglessink.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-rtpmux.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-scaletempo.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfmux.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfsrc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-rtpmux.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-scaletempo.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-shmsink.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-solarize.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-spacescope.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-speed.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-sphere.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-square.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-stretch.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-synaescope.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-templatematch.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-tunnel.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-twirl.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-videoparse.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-waterripple.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-wavescope.html6
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins-zbar.html4
-rw-r--r--docs/plugins/html/gst-plugins-bad-plugins.devhelp2370
-rw-r--r--docs/plugins/html/index.html2
-rw-r--r--docs/plugins/html/index.sgml24
-rw-r--r--docs/plugins/inspect/plugin-adpcmdec.xml2
-rw-r--r--docs/plugins/inspect/plugin-adpcmenc.xml2
-rw-r--r--docs/plugins/inspect/plugin-asfmux.xml2
-rw-r--r--docs/plugins/inspect/plugin-assrender.xml2
-rw-r--r--docs/plugins/inspect/plugin-audiovisualizers.xml2
-rw-r--r--docs/plugins/inspect/plugin-autoconvert.xml2
-rw-r--r--docs/plugins/inspect/plugin-bayer.xml2
-rw-r--r--docs/plugins/inspect/plugin-bz2.xml2
-rw-r--r--docs/plugins/inspect/plugin-camerabin.xml2
-rw-r--r--docs/plugins/inspect/plugin-celt.xml2
-rw-r--r--docs/plugins/inspect/plugin-chromaprint.xml2
-rw-r--r--docs/plugins/inspect/plugin-coloreffects.xml2
-rw-r--r--docs/plugins/inspect/plugin-curl.xml2
-rw-r--r--docs/plugins/inspect/plugin-dataurisrc.xml2
-rw-r--r--docs/plugins/inspect/plugin-debugutilsbad.xml2
-rw-r--r--docs/plugins/inspect/plugin-decklink.xml34
-rw-r--r--docs/plugins/inspect/plugin-dtmf.xml2
-rw-r--r--docs/plugins/inspect/plugin-dtsdec.xml2
-rw-r--r--docs/plugins/inspect/plugin-dvb.xml2
-rw-r--r--docs/plugins/inspect/plugin-dvbsuboverlay.xml2
-rw-r--r--docs/plugins/inspect/plugin-dvdspu.xml2
-rw-r--r--docs/plugins/inspect/plugin-faac.xml2
-rw-r--r--docs/plugins/inspect/plugin-faad.xml2
-rw-r--r--docs/plugins/inspect/plugin-festival.xml2
-rw-r--r--docs/plugins/inspect/plugin-fieldanalysis.xml2
-rw-r--r--docs/plugins/inspect/plugin-flite.xml2
-rw-r--r--docs/plugins/inspect/plugin-fragmented.xml2
-rw-r--r--docs/plugins/inspect/plugin-frei0r.xml2
-rw-r--r--docs/plugins/inspect/plugin-gaudieffects.xml2
-rw-r--r--docs/plugins/inspect/plugin-gdp.xml2
-rw-r--r--docs/plugins/inspect/plugin-geometrictransform.xml2
-rw-r--r--docs/plugins/inspect/plugin-gmedec.xml2
-rw-r--r--docs/plugins/inspect/plugin-gsm.xml2
-rw-r--r--docs/plugins/inspect/plugin-gstsiren.xml2
-rw-r--r--docs/plugins/inspect/plugin-id3tag.xml2
-rw-r--r--docs/plugins/inspect/plugin-inter.xml2
-rw-r--r--docs/plugins/inspect/plugin-interlace.xml2
-rw-r--r--docs/plugins/inspect/plugin-jpegformat.xml2
-rw-r--r--docs/plugins/inspect/plugin-liveadder.xml2
-rw-r--r--docs/plugins/inspect/plugin-mimic.xml2
-rw-r--r--docs/plugins/inspect/plugin-mms.xml2
-rw-r--r--docs/plugins/inspect/plugin-modplug.xml2
-rw-r--r--docs/plugins/inspect/plugin-mpeg2enc.xml2
-rw-r--r--docs/plugins/inspect/plugin-mpegpsdemux.xml2
-rw-r--r--docs/plugins/inspect/plugin-mpegpsmux.xml2
-rw-r--r--docs/plugins/inspect/plugin-mpegtsdemux.xml2
-rw-r--r--docs/plugins/inspect/plugin-mpegtsmux.xml2
-rw-r--r--docs/plugins/inspect/plugin-mpg123.xml2
-rw-r--r--docs/plugins/inspect/plugin-mplex.xml2
-rw-r--r--docs/plugins/inspect/plugin-opus.xml2
-rw-r--r--docs/plugins/inspect/plugin-pcapparse.xml2
-rw-r--r--docs/plugins/inspect/plugin-pnm.xml2
-rw-r--r--docs/plugins/inspect/plugin-rawparse.xml2
-rw-r--r--docs/plugins/inspect/plugin-removesilence.xml2
-rw-r--r--docs/plugins/inspect/plugin-resindvd.xml2
-rw-r--r--docs/plugins/inspect/plugin-rtmp.xml2
-rw-r--r--docs/plugins/inspect/plugin-rtpmux.xml2
-rw-r--r--docs/plugins/inspect/plugin-rtpvp8.xml2
-rw-r--r--docs/plugins/inspect/plugin-scaletempo.xml2
-rw-r--r--docs/plugins/inspect/plugin-schro.xml2
-rw-r--r--docs/plugins/inspect/plugin-sdp.xml2
-rw-r--r--docs/plugins/inspect/plugin-segmentclip.xml2
-rw-r--r--docs/plugins/inspect/plugin-shm.xml2
-rw-r--r--docs/plugins/inspect/plugin-smooth.xml2
-rw-r--r--docs/plugins/inspect/plugin-soundtouch.xml2
-rw-r--r--docs/plugins/inspect/plugin-spandsp.xml2
-rw-r--r--docs/plugins/inspect/plugin-speed.xml2
-rw-r--r--docs/plugins/inspect/plugin-subenc.xml2
-rw-r--r--docs/plugins/inspect/plugin-videoparsersbad.xml2
-rw-r--r--docs/plugins/inspect/plugin-voaacenc.xml2
-rw-r--r--docs/plugins/inspect/plugin-voamrwbenc.xml2
-rw-r--r--docs/plugins/inspect/plugin-y4mdec.xml2
-rw-r--r--docs/plugins/inspect/plugin-zbar.xml2
-rw-r--r--ext/Makefile.in4
-rw-r--r--ext/apexsink/Makefile.in4
-rw-r--r--ext/assrender/Makefile.in4
-rw-r--r--ext/bz2/Makefile.in4
-rw-r--r--ext/cdaudio/Makefile.in4
-rw-r--r--ext/celt/Makefile.in4
-rw-r--r--ext/chromaprint/Makefile.in4
-rw-r--r--ext/cog/Makefile.in4
-rw-r--r--ext/cog/gstcogorc-dist.c13
-rw-r--r--ext/cog/gstcogorc-dist.h13
-rw-r--r--ext/curl/Makefile.in4
-rw-r--r--ext/curl/gstcurltlssink.c5
-rw-r--r--ext/dc1394/Makefile.in4
-rw-r--r--ext/dirac/Makefile.in4
-rw-r--r--ext/directfb/Makefile.in4
-rw-r--r--ext/dts/Makefile.in4
-rw-r--r--ext/eglgles/Makefile.am15
-rw-r--r--ext/eglgles/Makefile.in39
-rw-r--r--ext/eglgles/gstdataqueue.c687
-rw-r--r--ext/eglgles/gstdataqueue.h163
-rw-r--r--ext/eglgles/gsteglglessink.c1904
-rw-r--r--ext/eglgles/gsteglglessink.h67
-rw-r--r--ext/eglgles/gstqueuearray.c341
-rw-r--r--ext/eglgles/gstqueuearray.h52
-rw-r--r--ext/eglgles/video_platform_wrapper.c173
-rw-r--r--ext/eglgles/video_platform_wrapper.h6
-rw-r--r--ext/faac/Makefile.in4
-rw-r--r--ext/faad/Makefile.in4
-rw-r--r--ext/flite/Makefile.in4
-rw-r--r--ext/gme/Makefile.in4
-rw-r--r--ext/gsettings/Makefile.in4
-rw-r--r--ext/gsm/Makefile.in4
-rw-r--r--ext/jasper/Makefile.in4
-rw-r--r--ext/kate/Makefile.in4
-rw-r--r--ext/ladspa/Makefile.in4
-rw-r--r--ext/libmms/Makefile.in4
-rw-r--r--ext/lv2/Makefile.in4
-rw-r--r--ext/mimic/Makefile.in4
-rw-r--r--ext/modplug/Makefile.in4
-rw-r--r--ext/mpeg2enc/Makefile.in4
-rw-r--r--ext/mpg123/Makefile.in4
-rw-r--r--ext/mplex/Makefile.in4
-rw-r--r--ext/musepack/Makefile.in4
-rw-r--r--ext/musicbrainz/Makefile.in4
-rw-r--r--ext/mythtv/Makefile.in4
-rw-r--r--ext/nas/Makefile.in4
-rw-r--r--ext/neon/Makefile.in4
-rw-r--r--ext/ofa/Makefile.in4
-rw-r--r--ext/openal/Makefile.in4
-rw-r--r--ext/opencv/Makefile.in4
-rw-r--r--ext/opus/Makefile.in4
-rw-r--r--ext/opus/gstopusdec.c4
-rw-r--r--ext/opus/gstopusenc.c3
-rw-r--r--ext/opus/gstrtpopuspay.c11
-rw-r--r--ext/resindvd/Makefile.in4
-rw-r--r--ext/rsvg/Makefile.in4
-rw-r--r--ext/rtmp/Makefile.in4
-rw-r--r--ext/schroedinger/Makefile.in4
-rw-r--r--ext/sdl/Makefile.in4
-rw-r--r--ext/sndfile/Makefile.in4
-rw-r--r--ext/sndio/Makefile.in4
-rw-r--r--ext/soundtouch/Makefile.in4
-rw-r--r--ext/spandsp/Makefile.in4
-rw-r--r--ext/spc/Makefile.in4
-rw-r--r--ext/swfdec/Makefile.in4
-rw-r--r--ext/teletextdec/Makefile.in4
-rw-r--r--ext/timidity/Makefile.in4
-rw-r--r--ext/voaacenc/Makefile.in4
-rw-r--r--ext/voamrwbenc/Makefile.in4
-rw-r--r--ext/wayland/Makefile.in4
-rw-r--r--ext/xvid/Makefile.in4
-rw-r--r--ext/zbar/Makefile.in4
-rw-r--r--gst-libs/Makefile.in4
-rw-r--r--gst-libs/gst/Makefile.in4
-rw-r--r--gst-libs/gst/basecamerabinsrc/Makefile.in4
-rw-r--r--gst-libs/gst/codecparsers/Makefile.in4
-rw-r--r--gst-libs/gst/codecparsers/gsth264parser.c2
-rw-r--r--gst-libs/gst/codecparsers/gstmpegvideoparser.c66
-rw-r--r--gst-libs/gst/codecparsers/gstmpegvideoparser.h14
-rw-r--r--gst-libs/gst/codecparsers/gstvc1parser.c23
-rw-r--r--gst-libs/gst/interfaces/Makefile.in4
-rw-r--r--gst-libs/gst/signalprocessor/Makefile.in4
-rw-r--r--gst-libs/gst/video/Makefile.in4
-rw-r--r--gst-plugins-bad.doap10
-rw-r--r--gst-plugins-bad.spec2
-rw-r--r--gst/Makefile.in4
-rw-r--r--gst/adpcmdec/Makefile.in4
-rw-r--r--gst/adpcmenc/Makefile.in4
-rw-r--r--gst/aiff/Makefile.in4
-rw-r--r--gst/asfmux/Makefile.in4
-rw-r--r--gst/audiovisualizers/Makefile.in4
-rw-r--r--gst/audiovisualizers/gstaudiovisualizer.c6
-rw-r--r--gst/autoconvert/Makefile.in4
-rw-r--r--gst/bayer/Makefile.in4
-rw-r--r--gst/camerabin2/Makefile.in4
-rw-r--r--gst/cdxaparse/Makefile.in4
-rw-r--r--gst/coloreffects/Makefile.in4
-rw-r--r--gst/dataurisrc/Makefile.in4
-rw-r--r--gst/dccp/Makefile.in4
-rw-r--r--gst/debugutils/Makefile.in4
-rw-r--r--gst/dtmf/Makefile.in4
-rw-r--r--gst/dvbsuboverlay/Makefile.in4
-rw-r--r--gst/dvdspu/Makefile.in4
-rw-r--r--gst/dvdspu/gstdvdspu-render.c2
-rw-r--r--gst/faceoverlay/Makefile.in4
-rw-r--r--gst/festival/Makefile.in4
-rw-r--r--gst/fieldanalysis/Makefile.in4
-rw-r--r--gst/freeverb/Makefile.in4
-rw-r--r--gst/frei0r/Makefile.in4
-rw-r--r--gst/gaudieffects/Makefile.in4
-rw-r--r--gst/gdp/Makefile.in4
-rw-r--r--gst/gdp/gstgdppay.c2
-rw-r--r--gst/geometrictransform/Makefile.in4
-rw-r--r--gst/hdvparse/Makefile.in4
-rw-r--r--gst/hls/Makefile.in4
-rw-r--r--gst/id3tag/Makefile.in4
-rw-r--r--gst/inter/Makefile.in4
-rw-r--r--gst/inter/gstintertest.c11
-rw-r--r--gst/interlace/Makefile.in4
-rw-r--r--gst/interlace/gstinterlace.c8
-rw-r--r--gst/ivfparse/Makefile.in4
-rw-r--r--gst/jp2kdecimator/Makefile.in4
-rw-r--r--gst/jpegformat/Makefile.in4
-rw-r--r--gst/librfb/Makefile.in4
-rw-r--r--gst/liveadder/Makefile.in4
-rw-r--r--gst/mpegdemux/Makefile.in4
-rw-r--r--gst/mpegpsmux/Makefile.in4
-rw-r--r--gst/mpegtsdemux/Makefile.in4
-rw-r--r--gst/mpegtsdemux/tsdemux.c19
-rw-r--r--gst/mpegtsmux/Makefile.in4
-rw-r--r--gst/mpegtsmux/tsmux/Makefile.in4
-rw-r--r--gst/mve/Makefile.in4
-rw-r--r--gst/mxf/Makefile.in4
-rw-r--r--gst/nsf/Makefile.in4
-rw-r--r--gst/nuvdemux/Makefile.in4
-rw-r--r--gst/patchdetect/Makefile.in4
-rw-r--r--gst/pcapparse/Makefile.in4
-rw-r--r--gst/pnm/Makefile.in4
-rw-r--r--gst/rawparse/Makefile.in4
-rw-r--r--gst/real/Makefile.in4
-rw-r--r--gst/removesilence/Makefile.in4
-rw-r--r--gst/rtpmux/Makefile.in4
-rw-r--r--gst/rtpvp8/Makefile.in4
-rw-r--r--gst/scaletempo/Makefile.in4
-rw-r--r--gst/sdi/Makefile.in4
-rw-r--r--gst/sdp/Makefile.in4
-rw-r--r--gst/segmentclip/Makefile.in4
-rw-r--r--gst/siren/Makefile.in4
-rw-r--r--gst/smooth/Makefile.in4
-rw-r--r--gst/speed/Makefile.in4
-rw-r--r--gst/stereo/Makefile.in4
-rw-r--r--gst/subenc/Makefile.in4
-rw-r--r--gst/tta/Makefile.in4
-rw-r--r--gst/videofilters/Makefile.in4
-rw-r--r--gst/videomeasure/Makefile.in4
-rw-r--r--gst/videoparsers/Makefile.in4
-rw-r--r--gst/videosignal/Makefile.in4
-rw-r--r--gst/vmnc/Makefile.in4
-rw-r--r--gst/y4m/Makefile.in4
-rw-r--r--m4/Makefile.in4
-rw-r--r--pkgconfig/Makefile.in4
-rw-r--r--po/af.gmobin783 -> 783 bytes
-rw-r--r--po/af.po2
-rw-r--r--po/az.gmobin845 -> 845 bytes
-rw-r--r--po/az.po2
-rw-r--r--po/bg.gmobin2556 -> 2556 bytes
-rw-r--r--po/bg.po2
-rw-r--r--po/ca.gmobin2091 -> 2091 bytes
-rw-r--r--po/ca.po2
-rw-r--r--po/cs.gmobin1729 -> 1729 bytes
-rw-r--r--po/cs.po2
-rw-r--r--po/da.gmobin1886 -> 1886 bytes
-rw-r--r--po/da.po2
-rw-r--r--po/de.gmobin2118 -> 2118 bytes
-rw-r--r--po/de.po2
-rw-r--r--po/el.gmobin2530 -> 2530 bytes
-rw-r--r--po/el.po2
-rw-r--r--po/en_GB.gmobin777 -> 777 bytes
-rw-r--r--po/en_GB.po2
-rw-r--r--po/eo.gmobin1705 -> 1705 bytes
-rw-r--r--po/eo.po2
-rw-r--r--po/es.gmobin2040 -> 2040 bytes
-rw-r--r--po/es.po2
-rw-r--r--po/eu.gmobin1704 -> 1704 bytes
-rw-r--r--po/eu.po2
-rw-r--r--po/fi.gmobin1647 -> 1647 bytes
-rw-r--r--po/fi.po2
-rw-r--r--po/fr.gmobin2055 -> 2055 bytes
-rw-r--r--po/fr.po2
-rw-r--r--po/gl.gmobin2151 -> 2151 bytes
-rw-r--r--po/gl.po2
-rw-r--r--po/gst-plugins-bad-1.0.pot4
-rw-r--r--po/hr.gmobin2042 -> 2042 bytes
-rw-r--r--po/hr.po2
-rw-r--r--po/hu.gmobin2035 -> 2035 bytes
-rw-r--r--po/hu.po2
-rw-r--r--po/id.gmobin1914 -> 1914 bytes
-rw-r--r--po/id.po2
-rw-r--r--po/it.gmobin1657 -> 1657 bytes
-rw-r--r--po/it.po2
-rw-r--r--po/ja.gmobin2381 -> 2381 bytes
-rw-r--r--po/ja.po2
-rw-r--r--po/ky.gmobin970 -> 970 bytes
-rw-r--r--po/ky.po2
-rw-r--r--po/lt.gmobin1383 -> 1383 bytes
-rw-r--r--po/lt.po2
-rw-r--r--po/lv.gmobin2109 -> 2109 bytes
-rw-r--r--po/lv.po2
-rw-r--r--po/mt.gmobin1624 -> 1624 bytes
-rw-r--r--po/mt.po2
-rw-r--r--po/nb.gmobin1948 -> 1948 bytes
-rw-r--r--po/nb.po2
-rw-r--r--po/nl.gmobin2028 -> 2028 bytes
-rw-r--r--po/nl.po2
-rw-r--r--po/or.gmobin955 -> 955 bytes
-rw-r--r--po/or.po2
-rw-r--r--po/pl.gmobin2045 -> 2045 bytes
-rw-r--r--po/pl.po2
-rw-r--r--po/pt_BR.gmobin1749 -> 1749 bytes
-rw-r--r--po/pt_BR.po2
-rw-r--r--po/ro.gmobin1853 -> 1853 bytes
-rw-r--r--po/ro.po2
-rw-r--r--po/ru.gmobin2509 -> 2509 bytes
-rw-r--r--po/ru.po2
-rw-r--r--po/sk.gmobin1775 -> 1775 bytes
-rw-r--r--po/sk.po2
-rw-r--r--po/sl.gmobin2100 -> 2100 bytes
-rw-r--r--po/sl.po2
-rw-r--r--po/sq.gmobin1259 -> 1259 bytes
-rw-r--r--po/sq.po2
-rw-r--r--po/sr.gmobin2619 -> 2619 bytes
-rw-r--r--po/sr.po2
-rw-r--r--po/sv.gmobin1588 -> 1588 bytes
-rw-r--r--po/sv.po2
-rw-r--r--po/tr.gmobin1833 -> 1833 bytes
-rw-r--r--po/tr.po2
-rw-r--r--po/uk.gmobin2626 -> 2626 bytes
-rw-r--r--po/uk.po2
-rw-r--r--po/vi.gmobin2277 -> 2277 bytes
-rw-r--r--po/vi.po2
-rw-r--r--po/zh_CN.gmobin1539 -> 1539 bytes
-rw-r--r--po/zh_CN.po2
-rw-r--r--sys/Makefile.in4
-rw-r--r--sys/acmenc/Makefile.in4
-rw-r--r--sys/acmmp3dec/Makefile.in4
-rw-r--r--sys/androidmedia/Makefile.in4
-rw-r--r--sys/applemedia/Makefile.in4
-rw-r--r--sys/avc/Makefile.in4
-rw-r--r--sys/d3dvideosink/Makefile.in4
-rw-r--r--sys/decklink/Makefile.am5
-rw-r--r--sys/decklink/Makefile.in31
-rw-r--r--sys/decklink/capture.cpp25
-rw-r--r--sys/decklink/capture.h2
-rw-r--r--sys/decklink/gstdecklink.cpp10
-rw-r--r--sys/decklink/gstdecklinksink.cpp891
-rw-r--r--sys/decklink/gstdecklinksink.h19
-rw-r--r--sys/decklink/gstdecklinksrc.cpp1041
-rw-r--r--sys/decklink/gstdecklinksrc.h17
-rw-r--r--sys/directdraw/Makefile.in4
-rw-r--r--sys/directsound/Makefile.in4
-rw-r--r--sys/dshowdecwrapper/Makefile.in4
-rw-r--r--sys/dshowsrcwrapper/Makefile.in4
-rw-r--r--sys/dshowvideosink/Makefile.in4
-rw-r--r--sys/dvb/Makefile.in4
-rw-r--r--sys/dvb/gstdvbsrc.c2
-rw-r--r--sys/fbdev/Makefile.in4
-rw-r--r--sys/linsys/Makefile.in4
-rw-r--r--sys/opensles/Makefile.am5
-rw-r--r--sys/opensles/Makefile.in9
-rw-r--r--sys/opensles/opensles.c57
-rw-r--r--sys/opensles/openslesringbuffer.c154
-rw-r--r--sys/opensles/openslesringbuffer.h16
-rw-r--r--sys/opensles/openslessink.c90
-rw-r--r--sys/opensles/openslessink.h6
-rw-r--r--sys/opensles/openslessrc.c63
-rw-r--r--sys/opensles/openslessrc.h6
-rw-r--r--sys/osxvideo/Makefile.in4
-rw-r--r--sys/pvr2d/Makefile.in4
-rw-r--r--sys/qtwrapper/Makefile.in4
-rw-r--r--sys/shm/Makefile.in4
-rw-r--r--sys/uvch264/Makefile.in4
-rw-r--r--sys/vcd/Makefile.in4
-rw-r--r--sys/vdpau/Makefile.in4
-rw-r--r--sys/vdpau/basevideodecoder/Makefile.in4
-rw-r--r--sys/vdpau/gstvdp/Makefile.in4
-rw-r--r--sys/wasapi/Makefile.in4
-rw-r--r--sys/wininet/Makefile.in4
-rw-r--r--sys/winks/Makefile.in4
-rw-r--r--sys/winscreencap/Makefile.in4
-rw-r--r--tests/Makefile.in4
-rw-r--r--tests/check/Makefile.in4
-rw-r--r--tests/check/orc/bayer.c13
-rw-r--r--tests/check/orc/cog.c13
-rw-r--r--tests/examples/Makefile.in4
-rw-r--r--tests/examples/camerabin2/Makefile.in4
-rw-r--r--tests/examples/directfb/Makefile.in4
-rw-r--r--tests/examples/mxf/Makefile.in4
-rw-r--r--tests/examples/opencv/Makefile.in4
-rw-r--r--tests/examples/scaletempo/Makefile.in4
-rw-r--r--tests/examples/uvch264/Makefile.in4
-rw-r--r--tests/files/Makefile.in4
-rw-r--r--tests/icles/Makefile.in4
-rw-r--r--tools/Makefile.in4
-rw-r--r--tools/element-templates/basetransform170
-rw-r--r--tools/element-templates/gobject4
-rw-r--r--tools/element-templates/sinkpad-simple2
-rw-r--r--tools/element-templates/srcpad-simple2
-rwxr-xr-xtools/gst-element-maker40
-rw-r--r--win32/common/config.h2
529 files changed, 6751 insertions, 3906 deletions
diff --git a/ChangeLog b/ChangeLog
index 57832e5e..bbe192e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,640 @@
+=== release 1.0.6 ===
+
+2013-03-22 Tim-Philipp Müller <tim@centricular.net>
+
+ * configure.ac:
+ releasing 1.0.6
+
+2013-03-20 10:49:04 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * sys/decklink/gstdecklinksink.cpp:
+ decklinksink: fix some compiler warnings
+
+2013-03-18 21:12:00 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * sys/decklink/gstdecklinksink.cpp:
+ decklinksink: obtain class from object
+
+2013-03-16 21:34:57 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * sys/decklink/gstdecklinksrc.cpp:
+ decklinksrc: pause streaming thread and send EOS event on error
+ Instead of just posting an EOS message and continuing,
+ actually pause the thread.
+
+2013-03-15 20:21:47 -0700 David Schleef <ds@schleef.org>
+
+ * configure.ac:
+ configure: Mark decklink as ported
+
+2013-02-28 18:54:15 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * sys/decklink/Makefile.am:
+ * sys/decklink/gstdecklinksink.cpp:
+ * sys/decklink/gstdecklinksink.h:
+ decklinksink: port to 1.0
+ Compiles, not tested yet.
+
+2013-02-28 18:53:54 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * sys/decklink/gstdecklinksrc.cpp:
+ decklinksrc: add layout=interleaved to audio caps
+
+2013-02-27 23:27:20 +0000 Tim-Philipp Müller <tim@centricular.net>
+
+ * sys/decklink/Makefile.am:
+ * sys/decklink/capture.cpp:
+ * sys/decklink/capture.h:
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklinksrc.cpp:
+ * sys/decklink/gstdecklinksrc.h:
+ decklinksrc: port to 1.0
+ Compiles, not tested yet. A great number of superfluous custom
+ pad functions may have been harmed in the making of this port.
+
+2013-03-21 15:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/opensles/openslesringbuffer.c:
+ opensles: Include string.h for memcpy()
+
+2013-03-21 11:10:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * ext/eglgles/Makefile.am:
+ * ext/eglgles/gstdataqueue.c:
+ * ext/eglgles/gstdataqueue.h:
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ * ext/eglgles/gstqueuearray.c:
+ * ext/eglgles/gstqueuearray.h:
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Make more similar to latest master
+
+2013-03-21 10:26:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * ext/eglgles/Makefile.am:
+ configure: Backport improved EGL configure checks
+
+2013-03-13 11:09:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Add RGBA to the caps again
+
+2013-03-05 12:47:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ eglglessink: Always use an RGBA configuration
+ Conflicts:
+ ext/eglgles/gsteglglessink.c
+
+2013-02-22 10:58:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Fix compiler warning on RPi
+ Conflicts:
+ ext/eglgles/gsteglglessink.c
+
+2013-02-28 12:04:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: gst_video_sink_center_rect() takes the structs itself instead of pointers as first parameters
+
+2013-02-28 11:27:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Fix aspect-ratio issues caused by scaling on RPi
+ Conflicts:
+ ext/eglgles/video_platform_wrapper.c
+
+2013-02-13 15:20:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Close the dispman display on RPi after usage
+
+2013-02-13 15:09:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: For RPi, initialize bcm_host in plugin_init()
+
+2013-02-12 18:36:10 +0100 Julian Scheel <julian@jusst.de>
+
+ * configure.ac:
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Add bcm/Raspberry Pi support.
+ This adds a video platform backend for the dispmanx display manager used by
+ broadcom and the Raspberry Pi.
+ Signed-off-by: Julian Scheel <julian@jusst.de>
+ Conflicts:
+ ext/eglgles/video_platform_wrapper.c
+
+2012-12-27 10:51:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * ext/eglgles/Makefile.am:
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Add configure parameter to chose the EGL window system
+ Only needed for creating native windows.
+
+2013-01-02 16:10:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Remove packed YUV support
+ This will not allow zero-copy because the same
+ EGLImage would need to be used for two different
+ textures with a different format.
+ Conflicts:
+ ext/eglgles/gsteglglessink.c
+
+2012-12-31 11:38:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Downgrade a GST_ERROR to a GST_DEBUG
+
+2012-12-30 14:22:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Make last_flow handling more threadsafe
+ Conflicts:
+ ext/eglgles/gsteglglessink.c
+
+2012-12-30 11:32:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Fix indention
+
+2012-12-30 11:32:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Return the last_flow immediately if it wasn't GST_FLOW_OK
+
+2012-12-30 11:29:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Fix copy&paste mistake
+
+2012-12-30 10:45:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Improve EGL/GL error handling a bit
+
+2012-12-30 10:43:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Don't access the video frame data if not necessary
+
+2012-12-30 10:18:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Configure caps from the setcaps function already
+
+2012-12-28 14:05:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ eglglessink: Some refactoring as preparation for platform specific rendering
+
+2012-12-28 19:36:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Bind the OpenGL ES API in the render thread too
+
+2012-12-28 13:08:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.h:
+ eglglessink: Add some more comments
+
+2012-12-28 12:40:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Only use the GstVideoFrame if we have a buffer
+
+2012-12-26 17:35:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Add support for Mali fbdev EGL driver
+
+2012-12-26 17:25:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ eglglessink: Add support for video meta and arbitrary strides
+
+2012-12-26 15:58:55 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Fix width/height swap in last commit
+
+2012-12-26 15:46:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Remove debug function call from previous commit
+
+2012-12-26 14:39:03 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Fix handling of GstVideoOverlay::set_render_rect() and crop metadata
+
+2012-12-26 10:54:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Add a cast from EGLNativeWindowType to Window to fix a compiler warning
+
+2012-12-26 10:39:52 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Fix a crash on GstVideoOverlay::expose()
+
+2012-12-26 10:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ * ext/eglgles/video_platform_wrapper.c:
+ * ext/eglgles/video_platform_wrapper.h:
+ eglglessink: Fix crash when closing internal X11 window
+
+2012-12-26 10:20:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * ext/eglgles/video_platform_wrapper.c:
+ eglglessink: Add proper check for X11
+
+2012-11-02 11:29:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Use more constants instead of hardcoding values
+
+2012-11-01 13:51:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: Post stream-status messages for our render thread
+
+2012-10-31 13:54:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ eglglessink: If pushing an item on the queue fails, free it
+ Otherwise we're going to leak the item.
+
+2012-10-25 14:28:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ eglglessink: Stop using deprecated GLib thread API
+
+2012-10-22 11:41:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ eglglessink: Add support for crop metadata
+
+2012-10-22 11:18:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * ext/eglgles/Makefile.am:
+ * ext/eglgles/gsteglglessink.c:
+ * ext/eglgles/gsteglglessink.h:
+ eglglessink: Port to 1.0
+
+2012-11-02 11:24:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/opensles/openslesringbuffer.c:
+ opensles: Fix compilation with debugging enabled
+
+2012-11-01 15:36:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/opensles/openslesringbuffer.c:
+ opensles: Remove unused variable
+
+2012-11-01 15:35:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/opensles/opensles.c:
+ * sys/opensles/opensles.h:
+ * sys/opensles/openslesringbuffer.c:
+ * sys/opensles/openslessink.c:
+ opensles: Make sure to only ever create a single engine object
+ The OpenSL ES spec defines:
+ An implementation shall enable creation of at least one such object, but
+ attempting to create more instances (either by a single application or by
+ several different applications) may fail.
+
+2012-10-18 16:23:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * configure.ac:
+ * sys/opensles/Makefile.am:
+ * sys/opensles/opensles.c:
+ * sys/opensles/openslesringbuffer.c:
+ * sys/opensles/openslesringbuffer.h:
+ * sys/opensles/openslessink.c:
+ * sys/opensles/openslessink.h:
+ * sys/opensles/openslessrc.c:
+ * sys/opensles/openslessrc.h:
+ opensles: Port to 1.0
+
+2013-03-11 21:55:28 -0600 Greg Rutz <greg@gsr-tek.com>
+
+ * gst/audiovisualizers/gstaudiovisualizer.c:
+ audiovisualizer: fix improper video frame clear operation
+ The current code is memsetting the GstVideoFrame.data address to 0s (which
+ causes a segfault). This member is actually an array of data buffers (one for
+ each plane). This fix iterates over each data plane to clear them all.
+ https://bugzilla.gnome.org/show_bug.cgi?id=695655
+
+2013-02-11 11:06:32 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * ext/opus/gstopusdec.c:
+ opusdec: clear the state of the decoder
+ Set the channels and rate back to their default values in _stop because they
+ are used to renegotiate when needed.
+ See https://bugzilla.gnome.org/show_bug.cgi?id=692950
+
+2013-02-08 00:06:16 +1100 Tim 'mithro' Ansell <mithro@mithis.com>
+
+ * gst/gdp/gstgdppay.c:
+ gdppay: fix buffer leak when new caps are same as old caps
+ The leak occurs when you got a message with identical caps to the ones you
+ already had.
+ https://bugzilla.gnome.org/show_bug.cgi?id=693324
+
+2013-02-07 22:26:15 +1100 Jan Schmidt <thaytan@noraisin.net>
+
+ * gst/dvdspu/gstdvdspu-render.c:
+ dvdspu: Fix the rendering of PGS windows with left != 0
+ When rendering a PGS window area where the left edge is not at
+ pixel 0, the chroma was being rendered in the wrong place since
+ commit 4dc648d3430b67592cf1413ccef415f70889d71e
+
+2013-02-07 11:31:12 +0000 Tim Ansell <gnome at mithis.com>
+
+ * gst/inter/gstintertest.c:
+ inter: fix leaks in test
+ https://bugzilla.gnome.org/show_bug.cgi?id=693300
+
+2013-02-06 15:48:06 -0800 David Schleef <ds@schleef.org>
+
+ * gst/interlace/gstinterlace.c:
+ interlace: fix negotiation for true interlaced modes
+
+2013-02-06 12:35:36 -0800 David Schleef <ds@schleef.org>
+
+ * tools/element-templates/basetransform:
+ * tools/element-templates/gobject:
+ * tools/element-templates/sinkpad-simple:
+ * tools/element-templates/srcpad-simple:
+ * tools/gst-element-maker:
+ element-maker: Update somewhat for 1.0
+ Only converted basetransform for the moment. It's probably easier
+ to write templates from scratch from the documentation.
+
+2013-02-05 11:56:46 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+ * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+ codecparsers: mpeg2: add helpers to convert quantization matrices.
+ Add utility functions to convert quantization matrices from zigzag scan
+ order (as encoded in the bitstream) into raster scan order. Also provide
+ another function to reverse the operation.
+ https://bugzilla.gnome.org/show_bug.cgi?id=693000
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ (cherry picked from commit 250555a7dec8f1a396a20994d28395249eb406d7)
+
+2013-01-31 16:13:22 +0800 Cong Zhong <congx.zhong@intel.com>
+
+ * gst-libs/gst/codecparsers/gstmpegvideoparser.c:
+ * gst-libs/gst/codecparsers/gstmpegvideoparser.h:
+ codecparsers: mpeg2: store quantization matrices in zigzag scan order.
+ Quantizer matrices are encoded in zigzag scan order in the bitstream,
+ but they are stored in raster scan order when they are parsed. However,
+ default matrices were also prepared in zigzag scan order, hence the
+ mismatch. i.e. the matrices were presented either in raster scan order
+ if they are explicitly present in the bitstream, or they were presented
+ in zigzag scan order if the default definitions were to be used instead.
+ One way to solve this problem is to always expose the quantization
+ matrices in zigzag scan order, since this is the role of the parser to
+ not build up stories from the source bitstream and just present what
+ is in there.
+ Utility functions will be provided to convert quantization matrices in
+ either scan order.
+ https://bugzilla.gnome.org/show_bug.cgi?id=693000
+ Signed-off-by: Cong Zhong <congx.zhong@intel.com>
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ (cherry picked from commit 46c01de05dbb50c74aca137298da5b3d16918034)
+
+2013-02-05 23:07:12 +0100 Josep Torra <n770galaxy@gmail.com>
+
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: expose VC1 streams with missing descriptor.
+ Fixes playback of VC1 streams when the descriptor is missing.
+
+2013-02-05 17:34:28 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * sys/dvb/gstdvbsrc.c:
+ dvbsrc: handle EINTR from poll
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693212
+
+2013-01-24 18:14:28 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gstvc1parser.c:
+ codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6 residual bytes).
+ Fix parsing of residual bytes. This is a two-step process. First,
+ remaining colums of full vertical resolution (<height>) need to be
+ processed. Next, remaining bytes in the first row can be processed,
+ while taking into account the fact that we may have filled in the
+ first columns already. So, this is not full horizontal resolution.
+ The following figure helps in understanding the expected order of
+ operations, for a 8x5 MBs bitplane.
+ 5 5 6 6 6 6 6 6
+ 5 5 1 1 1 2 2 2
+ 5 5 1 1 1 2 2 2
+ 5 5 3 3 3 4 4 4
+ 5 5 3 3 3 4 4 4
+ So, after tiles 1 to 4 are decoded, vertical tile 5 needs to be
+ processed (2x5 MBs) and then the horizontal tile 6 (6x1 MBs).
+ https://bugzilla.gnome.org/show_bug.cgi?id=692461
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ (cherry picked from commit 10639eb88972bf89656af694b8bf8c4b41255c69)
+
+2013-01-24 17:28:22 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gstvc1parser.c:
+ codecparsers: vc1: fix bitplanes decoding (DIFF6 or NORM6).
+ Fix decoding of DIFF6 or NORM6 bitplanes with an odd number of lines
+ (3x2 "horizontal" tiles). In this case, we have to skip the first line
+ of macroblocks but <width> number of bytes was used to do so, instead
+ of the actual <stride> size.
+ This fixes decoding for the video sample attached to:
+ https://bugzilla.gnome.org/show_bug.cgi?id=668565
+ https://bugzilla.gnome.org/show_bug.cgi?id=692461
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+ (cherry picked from commit fa2a526f04b1f51201fbb837fa430f93609938e8)
+
+2013-01-31 12:30:49 +0100 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * ext/opus/gstrtpopuspay.c:
+ opuspay: fix timestamps
+ Copy timestamps to payloaded buffer.
+ Avoid input buffer memory leak.
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692929
+
+2013-01-28 14:12:56 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+
+ * ext/opus/gstopusenc.c:
+ opusenc: fix crash when setting "cbr" property when encoder is not running yet
+ https://bugzilla.gnome.org/show_bug.cgi?id=692698
+
+2013-01-22 18:01:24 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gstvc1parser.c:
+ codecparsers: vc1: fix bitplanes decoding.
+ Fix decoding of DIFF2 or NORM2 bitplanes with an odd number of macroblocks.
+ In particular, account for the first bit that was already parsed so that to
+ avoid a buffer overflow after all pairs are parsed.
+ This fixes SA00040.vc1 conformance test.
+ https://bugzilla.gnome.org/show_bug.cgi?id=692312
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2013-01-18 14:55:40 +0100 Patricia Muscalu <patricia@axis.com>
+
+ * ext/curl/gstcurltlssink.c:
+ curltlssink: set correct level of SSL for the transfer
+ https://bugzilla.gnome.org/show_bug.cgi?id=692010
+
+2013-01-22 10:48:39 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gstvc1parser.c:
+ codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2.
+ Fix parsing of VOPDQUANT when DQUANT == 2. In particular, DQUANTFRM is
+ not present in the bitstream in this case and it shall be derived to
+ the default value of zero (7.1.1.31.1).
+ https://bugzilla.gnome.org/show_bug.cgi?id=692271
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2013-01-22 10:38:20 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gstvc1parser.c:
+ codecparsers: vc1: fix calculation of ALTPQUANT.
+ Fix calculation of ALTPQUANT when DQUANT == 1. PQDIFF alters ALTPQUANT
+ in any case. See 7.1.1.31.6.
+ https://bugzilla.gnome.org/show_bug.cgi?id=692270
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2013-01-22 10:11:34 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gstvc1parser.c:
+ codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT.
+ Fix parse_vopdquant() to correctly parse DQPROFILE, which is 2 bits
+ instead of a single bit.
+ https://bugzilla.gnome.org/show_bug.cgi?id=692267
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2013-01-06 18:54:52 +0100 Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ codecparsers: h264: add inferred value for slice_beta_offset_div2.
+ The standard specifies that when slice_beta_offset_div2 is not present
+ in the slice header, then the value of slice_beta_offset_div2 shall be
+ inferred to be equal to 0.
+ https://bugzilla.gnome.org/show_bug.cgi?id=692265
+ Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
+
+2013-01-12 13:15:02 +0100 Mark Nauwelaerts <mnauw@users.sourceforge.net>
+
+ * gst-libs/gst/codecparsers/gsth264parser.c:
+ codecparsers: h264: zero-initialize SPS VUI parameters
+ ... so all 'present' flags indicate no presence of optional parts
+ in case VUI parameters end up not being parsed.
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681818
+
=== release 1.0.5 ===
-2013-01-08 Tim-Philipp Müller <tim@centricular.net>
+2013-01-08 10:46:06 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
* configure.ac:
- releasing 1.0.5
+ * docs/plugins/gst-plugins-bad-plugins.args:
+ * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+ * docs/plugins/inspect/plugin-adpcmdec.xml:
+ * docs/plugins/inspect/plugin-adpcmenc.xml:
+ * docs/plugins/inspect/plugin-asfmux.xml:
+ * docs/plugins/inspect/plugin-assrender.xml:
+ * docs/plugins/inspect/plugin-audiovisualizers.xml:
+ * docs/plugins/inspect/plugin-autoconvert.xml:
+ * docs/plugins/inspect/plugin-bayer.xml:
+ * docs/plugins/inspect/plugin-bz2.xml:
+ * docs/plugins/inspect/plugin-camerabin.xml:
+ * docs/plugins/inspect/plugin-celt.xml:
+ * docs/plugins/inspect/plugin-chromaprint.xml:
+ * docs/plugins/inspect/plugin-coloreffects.xml:
+ * docs/plugins/inspect/plugin-curl.xml:
+ * docs/plugins/inspect/plugin-dataurisrc.xml:
+ * docs/plugins/inspect/plugin-debugutilsbad.xml:
+ * docs/plugins/inspect/plugin-dtmf.xml:
+ * docs/plugins/inspect/plugin-dtsdec.xml:
+ * docs/plugins/inspect/plugin-dvb.xml:
+ * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+ * docs/plugins/inspect/plugin-dvdspu.xml:
+ * docs/plugins/inspect/plugin-faac.xml:
+ * docs/plugins/inspect/plugin-faad.xml:
+ * docs/plugins/inspect/plugin-festival.xml:
+ * docs/plugins/inspect/plugin-fieldanalysis.xml:
+ * docs/plugins/inspect/plugin-flite.xml:
+ * docs/plugins/inspect/plugin-fragmented.xml:
+ * docs/plugins/inspect/plugin-frei0r.xml:
+ * docs/plugins/inspect/plugin-gaudieffects.xml:
+ * docs/plugins/inspect/plugin-gdp.xml:
+ * docs/plugins/inspect/plugin-geometrictransform.xml:
+ * docs/plugins/inspect/plugin-gmedec.xml:
+ * docs/plugins/inspect/plugin-gsm.xml:
+ * docs/plugins/inspect/plugin-gstsiren.xml:
+ * docs/plugins/inspect/plugin-id3tag.xml:
+ * docs/plugins/inspect/plugin-inter.xml:
+ * docs/plugins/inspect/plugin-interlace.xml:
+ * docs/plugins/inspect/plugin-jpegformat.xml:
+ * docs/plugins/inspect/plugin-liveadder.xml:
+ * docs/plugins/inspect/plugin-mimic.xml:
+ * docs/plugins/inspect/plugin-mms.xml:
+ * docs/plugins/inspect/plugin-modplug.xml:
+ * docs/plugins/inspect/plugin-mpeg2enc.xml:
+ * docs/plugins/inspect/plugin-mpegpsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegtsmux.xml:
+ * docs/plugins/inspect/plugin-mpg123.xml:
+ * docs/plugins/inspect/plugin-mplex.xml:
+ * docs/plugins/inspect/plugin-opencv.xml:
+ * docs/plugins/inspect/plugin-opus.xml:
+ * docs/plugins/inspect/plugin-pcapparse.xml:
+ * docs/plugins/inspect/plugin-pnm.xml:
+ * docs/plugins/inspect/plugin-rawparse.xml:
+ * docs/plugins/inspect/plugin-removesilence.xml:
+ * docs/plugins/inspect/plugin-resindvd.xml:
+ * docs/plugins/inspect/plugin-rtmp.xml:
+ * docs/plugins/inspect/plugin-rtpmux.xml:
+ * docs/plugins/inspect/plugin-rtpvp8.xml:
+ * docs/plugins/inspect/plugin-scaletempo.xml:
+ * docs/plugins/inspect/plugin-schro.xml:
+ * docs/plugins/inspect/plugin-sdp.xml:
+ * docs/plugins/inspect/plugin-segmentclip.xml:
+ * docs/plugins/inspect/plugin-shm.xml:
+ * docs/plugins/inspect/plugin-smooth.xml:
+ * docs/plugins/inspect/plugin-soundtouch.xml:
+ * docs/plugins/inspect/plugin-spandsp.xml:
+ * docs/plugins/inspect/plugin-speed.xml:
+ * docs/plugins/inspect/plugin-subenc.xml:
+ * docs/plugins/inspect/plugin-videoparsersbad.xml:
+ * docs/plugins/inspect/plugin-voaacenc.xml:
+ * docs/plugins/inspect/plugin-voamrwbenc.xml:
+ * docs/plugins/inspect/plugin-y4mdec.xml:
+ * docs/plugins/inspect/plugin-zbar.xml:
+ * gst-plugins-bad.doap:
+ * win32/common/config.h:
+ Release 1.0.5
2013-01-07 10:37:53 +0000 Tim-Philipp Müller <tim@centricular.net>
diff --git a/Makefile.in b/Makefile.in
index fd741657..0003373b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -261,6 +261,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -294,6 +296,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/NEWS b/NEWS
index 822a3990..61cb8c2c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,50 @@
-This is GStreamer Bad Plugins 1.0.5
+This is GStreamer Bad Plugins 1.0.6
+
+Changes since 1.0.5:
+
+ * audiovisualizer: fix improper video frame clear operation
+ * codecparsers: h264: add inferred value for slice_beta_offset_div2
+ * codecparsers: h264: zero-initialize SPS VUI parameters
+ * codecparsers: mpeg2: add helpers to convert quantization matrices
+ * codecparsers: mpeg2: store quantization matrices in zigzag scan order
+ * codecparsers: vc1: fix bitplanes decoding
+ * codecparsers: vc1: fix calculation of ALTPQUANT
+ * codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT
+ * codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2
+ * curltlssink: set correct level of SSL for the transfer
+ * decklink: port to 1.0
+ * dvbsrc: handle EINTR from poll
+ * dvdspu: fix rendering of PGS windows with left != 0
+ * eglglessink: port to 1.0
+ * element-maker: update for 1.0
+ * gdppay: fix buffer leak when new caps are same as old caps
+ * interlace: fix negotiation for true interlaced modes
+ * opensles: Port to 1.0
+ * opusdec: clear the state of the decoder
+ * opusenc: fix crash when setting "cbr" property when encoder is not running yet
+ * opuspay: fix timestamps
+ * tsdemux: expose VC1 streams with missing descriptor
+
+Bugs fixed since 1.0.5:
+
+ * 681818 : h264parse: evaluate vui parameters only when they where parsed and set
+ * 690738 : gst-element-maker Generates Incorrect Code
+ * 692010 : curltlssink: incorrect ssl level
+ * 692265 : codecparsers: h264: add inferred value for slice_beta_offset_div2
+ * 692267 : codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT
+ * 692270 : codecparsers: vc1: fix calculation of ALTPQUANT
+ * 692271 : codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2
+ * 692273 : codecparsers: vc1: fix VOPDQUANT parser
+ * 692312 : codecparsers: vc1: fix bitplanes decoding
+ * 692698 : opusenc: crash when setting " cbr " property
+ * 692859 : make -bad be able to be called " out-of-tree "
+ * 692929 : [rtpopuspay] - No rtp timestamp
+ * 693000 : codecparsers: mpeg2: fix scan order for in-stream quantization matrices
+ * 693146 : tsdemux: doesn't expose VC1 pad when descriptor is missing
+ * 693212 : dvbsrc: needs to handle EINTR instead of erroring out
+ * 693300 : inter: gstintertest has a number of memory leaks
+ * 693324 : gdppay: leak when getting caps identical to your current ones
+ * 695655 : audiovisualizer: crash while clearing video frame
Changes since 1.0.4:
diff --git a/RELEASE b/RELEASE
index d3a89ac5..788e7f49 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,5 +1,5 @@
-Release notes for GStreamer Bad Plugins 1.0.5
+Release notes for GStreamer Bad Plugins 1.0.6
The GStreamer team is pleased to announce a new bug-fix release
@@ -62,14 +62,50 @@ contains a set of codecs plugins based on libav (formerly gst-ffmpeg)
Features of this release
- * psdemux: tentative port to 1.0; take into account both DTS and PTS
- * shm: Actually get the permissions on get_property
- * waylandsink: do not default to fullscreen mode
+ * audiovisualizer: fix improper video frame clear operation
+ * codecparsers: h264: add inferred value for slice_beta_offset_div2
+ * codecparsers: h264: zero-initialize SPS VUI parameters
+ * codecparsers: mpeg2: add helpers to convert quantization matrices
+ * codecparsers: mpeg2: store quantization matrices in zigzag scan order
+ * codecparsers: vc1: fix bitplanes decoding
+ * codecparsers: vc1: fix calculation of ALTPQUANT
+ * codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT
+ * codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2
+ * curltlssink: set correct level of SSL for the transfer
+ * decklink: port to 1.0
+ * dvbsrc: handle EINTR from poll
+ * dvdspu: fix rendering of PGS windows with left != 0
+ * eglglessink: port to 1.0
+ * element-maker: update for 1.0
+ * gdppay: fix buffer leak when new caps are same as old caps
+ * interlace: fix negotiation for true interlaced modes
+ * opensles: Port to 1.0
+ * opusdec: clear the state of the decoder
+ * opusenc: fix crash when setting "cbr" property when encoder is not running yet
+ * opuspay: fix timestamps
+ * tsdemux: expose VC1 streams with missing descriptor
Bugs fixed in this release
- * 690097 : resindvd: Handle non-utf8 dvd title string correctly
- * 690442 : [waylandsink] Should not default to a fullscreen surface
+ * 690949 : DVB playback is at 1 fps after update from 1.0.2 to 1.0.3
+ * 681818 : h264parse: evaluate vui parameters only when they where parsed and set
+ * 690738 : gst-element-maker Generates Incorrect Code
+ * 692010 : curltlssink: incorrect ssl level
+ * 692265 : codecparsers: h264: add inferred value for slice_beta_offset_div2
+ * 692267 : codecparsers: vc1: fix parser for DQPROFILE in VOPDQUANT
+ * 692270 : codecparsers: vc1: fix calculation of ALTPQUANT
+ * 692271 : codecparsers: vc1: fix VOPDQUANT parser for DQUANT == 2
+ * 692273 : codecparsers: vc1: fix VOPDQUANT parser
+ * 692312 : codecparsers: vc1: fix bitplanes decoding
+ * 692698 : opusenc: crash when setting " cbr " property
+ * 692859 : make -bad be able to be called " out-of-tree "
+ * 692929 : [rtpopuspay] - No rtp timestamp
+ * 693000 : codecparsers: mpeg2: fix scan order for in-stream quantization matrices
+ * 693146 : tsdemux: doesn't expose VC1 pad when descriptor is missing
+ * 693212 : dvbsrc: needs to handle EINTR instead of erroring out
+ * 693300 : inter: gstintertest has a number of memory leaks
+ * 693324 : gdppay: leak when getting caps identical to your current ones
+ * 695655 : audiovisualizer: crash while clearing video frame
==== Download ====
@@ -106,9 +142,18 @@ subscribe to the gstreamer-devel list.
Contributors to this release
- * Joe Konno
- * Olivier Crête
+ * Cong Zhong
+ * David Schleef
+ * Greg Rutz
+ * Gwenole Beauchesne
+ * Jan Schmidt
+ * Josep Torra
+ * Julian Scheel
+ * Mark Nauwelaerts
+ * Patricia Muscalu
* Sebastian Dröge
+ * Tim 'mithro' Ansell
+ * Tim Ansell
* Tim-Philipp Müller
- * Youness Alaoui
+ * Wim Taymans
  \ No newline at end of file
diff --git a/common/Makefile.in b/common/Makefile.in
index 4bf0b97b..bbc834e2 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -225,6 +225,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -258,6 +260,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 278750cf..6078aa1b 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -185,6 +185,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -218,6 +220,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/config.h.in b/config.h.in
index 8dd07a69..15072042 100644
--- a/config.h.in
+++ b/config.h.in
@@ -605,6 +605,15 @@
/* Define location of timidity.cfg */
#undef TIMIDITY_CFG
+/* Use Mali FB EGL window system */
+#undef USE_EGL_MALI_FB
+
+/* Use RPi EGL window system */
+#undef USE_EGL_RPI
+
+/* Use X11 EGL window system */
+#undef USE_EGL_X11
+
/* Version number of package */
#undef VERSION
diff --git a/configure b/configure
index 72d7f6b2..11fb0392 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.0.5.
+# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.0.6.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GStreamer Bad Plug-ins'
PACKAGE_TARNAME='gst-plugins-bad'
-PACKAGE_VERSION='1.0.5'
-PACKAGE_STRING='GStreamer Bad Plug-ins 1.0.5'
+PACKAGE_VERSION='1.0.6'
+PACKAGE_STRING='GStreamer Bad Plug-ins 1.0.6'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -1145,11 +1145,8 @@ USE_EXIF_FALSE
USE_EXIF_TRUE
EXIF_LIBS
EXIF_CFLAGS
-HAVE_X11_FALSE
-HAVE_X11_TRUE
-HAVE_X11
-X11_LIBS
-X11_CFLAGS
+GMODULE_NO_EXPORT_LIBS
+GMODULE_NO_EXPORT_CFLAGS
GMODULE_EXPORT_LIBS
GMODULE_EXPORT_CFLAGS
HAVE_GTK_FALSE
@@ -1193,6 +1190,15 @@ GLIB_GENMARSHAL
GLIB_LIBS
GLIB_CFLAGS
GLIB_REQ
+HAVE_EGL_FALSE
+HAVE_EGL_TRUE
+EGL_LIBS
+EGL_CFLAGS
+HAVE_X11_FALSE
+HAVE_X11_TRUE
+HAVE_X11
+X11_LIBS
+X11_CFLAGS
HAVE_PTHREAD_H_FALSE
HAVE_PTHREAD_H_TRUE
HAVE_UNISTD_H_FALSE
@@ -1481,6 +1487,7 @@ with_html_dir
enable_gtk_doc
enable_gtk_doc_html
enable_gtk_doc_pdf
+with_egl_window_system
enable_gobject_cast_checks
enable_glib_asserts
with_gtk
@@ -1662,6 +1669,10 @@ OBJC
OBJCFLAGS
GTKDOC_DEPS_CFLAGS
GTKDOC_DEPS_LIBS
+X11_CFLAGS
+X11_LIBS
+EGL_CFLAGS
+EGL_LIBS
GLIB_CFLAGS
GLIB_LIBS
GIO_CFLAGS
@@ -1686,8 +1697,8 @@ GTK_CFLAGS
GTK_LIBS
GMODULE_EXPORT_CFLAGS
GMODULE_EXPORT_LIBS
-X11_CFLAGS
-X11_LIBS
+GMODULE_NO_EXPORT_CFLAGS
+GMODULE_NO_EXPORT_LIBS
EXIF_CFLAGS
EXIF_LIBS
ORC_CFLAGS
@@ -2339,7 +2350,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GStreamer Bad Plug-ins 1.0.5 to adapt to many kinds of systems.
+\`configure' configures GStreamer Bad Plug-ins 1.0.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2414,7 +2425,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.0.5:";;
+ short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.0.6:";;
esac
cat <<\_ACEOF
@@ -2631,6 +2642,8 @@ Optional Packages:
--with-plugins comma-separated list of dependencyless plug-ins to
compile
--with-html-dir=PATH path to installed docs
+ --with-egl-window-system
+ EGL window system to use (x11, mali-fb, rpi, none)
--with-gtk=3.0|2.0 which gtk+ version to compile against (default: 2.0)
--with-default-audiosink
specify default audio sink
@@ -2670,6 +2683,10 @@ Some influential environment variables:
C compiler flags for GTKDOC_DEPS, overriding pkg-config
GTKDOC_DEPS_LIBS
linker flags for GTKDOC_DEPS, overriding pkg-config
+ X11_CFLAGS C compiler flags for X11, overriding pkg-config
+ X11_LIBS linker flags for X11, overriding pkg-config
+ EGL_CFLAGS C compiler flags for EGL, overriding pkg-config
+ EGL_LIBS linker flags for EGL, overriding pkg-config
GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config
GLIB_LIBS linker flags for GLIB, overriding pkg-config
GIO_CFLAGS C compiler flags for GIO, overriding pkg-config
@@ -2710,8 +2727,10 @@ Some influential environment variables:
C compiler flags for GMODULE_EXPORT, overriding pkg-config
GMODULE_EXPORT_LIBS
linker flags for GMODULE_EXPORT, overriding pkg-config
- X11_CFLAGS C compiler flags for X11, overriding pkg-config
- X11_LIBS linker flags for X11, overriding pkg-config
+ GMODULE_NO_EXPORT_CFLAGS
+ C compiler flags for GMODULE_NO_EXPORT, overriding pkg-config
+ GMODULE_NO_EXPORT_LIBS
+ linker flags for GMODULE_NO_EXPORT, overriding pkg-config
EXIF_CFLAGS C compiler flags for EXIF, overriding pkg-config
EXIF_LIBS linker flags for EXIF, overriding pkg-config
ORC_CFLAGS C compiler flags for ORC, overriding pkg-config
@@ -2954,7 +2973,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer Bad Plug-ins configure 1.0.5
+GStreamer Bad Plug-ins configure 1.0.6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3927,7 +3946,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GStreamer Bad Plug-ins $as_me 1.0.5, which was
+It was created by GStreamer Bad Plug-ins $as_me 1.0.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4861,7 +4880,7 @@ fi
# Define the identity of the package.
PACKAGE='gst-plugins-bad'
- VERSION='1.0.5'
+ VERSION='1.0.6'
cat >>confdefs.h <<_ACEOF
@@ -4984,9 +5003,9 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
- PACKAGE_VERSION_MAJOR=$(echo 1.0.5 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.0.5 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.0.5 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.0.6 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.0.6 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.0.6 | cut -d'.' -f3)
@@ -4997,7 +5016,7 @@ $as_echo "$am_cv_prog_tar_ustar" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.0.5 | cut -d'.' -f4)
+ NANO=$(echo 1.0.6 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -9589,10 +9608,10 @@ fi
done
- GST_CURRENT=5
+ GST_CURRENT=6
GST_REVISION=0
- GST_AGE=5
- GST_LIBVERSION=5:0:5
+ GST_AGE=6
+ GST_LIBVERSION=6:0:6
@@ -24005,6 +24024,769 @@ if test "x$HAVE_PTHREAD_H" != "xyes"; then
GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
fi
+HAVE_X11=NO
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5
+$as_echo_n "checking for X11... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$X11_CFLAGS"; then
+ pkg_cv_X11_CFLAGS="$X11_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "x11") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_X11_CFLAGS=`$PKG_CONFIG --cflags "x11" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$X11_LIBS"; then
+ pkg_cv_X11_LIBS="$X11_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "x11") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_X11_LIBS=`$PKG_CONFIG --libs "x11" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11"`
+ else
+ X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$X11_PKG_ERRORS" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ HAVE_X11=no
+elif test $pkg_failed = untried; then
+ HAVE_X11=no
+else
+ X11_CFLAGS=$pkg_cv_X11_CFLAGS
+ X11_LIBS=$pkg_cv_X11_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_X11=yes
+fi
+
+
+
+ if test "x$HAVE_X11" = "xyes"; then
+ HAVE_X11_TRUE=
+ HAVE_X11_FALSE='#'
+else
+ HAVE_X11_TRUE='#'
+ HAVE_X11_FALSE=
+fi
+
+if test "x$HAVE_X11" = "xyes"; then
+
+$as_echo "#define HAVE_X11 1" >>confdefs.h
+
+fi
+
+
+# Check whether --with-egl-window-system was given.
+if test "${with_egl_window_system+set}" = set; then :
+ withval=$with_egl_window_system; EGL_WINDOW_SYSTEM="$withval"
+else
+ EGL_WINDOW_SYSTEM="auto"
+fi
+
+
+if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+ LIBS="$LIBS -lUMP $EGL_LIBS"
+ CFLAGS="$CFLAGS $EGL_CFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mali_image_create in -lMali" >&5
+$as_echo_n "checking for mali_image_create in -lMali... " >&6; }
+if ${ac_cv_lib_Mali_mali_image_create+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lMali $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mali_image_create ();
+int
+main ()
+{
+return mali_image_create ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_Mali_mali_image_create=yes
+else
+ ac_cv_lib_Mali_mali_image_create=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Mali_mali_image_create" >&5
+$as_echo "$ac_cv_lib_Mali_mali_image_create" >&6; }
+if test "x$ac_cv_lib_Mali_mali_image_create" = xyes; then :
+ EGL_WINDOW_SYSTEM="mali-fb"
+else
+ EGL_WINDOW_SYSTEM="auto"
+fi
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+
+ if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+ LIBS="$LIBS -lvcos -lvchiq_arm"
+ CFLAGS="$CFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bcm_host_init in -lbcm_host" >&5
+$as_echo_n "checking for bcm_host_init in -lbcm_host... " >&6; }
+if ${ac_cv_lib_bcm_host_bcm_host_init+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbcm_host $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char bcm_host_init ();
+int
+main ()
+{
+return bcm_host_init ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_bcm_host_bcm_host_init=yes
+else
+ ac_cv_lib_bcm_host_bcm_host_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bcm_host_bcm_host_init" >&5
+$as_echo "$ac_cv_lib_bcm_host_bcm_host_init" >&6; }
+if test "x$ac_cv_lib_bcm_host_bcm_host_init" = xyes; then :
+
+ LIBS="$LIBS -lbcm_host"
+ ac_fn_c_check_header_mongrel "$LINENO" "bcm_host.h" "ac_cv_header_bcm_host_h" "$ac_includes_default"
+if test "x$ac_cv_header_bcm_host_h" = xyes; then :
+ EGL_WINDOW_SYSTEM="rpi"
+else
+ EGL_WINDOW_SYSTEM="auto"
+fi
+
+
+
+fi
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+ fi
+
+ if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ if test x"$HAVE_X11" = x"yes"; then
+ EGL_WINDOW_SYSTEM="x11"
+ fi
+ fi
+
+ if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ EGL_WINDOW_SYSTEM="none"
+ fi
+fi
+
+case "$EGL_WINDOW_SYSTEM" in
+ x11|none)
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGL" >&5
+$as_echo_n "checking for EGL... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$EGL_CFLAGS"; then
+ pkg_cv_EGL_CFLAGS="$EGL_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "egl") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_EGL_CFLAGS=`$PKG_CONFIG --cflags "egl" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$EGL_LIBS"; then
+ pkg_cv_EGL_LIBS="$EGL_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"egl\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "egl") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_EGL_LIBS=`$PKG_CONFIG --libs "egl" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ EGL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "egl"`
+ else
+ EGL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "egl"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$EGL_PKG_ERRORS" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+ HAVE_EGL="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetProcAddress in -lEGL" >&5
+$as_echo_n "checking for eglGetProcAddress in -lEGL... " >&6; }
+if ${ac_cv_lib_EGL_eglGetProcAddress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lEGL $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char eglGetProcAddress ();
+int
+main ()
+{
+return eglGetProcAddress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_EGL_eglGetProcAddress=yes
+else
+ ac_cv_lib_EGL_eglGetProcAddress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_EGL_eglGetProcAddress" >&5
+$as_echo "$ac_cv_lib_EGL_eglGetProcAddress" >&6; }
+if test "x$ac_cv_lib_EGL_eglGetProcAddress" = xyes; then :
+
+ ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
+if test "x$ac_cv_header_EGL_egl_h" = xyes; then :
+
+ HAVE_EGL="yes"
+ EGL_LIBS="-lEGL"
+ EGL_CFLAGS=""
+
+
+fi
+
+
+
+
+fi
+
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+
+elif test $pkg_failed = untried; then
+
+ HAVE_EGL="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetProcAddress in -lEGL" >&5
+$as_echo_n "checking for eglGetProcAddress in -lEGL... " >&6; }
+if ${ac_cv_lib_EGL_eglGetProcAddress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lEGL $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char eglGetProcAddress ();
+int
+main ()
+{
+return eglGetProcAddress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_EGL_eglGetProcAddress=yes
+else
+ ac_cv_lib_EGL_eglGetProcAddress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_EGL_eglGetProcAddress" >&5
+$as_echo "$ac_cv_lib_EGL_eglGetProcAddress" >&6; }
+if test "x$ac_cv_lib_EGL_eglGetProcAddress" = xyes; then :
+
+ ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
+if test "x$ac_cv_header_EGL_egl_h" = xyes; then :
+
+ HAVE_EGL="yes"
+ EGL_LIBS="-lEGL"
+ EGL_CFLAGS=""
+
+
+fi
+
+
+
+
+fi
+
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+
+else
+ EGL_CFLAGS=$pkg_cv_EGL_CFLAGS
+ EGL_LIBS=$pkg_cv_EGL_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_EGL="yes"
+fi
+
+ if test x"$HAVE_EGL" = x"yes" -a x"$EGL_WINDOW_SYSTEM" = x"x11"; then
+ if test x"$HAVE_X11" != x"yes"; then
+ as_fn_error $? "libX11 not found and is required for EGL X11 window system" "$LINENO" 5
+ else
+
+$as_echo "#define USE_EGL_X11 1" >>confdefs.h
+
+ EGL_CFLAGS="$EGL_CFLAGS $X11_CFLAGS"
+ EGL_LIBS="$EGL_LIBS $X11_LIBS"
+ fi
+ fi
+ ;;
+ mali-fb)
+ HAVE_EGL="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+ ac_fn_c_check_header_mongrel "$LINENO" "EGL/fbdev_window.h" "ac_cv_header_EGL_fbdev_window_h" "$ac_includes_default"
+if test "x$ac_cv_header_EGL_fbdev_window_h" = xyes; then :
+
+ LIBS="$LIBS -lUMP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mali_image_create in -lMali" >&5
+$as_echo_n "checking for mali_image_create in -lMali... " >&6; }
+if ${ac_cv_lib_Mali_mali_image_create+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lMali $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char mali_image_create ();
+int
+main ()
+{
+return mali_image_create ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_Mali_mali_image_create=yes
+else
+ ac_cv_lib_Mali_mali_image_create=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Mali_mali_image_create" >&5
+$as_echo "$ac_cv_lib_Mali_mali_image_create" >&6; }
+if test "x$ac_cv_lib_Mali_mali_image_create" = xyes; then :
+
+ LIBS="$LIBS -lMali"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glEnable in -lGLESv2" >&5
+$as_echo_n "checking for glEnable in -lGLESv2... " >&6; }
+if ${ac_cv_lib_GLESv2_glEnable+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lGLESv2 $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char glEnable ();
+int
+main ()
+{
+return glEnable ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_GLESv2_glEnable=yes
+else
+ ac_cv_lib_GLESv2_glEnable=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLESv2_glEnable" >&5
+$as_echo "$ac_cv_lib_GLESv2_glEnable" >&6; }
+if test "x$ac_cv_lib_GLESv2_glEnable" = xyes; then :
+
+ ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
+if test "x$ac_cv_header_GLES2_gl2_h" = xyes; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetProcAddress in -lEGL" >&5
+$as_echo_n "checking for eglGetProcAddress in -lEGL... " >&6; }
+if ${ac_cv_lib_EGL_eglGetProcAddress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lEGL $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char eglGetProcAddress ();
+int
+main ()
+{
+return eglGetProcAddress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_EGL_eglGetProcAddress=yes
+else
+ ac_cv_lib_EGL_eglGetProcAddress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_EGL_eglGetProcAddress" >&5
+$as_echo "$ac_cv_lib_EGL_eglGetProcAddress" >&6; }
+if test "x$ac_cv_lib_EGL_eglGetProcAddress" = xyes; then :
+
+ ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
+if test "x$ac_cv_header_EGL_egl_h" = xyes; then :
+
+ HAVE_EGL="yes"
+ EGL_LIBS="-lGLESv2 -lEGL -lMali -lUMP"
+ EGL_CFLAGS=""
+
+$as_echo "#define USE_EGL_MALI_FB 1" >>confdefs.h
+
+
+fi
+
+
+
+fi
+
+
+fi
+
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+ ;;
+ rpi)
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ LIBS="$LIBS -lvcos -lvchiq_arm"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bcm_host_init in -lbcm_host" >&5
+$as_echo_n "checking for bcm_host_init in -lbcm_host... " >&6; }
+if ${ac_cv_lib_bcm_host_bcm_host_init+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbcm_host $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char bcm_host_init ();
+int
+main ()
+{
+return bcm_host_init ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_bcm_host_bcm_host_init=yes
+else
+ ac_cv_lib_bcm_host_bcm_host_init=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bcm_host_bcm_host_init" >&5
+$as_echo "$ac_cv_lib_bcm_host_bcm_host_init" >&6; }
+if test "x$ac_cv_lib_bcm_host_bcm_host_init" = xyes; then :
+
+ LIBS="$LIBS -lbcm_host"
+ ac_fn_c_check_header_mongrel "$LINENO" "bcm_host.h" "ac_cv_header_bcm_host_h" "$ac_includes_default"
+if test "x$ac_cv_header_bcm_host_h" = xyes; then :
+
+ LIBS="$LIBS -lGLESv2"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetProcAddress in -lEGL" >&5
+$as_echo_n "checking for eglGetProcAddress in -lEGL... " >&6; }
+if ${ac_cv_lib_EGL_eglGetProcAddress+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lEGL $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char eglGetProcAddress ();
+int
+main ()
+{
+return eglGetProcAddress ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_EGL_eglGetProcAddress=yes
+else
+ ac_cv_lib_EGL_eglGetProcAddress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_EGL_eglGetProcAddress" >&5
+$as_echo "$ac_cv_lib_EGL_eglGetProcAddress" >&6; }
+if test "x$ac_cv_lib_EGL_eglGetProcAddress" = xyes; then :
+
+ LIBS="$LIBS -lEGL"
+ ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
+if test "x$ac_cv_header_EGL_egl_h" = xyes; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glEnable in -lGLESv2" >&5
+$as_echo_n "checking for glEnable in -lGLESv2... " >&6; }
+if ${ac_cv_lib_GLESv2_glEnable+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lGLESv2 $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char glEnable ();
+int
+main ()
+{
+return glEnable ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_GLESv2_glEnable=yes
+else
+ ac_cv_lib_GLESv2_glEnable=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLESv2_glEnable" >&5
+$as_echo "$ac_cv_lib_GLESv2_glEnable" >&6; }
+if test "x$ac_cv_lib_GLESv2_glEnable" = xyes; then :
+
+ ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
+if test "x$ac_cv_header_GLES2_gl2_h" = xyes; then :
+
+ HAVE_EGL="yes"
+ EGL_LIBS="-lGLESv2 -lEGL -lbcm_host -lvcos -lvchiq_arm"
+ EGL_CFLAGS=""
+
+$as_echo "#define USE_EGL_RPI 1" >>confdefs.h
+
+
+fi
+
+
+
+fi
+
+
+fi
+
+
+
+fi
+
+
+fi
+
+
+
+fi
+
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+ ;;
+ *)
+ as_fn_error $? "invalid EGL window system specified" "$LINENO" 5
+ ;;
+esac
+
+
+
+ if test x"$HAVE_EGL" = x"yes"; then
+ HAVE_EGL_TRUE=
+ HAVE_EGL_FALSE='#'
+else
+ HAVE_EGL_TRUE='#'
+ HAVE_EGL_FALSE=
+fi
+
+
@@ -25703,23 +26485,22 @@ $as_echo "yes" >&6; }
HAVE_GMODULE_EXPORT=yes
fi
-HAVE_X11=NO
pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11" >&5
-$as_echo_n "checking for X11... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMODULE_NO_EXPORT" >&5
+$as_echo_n "checking for GMODULE_NO_EXPORT... " >&6; }
if test -n "$PKG_CONFIG"; then
- if test -n "$X11_CFLAGS"; then
- pkg_cv_X11_CFLAGS="$X11_CFLAGS"
+ if test -n "$GMODULE_NO_EXPORT_CFLAGS"; then
+ pkg_cv_GMODULE_NO_EXPORT_CFLAGS="$GMODULE_NO_EXPORT_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5
- ($PKG_CONFIG --exists --print-errors "x11") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-no-export-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gmodule-no-export-2.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_X11_CFLAGS=`$PKG_CONFIG --cflags "x11" 2>/dev/null`
+ pkg_cv_GMODULE_NO_EXPORT_CFLAGS=`$PKG_CONFIG --cflags "gmodule-no-export-2.0" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -25728,16 +26509,16 @@ else
pkg_failed=untried
fi
if test -n "$PKG_CONFIG"; then
- if test -n "$X11_LIBS"; then
- pkg_cv_X11_LIBS="$X11_LIBS"
+ if test -n "$GMODULE_NO_EXPORT_LIBS"; then
+ pkg_cv_GMODULE_NO_EXPORT_LIBS="$GMODULE_NO_EXPORT_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5
- ($PKG_CONFIG --exists --print-errors "x11") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-no-export-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gmodule-no-export-2.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_X11_LIBS=`$PKG_CONFIG --libs "x11" 2>/dev/null`
+ pkg_cv_GMODULE_NO_EXPORT_LIBS=`$PKG_CONFIG --libs "gmodule-no-export-2.0" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -25756,40 +26537,43 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- X11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11"`
+ GMODULE_NO_EXPORT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gmodule-no-export-2.0"`
else
- X11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11"`
+ GMODULE_NO_EXPORT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmodule-no-export-2.0"`
fi
# Put the nasty error message in config.log where it belongs
- echo "$X11_PKG_ERRORS" >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- HAVE_X11=no
-elif test $pkg_failed = untried; then
- HAVE_X11=no
-else
- X11_CFLAGS=$pkg_cv_X11_CFLAGS
- X11_LIBS=$pkg_cv_X11_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- HAVE_X11=yes
-fi
+ echo "$GMODULE_NO_EXPORT_PKG_ERRORS" >&5
+ as_fn_error $? "Package requirements (gmodule-no-export-2.0) were not met:
+$GMODULE_NO_EXPORT_PKG_ERRORS
- if test "x$HAVE_X11" = "xyes"; then
- HAVE_X11_TRUE=
- HAVE_X11_FALSE='#'
-else
- HAVE_X11_TRUE='#'
- HAVE_X11_FALSE=
-fi
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
-if test "x$HAVE_X11" = "xyes"; then
+Alternatively, you may set the environment variables GMODULE_NO_EXPORT_CFLAGS
+and GMODULE_NO_EXPORT_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
-$as_echo "#define HAVE_X11 1" >>confdefs.h
+Alternatively, you may set the environment variables GMODULE_NO_EXPORT_CFLAGS
+and GMODULE_NO_EXPORT_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ GMODULE_NO_EXPORT_CFLAGS=$pkg_cv_GMODULE_NO_EXPORT_CFLAGS
+ GMODULE_NO_EXPORT_LIBS=$pkg_cv_GMODULE_NO_EXPORT_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ :
fi
@@ -27717,7 +28501,7 @@ _ACEOF
GST_PLUGINS_NONPORTED=" androidmedia aiff \
cdxaparse \
- dccp eglgles faceoverlay \
+ dccp faceoverlay \
freeverb \
hdvparse ivfparse jp2kdecimator \
kate librfb \
@@ -27725,10 +28509,10 @@ GST_PLUGINS_NONPORTED=" androidmedia aiff \
patchdetect real \
sdi stereo tta videofilters \
videomeasure videosignal vmnc \
- decklink fbdev linsys vcd \
+ fbdev linsys vcd \
apexsink cdaudio cog dc1394 dirac directfb \
gsettings jasper ladspa \
- musepack musicbrainz nas neon ofa openal opensles rsvg sdl sndfile timidity \
+ musepack musicbrainz nas neon ofa openal rsvg sdl sndfile timidity \
directdraw direct3d9 acm wininet \
wildmidi xvid lv2 teletextdec sndio uvch264"
@@ -42052,6 +42836,8 @@ if test x$USE_EGLGLES = xyes; then
HAVE_EGLGLES="no"
+ if test x"$HAVE_EGL" = x"yes"; then
+
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGLGLES" >&5
$as_echo_n "checking for EGLGLES... " >&6; }
@@ -42113,10 +42899,13 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- HAVE_EGLGLES="no"
- old_LIBS=$LIBS
- old_CFLAGS=$CFLAGS
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glEnable in -lGLESv2" >&5
+ HAVE_EGLGLES="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ LIBS="$LIBS $EGL_LIBS"
+ CFLAGS="$CFLAGS $EGL_CFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glEnable in -lGLESv2" >&5
$as_echo_n "checking for glEnable in -lGLESv2... " >&6; }
if ${ac_cv_lib_GLESv2_glEnable+:} false; then :
$as_echo_n "(cached) " >&6
@@ -42154,53 +42943,12 @@ fi
$as_echo "$ac_cv_lib_GLESv2_glEnable" >&6; }
if test "x$ac_cv_lib_GLESv2_glEnable" = xyes; then :
- ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
if test "x$ac_cv_header_GLES2_gl2_h" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetProcAddress in -lEGL" >&5
-$as_echo_n "checking for eglGetProcAddress in -lEGL... " >&6; }
-if ${ac_cv_lib_EGL_eglGetProcAddress+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lEGL $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char eglGetProcAddress ();
-int
-main ()
-{
-return eglGetProcAddress ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_EGL_eglGetProcAddress=yes
-else
- ac_cv_lib_EGL_eglGetProcAddress=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_EGL_eglGetProcAddress" >&5
-$as_echo "$ac_cv_lib_EGL_eglGetProcAddress" >&6; }
-if test "x$ac_cv_lib_EGL_eglGetProcAddress" = xyes; then :
-
- ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
-if test "x$ac_cv_header_EGL_egl_h" = xyes; then :
-
- HAVE_EGLGLES="yes"
- EGLGLES_LIBS="-lGLESv2 -lEGL"
- EGLGLES_CFLAGS=""
+ HAVE_EGLGLES="yes"
+ EGLGLES_LIBS="-lGLESv2"
+ EGLGLES_CFLAGS=""
fi
@@ -42208,22 +42956,18 @@ fi
fi
-
-fi
-
-
-
-fi
-
- LIBS=$old_LIBS
- CFLAGS=$old_CFLAGS
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
elif test $pkg_failed = untried; then
- HAVE_EGLGLES="no"
- old_LIBS=$LIBS
- old_CFLAGS=$CFLAGS
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glEnable in -lGLESv2" >&5
+ HAVE_EGLGLES="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ LIBS="$LIBS $EGL_LIBS"
+ CFLAGS="$CFLAGS $EGL_CFLAGS"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glEnable in -lGLESv2" >&5
$as_echo_n "checking for glEnable in -lGLESv2... " >&6; }
if ${ac_cv_lib_GLESv2_glEnable+:} false; then :
$as_echo_n "(cached) " >&6
@@ -42261,53 +43005,12 @@ fi
$as_echo "$ac_cv_lib_GLESv2_glEnable" >&6; }
if test "x$ac_cv_lib_GLESv2_glEnable" = xyes; then :
- ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "$ac_includes_default"
if test "x$ac_cv_header_GLES2_gl2_h" = xyes; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for eglGetProcAddress in -lEGL" >&5
-$as_echo_n "checking for eglGetProcAddress in -lEGL... " >&6; }
-if ${ac_cv_lib_EGL_eglGetProcAddress+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lEGL $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char eglGetProcAddress ();
-int
-main ()
-{
-return eglGetProcAddress ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_EGL_eglGetProcAddress=yes
-else
- ac_cv_lib_EGL_eglGetProcAddress=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_EGL_eglGetProcAddress" >&5
-$as_echo "$ac_cv_lib_EGL_eglGetProcAddress" >&6; }
-if test "x$ac_cv_lib_EGL_eglGetProcAddress" = xyes; then :
-
- ac_fn_c_check_header_mongrel "$LINENO" "EGL/egl.h" "ac_cv_header_EGL_egl_h" "$ac_includes_default"
-if test "x$ac_cv_header_EGL_egl_h" = xyes; then :
-
- HAVE_EGLGLES="yes"
- EGLGLES_LIBS="-lGLESv2 -lEGL"
- EGLGLES_CFLAGS=""
+ HAVE_EGLGLES="yes"
+ EGLGLES_LIBS="-lGLESv2"
+ EGLGLES_CFLAGS=""
fi
@@ -42315,15 +43018,8 @@ fi
fi
-
-fi
-
-
-
-fi
-
- LIBS=$old_LIBS
- CFLAGS=$old_CFLAGS
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
else
EGLGLES_CFLAGS=$pkg_cv_EGLGLES_CFLAGS
@@ -42332,6 +43028,8 @@ else
$as_echo "yes" >&6; }
HAVE_EGLGLES="yes"
fi
+ fi
+
@@ -49298,6 +49996,14 @@ if test -z "${HAVE_PTHREAD_H_TRUE}" && test -z "${HAVE_PTHREAD_H_FALSE}"; then
as_fn_error $? "conditional \"HAVE_PTHREAD_H\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${HAVE_X11_TRUE}" && test -z "${HAVE_X11_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_EGL_TRUE}" && test -z "${HAVE_EGL_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_EGL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HAVE_GST_CHECK_TRUE}" && test -z "${HAVE_GST_CHECK_FALSE}"; then
as_fn_error $? "conditional \"HAVE_GST_CHECK\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -49306,10 +50012,6 @@ if test -z "${HAVE_GTK_TRUE}" && test -z "${HAVE_GTK_FALSE}"; then
as_fn_error $? "conditional \"HAVE_GTK\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${HAVE_X11_TRUE}" && test -z "${HAVE_X11_FALSE}"; then
- as_fn_error $? "conditional \"HAVE_X11\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${USE_EXIF_TRUE}" && test -z "${USE_EXIF_FALSE}"; then
as_fn_error $? "conditional \"USE_EXIF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -50603,7 +51305,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer Bad Plug-ins $as_me 1.0.5, which was
+This file was extended by GStreamer Bad Plug-ins $as_me 1.0.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -50669,7 +51371,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GStreamer Bad Plug-ins config.status 1.0.5
+GStreamer Bad Plug-ins config.status 1.0.6
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 4fb1c643..533ff95f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ(2.62)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(GStreamer Bad Plug-ins, 1.0.5,
+AC_INIT(GStreamer Bad Plug-ins, 1.0.6,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-plugins-bad)
@@ -50,7 +50,7 @@ dnl - interfaces added/removed/changed -> increment CURRENT, REVISION = 0
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 5, 0, 5)
+AS_LIBTOOL(GST, 6, 0, 6)
dnl *** required versions of GStreamer stuff ***
GST_REQ=1.0.0
@@ -159,6 +159,169 @@ if test "x$HAVE_PTHREAD_H" != "xyes"; then
GST_PLUGINS_SELECTED=`echo $GST_PLUGINS_SELECTED | $SED -e s/dccp//`
fi
+dnl x11 is optional for librfb and eglglessink
+HAVE_X11=NO
+PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
+AC_SUBST(X11_LIBS)
+AC_SUBST(X11_CFLAGS)
+AC_SUBST(HAVE_X11)
+AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
+if test "x$HAVE_X11" = "xyes"; then
+ AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
+fi
+
+dnl check for EGL
+AC_ARG_WITH([egl-window-system],
+ AS_HELP_STRING([--with-egl-window-system],[EGL window system to use (x11, mali-fb, rpi, none)]),
+ [EGL_WINDOW_SYSTEM="$withval"],
+ [EGL_WINDOW_SYSTEM="auto"])
+
+if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ dnl Mali
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+ LIBS="$LIBS -lUMP $EGL_LIBS"
+ CFLAGS="$CFLAGS $EGL_CFLAGS"
+ AC_CHECK_LIB([Mali], [mali_image_create], [EGL_WINDOW_SYSTEM="mali-fb"], [EGL_WINDOW_SYSTEM="auto"])
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+
+ dnl RPi
+ if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+ LIBS="$LIBS -lvcos -lvchiq_arm"
+ CFLAGS="$CFLAGS"
+ AC_CHECK_LIB([bcm_host], [bcm_host_init],
+ [
+ LIBS="$LIBS -lbcm_host"
+ AC_CHECK_HEADER([bcm_host.h], [EGL_WINDOW_SYSTEM="rpi"], [EGL_WINDOW_SYSTEM="auto"])
+ ])
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+ fi
+
+ if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ if test x"$HAVE_X11" = x"yes"; then
+ EGL_WINDOW_SYSTEM="x11"
+ fi
+ fi
+
+ if test x"$EGL_WINDOW_SYSTEM" = x"auto"; then
+ EGL_WINDOW_SYSTEM="none"
+ fi
+fi
+
+case "$EGL_WINDOW_SYSTEM" in
+ x11|none)
+ PKG_CHECK_MODULES(EGL, egl, HAVE_EGL="yes", [
+ HAVE_EGL="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ AC_CHECK_LIB([EGL], [eglGetProcAddress],
+ [
+ AC_CHECK_HEADER([EGL/egl.h],
+ [
+ HAVE_EGL="yes"
+ EGL_LIBS="-lEGL"
+ EGL_CFLAGS=""
+ ]
+ )
+ ]
+ )
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+ ])
+
+ if test x"$HAVE_EGL" = x"yes" -a x"$EGL_WINDOW_SYSTEM" = x"x11"; then
+ if test x"$HAVE_X11" != x"yes"; then
+ AC_MSG_ERROR([libX11 not found and is required for EGL X11 window system])
+ else
+ AC_DEFINE(USE_EGL_X11, [1], [Use X11 EGL window system])
+ EGL_CFLAGS="$EGL_CFLAGS $X11_CFLAGS"
+ EGL_LIBS="$EGL_LIBS $X11_LIBS"
+ fi
+ fi
+ ;;
+ mali-fb)
+ dnl FIXME: Mali EGL depends on GLESv1 or GLESv2
+ HAVE_EGL="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+ AC_CHECK_HEADER([EGL/fbdev_window.h],
+ [
+ LIBS="$LIBS -lUMP"
+ AC_CHECK_LIB([Mali], [mali_image_create],
+ [
+ LIBS="$LIBS -lMali"
+ AC_CHECK_LIB([GLESv2], [glEnable],
+ [
+ AC_CHECK_HEADER([GLES2/gl2.h],
+ [
+ AC_CHECK_LIB([EGL], [eglGetProcAddress],
+ [
+ AC_CHECK_HEADER([EGL/egl.h],
+ [
+ HAVE_EGL="yes"
+ EGL_LIBS="-lGLESv2 -lEGL -lMali -lUMP"
+ EGL_CFLAGS=""
+ AC_DEFINE(USE_EGL_MALI_FB, [1], [Use Mali FB EGL window system])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ])
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+ ;;
+ rpi)
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ dnl FIXME: EGL of RPi depends on GLESv1 or GLESv2
+ dnl FIXME: GLESv2 of RPi depends on EGL... WTF!
+ LIBS="$LIBS -lvcos -lvchiq_arm"
+ AC_CHECK_LIB([bcm_host], [bcm_host_init],
+ [
+ LIBS="$LIBS -lbcm_host"
+ AC_CHECK_HEADER(bcm_host.h,
+ [
+ LIBS="$LIBS -lGLESv2"
+ AC_CHECK_LIB([EGL], [eglGetProcAddress],
+ [
+ LIBS="$LIBS -lEGL"
+ AC_CHECK_HEADER([EGL/egl.h],
+ [
+ AC_CHECK_LIB([GLESv2], [glEnable],
+ [
+ AC_CHECK_HEADER([GLES2/gl2.h],
+ [
+ HAVE_EGL="yes"
+ EGL_LIBS="-lGLESv2 -lEGL -lbcm_host -lvcos -lvchiq_arm"
+ EGL_CFLAGS=""
+ AC_DEFINE(USE_EGL_RPI, [1], [Use RPi EGL window system])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ])
+
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
+ ;;
+ *)
+ AC_MSG_ERROR([invalid EGL window system specified])
+ ;;
+esac
+
+AC_SUBST(EGL_LIBS)
+AC_SUBST(EGL_CFLAGS)
+AM_CONDITIONAL(HAVE_EGL, test x"$HAVE_EGL" = x"yes")
+
dnl *** checks for types/defines ***
dnl Check for FIONREAD ioctl declaration
@@ -238,16 +401,8 @@ AM_CONDITIONAL(HAVE_GTK, test "x$HAVE_GTK" = "xyes")
dnl Needed for GtkBuilder to autoconnect signals
PKG_CHECK_MODULES(GMODULE_EXPORT, gmodule-export-2.0, HAVE_GMODULE_EXPORT=yes, HAVE_GMODULE_EXPORT=no)
-dnl x11 is optional for librfb
-HAVE_X11=NO
-PKG_CHECK_MODULES(X11, x11, HAVE_X11=yes, HAVE_X11=no)
-AC_SUBST(X11_LIBS)
-AC_SUBST(X11_CFLAGS)
-AC_SUBST(HAVE_X11)
-AM_CONDITIONAL(HAVE_X11, test "x$HAVE_X11" = "xyes")
-if test "x$HAVE_X11" = "xyes"; then
- AC_DEFINE(HAVE_X11, 1, [Define if you have X11 library])
-fi
+dnl Needed by plugins that use g_module_*() API
+PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
dnl exif (used on jifmux tests) ****
PKG_CHECK_MODULES(EXIF, libexif >= 0.6.16, HAVE_EXIF="yes", HAVE_EXIF="no")
@@ -312,7 +467,7 @@ dnl Non ported plugins (non-dependant, then dependant)
dnl Make sure you have a space before and after all plugins
GST_PLUGINS_NONPORTED=" androidmedia aiff \
cdxaparse \
- dccp eglgles faceoverlay \
+ dccp faceoverlay \
freeverb \
hdvparse ivfparse jp2kdecimator \
kate librfb \
@@ -320,10 +475,10 @@ GST_PLUGINS_NONPORTED=" androidmedia aiff \
patchdetect real \
sdi stereo tta videofilters \
videomeasure videosignal vmnc \
- decklink fbdev linsys vcd \
+ fbdev linsys vcd \
apexsink cdaudio cog dc1394 dirac directfb \
gsettings jasper ladspa \
- musepack musicbrainz nas neon ofa openal opensles rsvg sdl sndfile timidity \
+ musepack musicbrainz nas neon ofa openal rsvg sdl sndfile timidity \
directdraw direct3d9 acm wininet \
wildmidi xvid lv2 teletextdec sndio uvch264"
AC_SUBST(GST_PLUGINS_NONPORTED)
@@ -1532,28 +1687,29 @@ dnl *** eglgles ***
translit(dnm, m, l) AM_CONDITIONAL(USE_EGLGLES, true)
AG_GST_CHECK_FEATURE(EGLGLES, [eglgles sink], eglgles, [
HAVE_EGLGLES="no"
- PKG_CHECK_MODULES(EGLGLES, egl glesv2, HAVE_EGLGLES="yes", [
- HAVE_EGLGLES="no"
- old_LIBS=$LIBS
- old_CFLAGS=$CFLAGS
- AC_CHECK_LIB([GLESv2], [glEnable],
- [
- AC_CHECK_HEADER([GLES2/gl2.h],
+
+ if test x"$HAVE_EGL" = x"yes"; then
+ PKG_CHECK_MODULES(EGLGLES, egl glesv2, HAVE_EGLGLES="yes", [
+ HAVE_EGLGLES="no"
+ old_LIBS=$LIBS
+ old_CFLAGS=$CFLAGS
+
+ LIBS="$LIBS $EGL_LIBS"
+ CFLAGS="$CFLAGS $EGL_CFLAGS"
+ AC_CHECK_LIB([GLESv2], [glEnable],
[
- AC_CHECK_LIB([EGL], [eglGetProcAddress],
+ AC_CHECK_HEADER([GLES2/gl2.h],
[
- AC_CHECK_HEADER([EGL/egl.h],
- [
- HAVE_EGLGLES="yes"
- EGLGLES_LIBS="-lGLESv2 -lEGL"
- EGLGLES_CFLAGS=""
- ])
+ HAVE_EGLGLES="yes"
+ EGLGLES_LIBS="-lGLESv2"
+ EGLGLES_CFLAGS=""
])
])
+ LIBS=$old_LIBS
+ CFLAGS=$old_CFLAGS
])
- LIBS=$old_LIBS
- CFLAGS=$old_CFLAGS
- ])
+ fi
+
AC_SUBST(EGLGLES_CFLAGS)
AC_SUBST(EGLGLES_LIBS)
])
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 707db4f6..ac2db31e 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -225,6 +225,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -258,6 +260,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 20969d07..71629362 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -206,6 +206,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -239,6 +241,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/docs/libs/html/compiling.html b/docs/libs/html/compiling.html
index f3f33095..f123b3b7 100644
--- a/docs/libs/html/compiling.html
+++ b/docs/libs/html/compiling.html
@@ -31,7 +31,7 @@ How to compile against the bad plugins libraries
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp6141520"></a><h2>Compiling against the bad plugins libraries</h2>
+<a name="idp7985360"></a><h2>Compiling against the bad plugins libraries</h2>
<p>
To compile against these libraries, you need to tell the compiler where to
find the header files and libraries. This is done with the
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstSurfaceConverter.html b/docs/libs/html/gst-plugins-bad-libs-GstSurfaceConverter.html
index e74746b0..3dcf8cf5 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstSurfaceConverter.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstSurfaceConverter.html
@@ -62,7 +62,7 @@ uploads. The context must be discarded when the pipeline goes to
<p>
</p>
<div class="refsect2">
-<a name="idp9228720"></a><h3>Example uploading to GL texture</h3>
+<a name="idp6036688"></a><h3>Example uploading to GL texture</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstVideoContextInterface.html b/docs/libs/html/gst-plugins-bad-libs-GstVideoContextInterface.html
index 1f46e360..c3ae7719 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoContextInterface.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoContextInterface.html
@@ -101,7 +101,7 @@ application.
<p>
</p>
<div class="refsect2">
-<a name="idp11809904"></a><h3>For Element</h3>
+<a name="idp12008256"></a><h3>For Element</h3>
<p>
This interface shall be implement by group of elements that need to share
a specific video context (like VDPAU, LibVA, OpenGL elements) or by video
@@ -153,7 +153,7 @@ application.
<p>
</p>
<div class="refsect2">
-<a name="idp11822160"></a><h3>For Application</h3>
+<a name="idp12020512"></a><h3>For Application</h3>
<p>
In the case there is no neighboor element with video context to share,
the element will first turn toward the application, by sending a
@@ -177,7 +177,7 @@ application.
<p>
</p>
<div class="refsect2">
-<a name="idp11826656"></a><h3>Example using ClutterVideoGstVideoSink</h3>
+<a name="idp12025008"></a><h3>Example using ClutterVideoGstVideoSink</h3>
<p>
This example is for user of ClutterGstVideoSink element, the
ClutterGstPlayer object transparently handle this.
diff --git a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
index 175c1c4c..b6e2d583 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
@@ -92,7 +92,7 @@ struct <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.h
<p>
</p>
<div class="refsect2">
-<a name="idp10187072"></a><p>
+<a name="idp10192608"></a><p>
Provides useful functions for mpeg videos bitstream parsing.
</p>
</div>
@@ -430,11 +430,11 @@ The Mpeg2 Video Sequence Header structure.
</tr>
<tr>
<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.intra-quantizer-matrix"></a>intra_quantizer_matrix</code></em>[64];</span></p></td>
-<td>intra-quantization table</td>
+<td>intra-quantization table, in zigzag scan order</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">guint8</span> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.non-intra-quantizer-matrix"></a>non_intra_quantizer_matrix</code></em>[64];</span></p></td>
-<td>non-intra quantization table</td>
+<td>non-intra quantization table, in zigzag scan order</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.par-w"></a>par_w</code></em>;</span></p></td>
@@ -749,7 +749,9 @@ The Mpeg2 Video Picture Extension structure.
};
</pre>
<p>
-The Quant Matrix Extension structure
+The Quant Matrix Extension structure that exposes quantization
+matrices in zigzag scan order. i.e. the original encoded scan
+order.
</p>
</div>
<hr>
diff --git a/docs/libs/html/gst-plugins-bad-libs.devhelp2 b/docs/libs/html/gst-plugins-bad-libs.devhelp2
index 31dff775..b965c8f6 100644
--- a/docs/libs/html/gst-plugins-bad-libs.devhelp2
+++ b/docs/libs/html/gst-plugins-bad-libs.devhelp2
@@ -63,7 +63,7 @@
<keyword type="function" name="gst_h264_nal_parser_free ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-nal-parser-free"/>
<keyword type="function" name="gst_h264_parse_sps ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-parse-sps"/>
<keyword type="function" name="gst_h264_parse_pps ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-parse-pps"/>
- <keyword type="" name="" link="gst-plugins-bad-libs-mpegvideoparser.html#idp10187072"/>
+ <keyword type="" name="" link="gst-plugins-bad-libs-mpegvideoparser.html#idp10192608"/>
<keyword type="enum" name="enum GstMpegVideoPacketTypeCode" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPacketTypeCode"/>
<keyword type="enum" name="enum GstMpegVideoPacketExtensionCode" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPacketExtensionCode"/>
<keyword type="enum" name="enum GstMpegVideoLevel" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoLevel"/>
@@ -147,9 +147,9 @@
<keyword type="function" name="gst_vc1_bitplanes_free ()" link="gst-plugins-bad-libs-vc1parser.html#gst-vc1-bitplanes-free"/>
<keyword type="function" name="gst_vc1_bitplanes_free_1 ()" link="gst-plugins-bad-libs-vc1parser.html#gst-vc1-bitplanes-free-1"/>
<keyword type="function" name="gst_vc1_bitplanes_ensure_size ()" link="gst-plugins-bad-libs-vc1parser.html#gst-vc1-bitplanes-ensure-size"/>
- <keyword type="" name="For Element" link="gst-plugins-bad-libs-GstVideoContextInterface.html#idp11809904"/>
- <keyword type="" name="For Application" link="gst-plugins-bad-libs-GstVideoContextInterface.html#idp11822160"/>
- <keyword type="" name="Example using ClutterVideoGstVideoSink" link="gst-plugins-bad-libs-GstVideoContextInterface.html#idp11826656"/>
+ <keyword type="" name="For Element" link="gst-plugins-bad-libs-GstVideoContextInterface.html#idp12008256"/>
+ <keyword type="" name="For Application" link="gst-plugins-bad-libs-GstVideoContextInterface.html#idp12020512"/>
+ <keyword type="" name="Example using ClutterVideoGstVideoSink" link="gst-plugins-bad-libs-GstVideoContextInterface.html#idp12025008"/>
<keyword type="macro" name="GST_IS_VIDEO_CONTEXT()" link="gst-plugins-bad-libs-GstVideoContextInterface.html#GST-IS-VIDEO-CONTEXT:CAPS"/>
<keyword type="struct" name="GstVideoContext" link="gst-plugins-bad-libs-GstVideoContextInterface.html#GstVideoContext"/>
<keyword type="struct" name="struct GstVideoContextInterface" link="gst-plugins-bad-libs-GstVideoContextInterface.html#GstVideoContextInterface"/>
@@ -168,7 +168,7 @@
<keyword type="function" name="gst_video_context_query_set_string ()" link="gst-plugins-bad-libs-GstVideoContextInterface.html#gst-video-context-query-set-string"/>
<keyword type="function" name="gst_video_context_query_set_pointer ()" link="gst-plugins-bad-libs-GstVideoContextInterface.html#gst-video-context-query-set-pointer"/>
<keyword type="function" name="gst_video_context_query_set_object ()" link="gst-plugins-bad-libs-GstVideoContextInterface.html#gst-video-context-query-set-object"/>
- <keyword type="" name="Example uploading to GL texture" link="gst-plugins-bad-libs-GstSurfaceConverter.html#idp9228720"/>
+ <keyword type="" name="Example uploading to GL texture" link="gst-plugins-bad-libs-GstSurfaceConverter.html#idp6036688"/>
<keyword type="struct" name="GstSurfaceConverter" link="gst-plugins-bad-libs-GstSurfaceConverter.html#GstSurfaceConverter"/>
<keyword type="struct" name="struct GstSurfaceConverterInterface" link="gst-plugins-bad-libs-GstSurfaceConverter.html#GstSurfaceConverterInterface"/>
<keyword type="function" name="gst_surface_converter_get_type ()" link="gst-plugins-bad-libs-GstSurfaceConverter.html#gst-surface-converter-get-type"/>
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 3aa53bbf..2bb6e226 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Bad Plugins 1.0 Library Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Bad Library 1.0 (1.0.5)
+ for GStreamer Bad Library 1.0 (1.0.6)
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/</a>.
</p></div>
</div>
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 019e7f5f..7b44924d 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -244,6 +244,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -277,6 +279,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args
index 92852a31..2c7f30c2 100644
--- a/docs/plugins/gst-plugins-bad-plugins.args
+++ b/docs/plugins/gst-plugins-bad-plugins.args
@@ -26940,7 +26940,7 @@
<FLAGS>rw</FLAGS>
<NICK>splash</NICK>
<BLURB>make a big splash in the center.</BLURB>
-<DEFAULT>1.37429e-309</DEFAULT>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
@@ -26950,7 +26950,7 @@
<FLAGS>rw</FLAGS>
<NICK>splash</NICK>
<BLURB>make a big splash in the center.</BLURB>
-<DEFAULT>1.37974e-309</DEFAULT>
+<DEFAULT>0</DEFAULT>
</ARG>
<ARG>
@@ -27000,7 +27000,7 @@
<FLAGS>rw</FLAGS>
<NICK>DelayTime</NICK>
<BLURB>the delay time.</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>1.58992e-316</DEFAULT>
</ARG>
<ARG>
@@ -27380,7 +27380,7 @@
<FLAGS>rw</FLAGS>
<NICK>lredscale</NICK>
<BLURB>multiplier for downscaling non-edge brightness.</BLURB>
-<DEFAULT>7.06238e-304</DEFAULT>
+<DEFAULT>1.58658e-316</DEFAULT>
</ARG>
<ARG>
@@ -27570,7 +27570,7 @@
<FLAGS>rw</FLAGS>
<NICK>blend</NICK>
<BLURB>blend factor.</BLURB>
-<DEFAULT>8.22356e-121</DEFAULT>
+<DEFAULT>9.88131e-324</DEFAULT>
</ARG>
<ARG>
@@ -27580,7 +27580,7 @@
<FLAGS>rw</FLAGS>
<NICK>fader</NICK>
<BLURB>the fader position.</BLURB>
-<DEFAULT>0</DEFAULT>
+<DEFAULT>1.37429e-309</DEFAULT>
</ARG>
<ARG>
@@ -58479,7 +58479,7 @@
<RANGE></RANGE>
<FLAGS>rwx</FLAGS>
<NICK>Connection</NICK>
-<BLURB>Connection.</BLURB>
+<BLURB>Video input connection to use.</BLURB>
<DEFAULT>sdi</DEFAULT>
</ARG>
@@ -58489,11 +58489,21 @@
<RANGE></RANGE>
<FLAGS>rwx</FLAGS>
<NICK>Mode</NICK>
-<BLURB>Mode.</BLURB>
+<BLURB>Video mode to use for capture.</BLURB>
<DEFAULT>ntsc</DEFAULT>
</ARG>
<ARG>
+<NAME>GstDecklinkSrc::audio-input</NAME>
+<TYPE>GstDecklinkAudioConnection</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Audio Input</NICK>
+<BLURB>Audio input connection.</BLURB>
+<DEFAULT>auto</DEFAULT>
+</ARG>
+
+<ARG>
<NAME>GstDecklinkSink::mode</NAME>
<TYPE>GstDecklinkModes</TYPE>
<RANGE></RANGE>
diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy
index 564368c9..3e6549be 100644
--- a/docs/plugins/gst-plugins-bad-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy
@@ -110,15 +110,6 @@ GObject
GstMirror
GstRotate
GstSquare
- GstOpencvVideoFilter
- GstCvDilateErode
- GstCvDilate
- GstCvErode
- GstCvEqualizeHist
- GstCvLaplace
- GstCvSmooth
- GstCvSobel
- GstFaceDetect
GstSmooth
GstSolarize
GstZBar
@@ -191,8 +182,7 @@ GObject
GstCompare
GstDVBSubOverlay
GstDVDSpu
- GstEdgeDetect
- GstFaceBlur
+ GstDecklinkSrc
GstFestival
GstFieldAnalysis
GstGDPDepay
@@ -206,16 +196,13 @@ GObject
GstMimDec
GstMimEnc
GstModPlug
- GstMotioncells
GstMpeg2enc
GstMpegPSDemux
GstMplex
- GstOpencvTextOverlay
GstPcapParse
GstPitch
GstPnmdec
GstPnmenc
- GstPyramidSegment
GstRTPBaseDepayload
GstRTPOpusDepay
GstRtpDTMFDepay
@@ -237,7 +224,6 @@ GObject
GstSrtEnc
GstTagMux
GstId3Mux
- GstTemplateMatch
GstVideoDecoder
GstSchroDec
GstVideoEncoder
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 587f5539..dfd6db4b 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -21,7 +21,7 @@
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
-<a name="idp233472"></a>gst-plugins-bad Elements</h2></div></div></div>
+<a name="idp4168704"></a>gst-plugins-bad Elements</h2></div></div></div>
<div class="toc"><dl>
<dt>
<span class="refentrytitle"><a href="gst-plugins-bad-plugins-assrender.html">assrender</a></span><span class="refpurpose"> — Renders ASS/SSA subtitles with libass</span>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index 58990411..fad3bc9c 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -21,7 +21,7 @@
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
-<a name="idp131024"></a>gst-plugins-bad Plugins</h2></div></div></div>
+<a name="idp78448"></a>gst-plugins-bad Plugins</h2></div></div></div>
<div class="toc"><dl>
<dt>
<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-audiovisualizers.html">audiovisualizers</a></span><span class="refpurpose"> — <a name="plugin-audiovisualizers"></a>Creates video visualizations of audio input</span>
diff --git a/docs/plugins/html/ch03.html b/docs/plugins/html/ch03.html
index 62a9155c..9ff2c097 100644
--- a/docs/plugins/html/ch03.html
+++ b/docs/plugins/html/ch03.html
@@ -21,7 +21,7 @@
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
-<a name="idp5297040"></a>gst-plugins-bad Interfaces</h2></div></div></div>
+<a name="idp5192512"></a>gst-plugins-bad Interfaces</h2></div></div></div>
<div class="toc"><dl><dt>
<span class="refentrytitle"><a href="GstPhotography.html">GstPhotography</a></span><span class="refpurpose"></span>
</dt></dl></div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
index 81efa442..26e91979 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
@@ -66,7 +66,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp5355424"></a><h3>Element Information</h3>
+<a name="idm7872"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -89,7 +89,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp8337824"></a><h3>Element Pads</h3>
+<a name="idp7125568"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
index 7b662042..e8f00979 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
@@ -87,7 +87,7 @@ elements.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp5405984"></a><h3>Element Information</h3>
+<a name="idp7127184"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -110,7 +110,7 @@ elements.
</div>
<hr>
<div class="refsect2">
-<a name="idp5539744"></a><h3>Element Pads</h3>
+<a name="idp6648880"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
index d265d735..93da651b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
@@ -69,7 +69,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8517200"></a><h3>Element Information</h3>
+<a name="idp7798016"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -92,7 +92,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp7994096"></a><h3>Element Pads</h3>
+<a name="idp6658688"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-burn.html b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
index f07f5deb..1f36dbfa 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-burn.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
@@ -71,7 +71,7 @@ Burn adjusts the colors of a video stream in realtime.
<p>
</p>
<div class="refsect2">
-<a name="idp5957136"></a><h3>Example launch line</h3>
+<a name="idp5732560"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -89,7 +89,7 @@ Burn adjusts the colors of a video stream in realtime.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp6530176"></a><h3>Element Information</h3>
+<a name="idp7278976"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -112,7 +112,7 @@ Burn adjusts the colors of a video stream in realtime.
</div>
<hr>
<div class="refsect2">
-<a name="idp7437472"></a><h3>Element Pads</h3>
+<a name="idp9558160"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
index 9785da10..90b4f4c9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
@@ -44,7 +44,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7467216"></a><h3>Element Information</h3>
+<a name="idp6215792"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -67,7 +67,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp5422208"></a><h3>Element Pads</h3>
+<a name="idp5997264"></a><h3>Element Pads</h3>
</div>
</div>
<p>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-celtdec.html b/docs/plugins/html/gst-plugins-bad-plugins-celtdec.html
index 851c960f..c809ccad 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-celtdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-celtdec.html
@@ -58,7 +58,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp5309200"></a><h3>Element Information</h3>
+<a name="idp7526016"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -81,7 +81,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp6506064"></a><h3>Element Pads</h3>
+<a name="idp7895168"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-celtenc.html b/docs/plugins/html/gst-plugins-bad-plugins-celtenc.html
index 54959282..fe3da93b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-celtenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-celtenc.html
@@ -80,7 +80,7 @@ GstCeltEnc implements
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp6186944"></a><h3>Element Information</h3>
+<a name="idp7641344"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -103,7 +103,7 @@ GstCeltEnc implements
</div>
<hr>
<div class="refsect2">
-<a name="idp6194352"></a><h3>Element Pads</h3>
+<a name="idp9029808"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
index 2c254e1d..1e77df63 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
@@ -72,7 +72,7 @@ Chromium breaks the colors of a video stream in realtime.
<p>
</p>
<div class="refsect2">
-<a name="idp7757744"></a><h3>Example launch line</h3>
+<a name="idp8637744"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -90,7 +90,7 @@ Chromium breaks the colors of a video stream in realtime.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7170464"></a><h3>Element Information</h3>
+<a name="idp9815168"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -113,7 +113,7 @@ Chromium breaks the colors of a video stream in realtime.
</div>
<hr>
<div class="refsect2">
-<a name="idp10446592"></a><h3>Element Pads</h3>
+<a name="idp9161904"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-circle.html b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
index 833b7c20..71353bf8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-circle.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
@@ -71,7 +71,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8097840"></a><h3>Element Information</h3>
+<a name="idp5990448"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -94,7 +94,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp5787344"></a><h3>Element Pads</h3>
+<a name="idp6538928"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
index 4283f18e..66d0ed7e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
@@ -70,7 +70,7 @@ Map colors of the video input to a lookup table
<p>
</p>
<div class="refsect2">
-<a name="idp9341344"></a><h3>Example launch line</h3>
+<a name="idp6499680"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -90,7 +90,7 @@ Map colors of the video input to a lookup table
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8860240"></a><h3>Element Information</h3>
+<a name="idp9211088"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -113,7 +113,7 @@ Map colors of the video input to a lookup table
</div>
<hr>
<div class="refsect2">
-<a name="idp7759168"></a><h3>Element Pads</h3>
+<a name="idp9164864"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
index 8b85dd12..a1155901 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
@@ -24,8 +24,6 @@
<a href="#gst-plugins-bad-plugins-cvdilate.synopsis" class="shortcut">Top</a>
 | 
<a href="#gst-plugins-bad-plugins-cvdilate.description" class="shortcut">Description</a>
-  | 
- <a href="#gst-plugins-bad-plugins-cvdilate.object-hierarchy" class="shortcut">Object Hierarchy</a>
</td></tr>
</table>
<div class="refentry">
@@ -39,21 +37,7 @@
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-bad-plugins-cvdilate.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCvDilate"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct" title="struct GstCvDilate">GstCvDilate</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-cvdilate.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
- +----GstOpencvVideoFilter
- +----GstCvDilateErode
- +----GstCvDilate
+<pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate" title="struct GstCvDilate">GstCvDilate</a>;
</pre>
</div>
<div class="refsect1">
@@ -61,7 +45,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11257728"></a><h3>Element Information</h3>
+<a name="idp5756480"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -84,7 +68,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp10263696"></a><h3>Element Pads</h3>
+<a name="idp6309888"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -231,8 +215,11 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvdilate.details"></a><h2>Details</h2>
<div class="refsect2">
-<a name="GstCvDilate-struct"></a><h3>struct GstCvDilate</h3>
-<pre class="programlisting">struct GstCvDilate;</pre>
+<a name="GstCvDilate"></a><h3>struct GstCvDilate</h3>
+<pre class="programlisting">struct GstCvDilate {
+ GstCvDilateErode element;
+};
+</pre>
<p>
</p>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
index 46a18ad2..8ed7ae48 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
@@ -24,8 +24,6 @@
<a href="#gst-plugins-bad-plugins-cvequalizehist.synopsis" class="shortcut">Top</a>
 | 
<a href="#gst-plugins-bad-plugins-cvequalizehist.description" class="shortcut">Description</a>
-  | 
- <a href="#gst-plugins-bad-plugins-cvequalizehist.object-hierarchy" class="shortcut">Object Hierarchy</a>
</td></tr>
</table>
<div class="refentry">
@@ -39,20 +37,7 @@
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-bad-plugins-cvequalizehist.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCvEqualizeHist"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct" title="struct GstCvEqualizeHist">GstCvEqualizeHist</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-cvequalizehist.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
- +----GstOpencvVideoFilter
- +----GstCvEqualizeHist
+<pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist" title="struct GstCvEqualizeHist">GstCvEqualizeHist</a>;
</pre>
</div>
<div class="refsect1">
@@ -60,7 +45,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8297376"></a><h3>Element Information</h3>
+<a name="idp9531104"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -83,7 +68,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp10746512"></a><h3>Element Pads</h3>
+<a name="idp5814704"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -134,8 +119,11 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvequalizehist.details"></a><h2>Details</h2>
<div class="refsect2">
-<a name="GstCvEqualizeHist-struct"></a><h3>struct GstCvEqualizeHist</h3>
-<pre class="programlisting">struct GstCvEqualizeHist;</pre>
+<a name="GstCvEqualizeHist"></a><h3>struct GstCvEqualizeHist</h3>
+<pre class="programlisting">struct GstCvEqualizeHist {
+ GstOpencvVideoFilter element;
+};
+</pre>
<p>
</p>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
index bb631fd9..99792cb4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
@@ -24,8 +24,6 @@
<a href="#gst-plugins-bad-plugins-cverode.synopsis" class="shortcut">Top</a>
 | 
<a href="#gst-plugins-bad-plugins-cverode.description" class="shortcut">Description</a>
-  | 
- <a href="#gst-plugins-bad-plugins-cverode.object-hierarchy" class="shortcut">Object Hierarchy</a>
</td></tr>
</table>
<div class="refentry">
@@ -39,21 +37,7 @@
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-bad-plugins-cverode.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCvErode"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cverode.html#GstCvErode-struct" title="struct GstCvErode">GstCvErode</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-cverode.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
- +----GstOpencvVideoFilter
- +----GstCvDilateErode
- +----GstCvErode
+<pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cverode.html#GstCvErode" title="struct GstCvErode">GstCvErode</a>;
</pre>
</div>
<div class="refsect1">
@@ -61,7 +45,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11367024"></a><h3>Element Information</h3>
+<a name="idp10165936"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -84,7 +68,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp10826496"></a><h3>Element Pads</h3>
+<a name="idp6578320"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -231,8 +215,11 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cverode.details"></a><h2>Details</h2>
<div class="refsect2">
-<a name="GstCvErode-struct"></a><h3>struct GstCvErode</h3>
-<pre class="programlisting">struct GstCvErode;</pre>
+<a name="GstCvErode"></a><h3>struct GstCvErode</h3>
+<pre class="programlisting">struct GstCvErode {
+ GstCvDilateErode element;
+};
+</pre>
<p>
</p>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
index 5cf9be1e..9d5ec276 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
@@ -25,8 +25,6 @@
 | 
<a href="#gst-plugins-bad-plugins-cvlaplace.description" class="shortcut">Description</a>
 | 
- <a href="#gst-plugins-bad-plugins-cvlaplace.object-hierarchy" class="shortcut">Object Hierarchy</a>
-  | 
<a href="#gst-plugins-bad-plugins-cvlaplace.properties" class="shortcut">Properties</a>
</td></tr>
</table>
@@ -41,20 +39,7 @@
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-bad-plugins-cvlaplace.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCvLaplace"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct" title="struct GstCvLaplace">GstCvLaplace</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-cvlaplace.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
- +----GstOpencvVideoFilter
- +----GstCvLaplace
+<pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace" title="struct GstCvLaplace">GstCvLaplace</a>;
</pre>
</div>
<div class="refsect1">
@@ -68,7 +53,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp6302256"></a><h3>Element Information</h3>
+<a name="idp8389120"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -91,7 +76,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp11388720"></a><h3>Element Pads</h3>
+<a name="idp7237696"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -142,8 +127,15 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvlaplace.details"></a><h2>Details</h2>
<div class="refsect2">
-<a name="GstCvLaplace-struct"></a><h3>struct GstCvLaplace</h3>
-<pre class="programlisting">struct GstCvLaplace;</pre>
+<a name="GstCvLaplace"></a><h3>struct GstCvLaplace</h3>
+<pre class="programlisting">struct GstCvLaplace {
+ GstOpencvVideoFilter element;
+
+ gint aperture_size;
+
+ IplImage *intermediary_img;
+};
+</pre>
<p>
</p>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
index bca9ba16..3e5eb381 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
@@ -25,8 +25,6 @@
 | 
<a href="#gst-plugins-bad-plugins-cvsmooth.description" class="shortcut">Description</a>
 | 
- <a href="#gst-plugins-bad-plugins-cvsmooth.object-hierarchy" class="shortcut">Object Hierarchy</a>
-  | 
<a href="#gst-plugins-bad-plugins-cvsmooth.properties" class="shortcut">Properties</a>
</td></tr>
</table>
@@ -41,20 +39,7 @@
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-bad-plugins-cvsmooth.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCvSmooth"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct" title="struct GstCvSmooth">GstCvSmooth</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-cvsmooth.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
- +----GstOpencvVideoFilter
- +----GstCvSmooth
+<pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth" title="struct GstCvSmooth">GstCvSmooth</a>;
</pre>
</div>
<div class="refsect1">
@@ -72,7 +57,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp5490656"></a><h3>Element Information</h3>
+<a name="idp7938416"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -95,7 +80,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp5404720"></a><h3>Element Pads</h3>
+<a name="idp3306256"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -162,8 +147,18 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvsmooth.details"></a><h2>Details</h2>
<div class="refsect2">
-<a name="GstCvSmooth-struct"></a><h3>struct GstCvSmooth</h3>
-<pre class="programlisting">struct GstCvSmooth;</pre>
+<a name="GstCvSmooth"></a><h3>struct GstCvSmooth</h3>
+<pre class="programlisting">struct GstCvSmooth {
+ GstOpencvVideoFilter element;
+
+ gint type;
+
+ gint param1;
+ gint param2;
+ gdouble param3;
+ gdouble param4;
+};
+</pre>
<p>
</p>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
index 6ac3f4fb..c3346c1a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
@@ -25,8 +25,6 @@
 | 
<a href="#gst-plugins-bad-plugins-cvsobel.description" class="shortcut">Description</a>
 | 
- <a href="#gst-plugins-bad-plugins-cvsobel.object-hierarchy" class="shortcut">Object Hierarchy</a>
-  | 
<a href="#gst-plugins-bad-plugins-cvsobel.properties" class="shortcut">Properties</a>
</td></tr>
</table>
@@ -41,20 +39,7 @@
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-bad-plugins-cvsobel.synopsis"></a><h2>Synopsis</h2>
-<a name="GstCvSobel"></a><pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct" title="struct GstCvSobel">GstCvSobel</a>;
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-cvsobel.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="synopsis">
- <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
- +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
- +----GstOpencvVideoFilter
- +----GstCvSobel
+<pre class="synopsis">struct <a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel" title="struct GstCvSobel">GstCvSobel</a>;
</pre>
</div>
<div class="refsect1">
@@ -70,7 +55,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8499456"></a><h3>Element Information</h3>
+<a name="idp7330112"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -93,7 +78,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp6611872"></a><h3>Element Pads</h3>
+<a name="idp7568464"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -144,8 +129,15 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvsobel.details"></a><h2>Details</h2>
<div class="refsect2">
-<a name="GstCvSobel-struct"></a><h3>struct GstCvSobel</h3>
-<pre class="programlisting">struct GstCvSobel;</pre>
+<a name="GstCvSobel"></a><h3>struct GstCvSobel</h3>
+<pre class="programlisting">struct GstCvSobel {
+ GstOpencvVideoFilter element;
+
+ gint x_order;
+ gint y_order;
+ gint aperture_size;
+};
+</pre>
<p>
</p>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
index 458344b6..b49c2b7a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
@@ -77,7 +77,7 @@ dataurisrc handles data: URIs, see <a class="ulink" href="http://tools.ietf.org/
<p>
</p>
<div class="refsect2">
-<a name="idp9140944"></a><h3>Example launch line</h3>
+<a name="idp9768640"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -95,7 +95,7 @@ dataurisrc handles data: URIs, see <a class="ulink" href="http://tools.ietf.org/
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11118528"></a><h3>Element Information</h3>
+<a name="idp9771632"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -118,7 +118,7 @@ dataurisrc handles data: URIs, see <a class="ulink" href="http://tools.ietf.org/
</div>
<hr>
<div class="refsect2">
-<a name="idp10729152"></a><h3>Element Pads</h3>
+<a name="idp9128640"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
index 236c182c..13895d90 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
@@ -68,7 +68,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10781312"></a><h3>Element Information</h3>
+<a name="idp8350464"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -91,7 +91,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp11132544"></a><h3>Element Pads</h3>
+<a name="idp6245808"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
index f716f877..39ddc9e1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
@@ -71,7 +71,7 @@ Dilate adjusts the colors of a video stream in realtime.
<p>
</p>
<div class="refsect2">
-<a name="idp8342848"></a><h3>Example launch line</h3>
+<a name="idp9817440"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -89,7 +89,7 @@ Dilate adjusts the colors of a video stream in realtime.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp6836816"></a><h3>Element Information</h3>
+<a name="idp7210976"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -112,7 +112,7 @@ Dilate adjusts the colors of a video stream in realtime.
</div>
<hr>
<div class="refsect2">
-<a name="idp8513072"></a><h3>Element Pads</h3>
+<a name="idp9390080"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
index 35ed493e..7f73dd67 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
@@ -70,7 +70,7 @@ Dodge saturates the colors of a video stream in realtime.
<p>
</p>
<div class="refsect2">
-<a name="idp6128240"></a><h3>Example launch line</h3>
+<a name="idp3176720"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -88,7 +88,7 @@ Dodge saturates the colors of a video stream in realtime.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp5306544"></a><h3>Element Information</h3>
+<a name="idp8513760"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -111,7 +111,7 @@ Dodge saturates the colors of a video stream in realtime.
</div>
<hr>
<div class="refsect2">
-<a name="idp11931984"></a><h3>Element Pads</h3>
+<a name="idp10328720"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
index 3c829b27..d3621eda 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
@@ -85,7 +85,7 @@ the following fields:
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp6654672"></a><h3>Element Information</h3>
+<a name="idp7107936"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -108,7 +108,7 @@ the following fields:
</div>
<hr>
<div class="refsect2">
-<a name="idp11203248"></a><h3>Element Pads</h3>
+<a name="idp8983824"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtmfsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dtmfsrc.html
index f42fde74..08040116 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtmfsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtmfsrc.html
@@ -161,7 +161,7 @@ READY state, then a "dtmf-event-dropped" message is posted on the
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11576592"></a><h3>Element Information</h3>
+<a name="idp10598080"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -184,7 +184,7 @@ READY state, then a "dtmf-event-dropped" message is posted on the
</div>
<hr>
<div class="refsect2">
-<a name="idp11584000"></a><h3>Element Pads</h3>
+<a name="idp10605488"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
index bd1f7d63..9b49ffce 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
@@ -66,7 +66,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8471920"></a><h3>Element Information</h3>
+<a name="idp5791552"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -89,7 +89,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp5366688"></a><h3>Element Pads</h3>
+<a name="idp5661440"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
index b4f9e962..bd0eb13e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
@@ -90,7 +90,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp12319632"></a><h3>Element Information</h3>
+<a name="idp9967248"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -113,7 +113,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp12327152"></a><h3>Element Pads</h3>
+<a name="idp9974768"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
index 5c27e71f..3c95d710 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
@@ -60,7 +60,7 @@ DVD sub picture overlay element.
<p>
</p>
<div class="refsect2">
-<a name="idp7246928"></a><h3>Example launch line</h3>
+<a name="idp10154320"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -78,7 +78,7 @@ DVD sub picture overlay element.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp5680288"></a><h3>Element Information</h3>
+<a name="idp10152144"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -101,7 +101,7 @@ DVD sub picture overlay element.
</div>
<hr>
<div class="refsect2">
-<a name="idp9232144"></a><h3>Element Pads</h3>
+<a name="idp6397232"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
index 5def94e0..8bbc79a4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
@@ -44,7 +44,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7524416"></a><h3>Element Information</h3>
+<a name="idp6102544"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -67,7 +67,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp11075808"></a><h3>Element Pads</h3>
+<a name="idp8343392"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-eglglessink.html b/docs/plugins/html/gst-plugins-bad-plugins-eglglessink.html
index 7d66c224..1758737f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-eglglessink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-eglglessink.html
@@ -45,7 +45,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp9356224"></a><h3>Element Information</h3>
+<a name="idp10506384"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -68,7 +68,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp6521872"></a><h3>Element Pads</h3>
+<a name="idp7391440"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -101,18 +101,25 @@
<a name="GstEglGlesSink"></a><h3>struct GstEglGlesSink</h3>
<pre class="programlisting">struct GstEglGlesSink {
GstVideoSink videosink; /* Element hook */
- int par_n, par_d; /* Aspect ratio from caps */
- GstVideoFormat format;
+ /* Region of the surface that should be rendered */
+ GstVideoRectangle render_region;
+ gboolean render_region_changed;
+ gboolean render_region_user;
+
+ /* Region of render_region that should be filled
+ * with the video frames */
GstVideoRectangle display_region;
+
+ GstVideoRectangle crop;
+ gboolean crop_changed;
GstCaps *sinkcaps;
GstCaps *current_caps, *configured_caps;
+ GstVideoInfo configured_info;
+ gfloat stride[3];
- GstEglGlesImageFmt *selected_fmt;
GstEglGlesRenderContext eglglesctx;
- GList *supported_fmts;
-
/* Runtime flags */
gboolean have_window;
gboolean using_own_window;
@@ -121,11 +128,13 @@
gboolean have_texture;
gboolean egl_started;
+ gpointer own_window_data;
+
GThread *thread;
gboolean thread_running;
- GstDataQueue *queue;
- GCond *render_cond;
- GMutex *render_lock;
+ EGLGstDataQueue *queue;
+ GCond render_cond;
+ GMutex render_lock;
GstFlowReturn last_flow;
/* Properties */
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
index b4cc246c..adf7a5d8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
@@ -71,7 +71,7 @@ Exclusion saturates the colors of a video stream in realtime.
<p>
</p>
<div class="refsect2">
-<a name="idp6237824"></a><h3>Example launch line</h3>
+<a name="idp9246080"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -89,7 +89,7 @@ Exclusion saturates the colors of a video stream in realtime.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11078656"></a><h3>Element Information</h3>
+<a name="idp6724976"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -112,7 +112,7 @@ Exclusion saturates the colors of a video stream in realtime.
</div>
<hr>
<div class="refsect2">
-<a name="idp11731808"></a><h3>Element Pads</h3>
+<a name="idp10849440"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
index 4ef55287..61d918ad 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
@@ -81,7 +81,7 @@ GstFaac implements
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp12723008"></a><h3>Element Information</h3>
+<a name="idp11148432"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -104,7 +104,7 @@ GstFaac implements
</div>
<hr>
<div class="refsect2">
-<a name="idp12085904"></a><h3>Element Pads</h3>
+<a name="idp11485392"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
index 827a26d7..c1fac7e8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
@@ -58,7 +58,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8251776"></a><h3>Element Information</h3>
+<a name="idp10886112"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -81,7 +81,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp5983600"></a><h3>Element Pads</h3>
+<a name="idp7740336"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
index b11ca032..0e4cf755 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
@@ -44,7 +44,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp11706592"></a><h3>Element Information</h3>
+<a name="idp11577232"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -67,7 +67,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp8299264"></a><h3>Element Pads</h3>
+<a name="idp5316624"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
index 48979822..3414712b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
@@ -44,7 +44,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp12125488"></a><h3>Element Information</h3>
+<a name="idp10867488"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -67,7 +67,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp10316800"></a><h3>Element Pads</h3>
+<a name="idp9370336"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-festival.html b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
index 05218267..e1c33497 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
@@ -65,7 +65,7 @@ in server mode, started as </p>
<p>
</p>
<div class="refsect2">
-<a name="idp7926240"></a><h3>Example pipeline</h3>
+<a name="idp8165600"></a><h3>Example pipeline</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -83,7 +83,7 @@ in server mode, started as </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7143712"></a><h3>Element Information</h3>
+<a name="idp5839920"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -106,7 +106,7 @@ in server mode, started as </p>
</div>
<hr>
<div class="refsect2">
-<a name="idp11687248"></a><h3>Element Pads</h3>
+<a name="idp11044624"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
index 8ece6027..61a0da42 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
@@ -60,7 +60,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7206080"></a><h3>Element Information</h3>
+<a name="idp6629408"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -83,7 +83,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp10346160"></a><h3>Element Pads</h3>
+<a name="idp9265648"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
index 22e95e43..c06236e2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
@@ -95,7 +95,7 @@ Can display the current and average framerate as a testoverlay or on stdout.
<p>
</p>
<div class="refsect2">
-<a name="idp13048032"></a><h3>Example launch lines</h3>
+<a name="idp11935872"></a><h3>Example launch lines</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -119,7 +119,7 @@ gst<span class="gtkdoc opt">-</span>launch playbin uri<span class="gtkdoc opt">=
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp13051008"></a><h3>Element Information</h3>
+<a name="idp11938848"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -142,7 +142,7 @@ gst<span class="gtkdoc opt">-</span>launch playbin uri<span class="gtkdoc opt">=
</div>
<hr>
<div class="refsect2">
-<a name="idp13058416"></a><h3>Element Pads</h3>
+<a name="idp11946256"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
index d183f3fe..f219576b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
@@ -47,7 +47,7 @@ Gaussianblur blurs the video stream in realtime.
<p>
</p>
<div class="refsect2">
-<a name="idp12606864"></a><h3>Example launch line</h3>
+<a name="idp11350368"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -65,7 +65,7 @@ Gaussianblur blurs the video stream in realtime.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp12604528"></a><h3>Element Information</h3>
+<a name="idp11928272"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -88,7 +88,7 @@ Gaussianblur blurs the video stream in realtime.
</div>
<hr>
<div class="refsect2">
-<a name="idp11183024"></a><h3>Element Pads</h3>
+<a name="idp8478560"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
index ec8e3f71..8a243aa7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
@@ -71,7 +71,7 @@ among others. Jpegparse can also extract metadata (e.g. xmp).
<p>
</p>
<div class="refsect2">
-<a name="idp9090496"></a><h3>Example launch line</h3>
+<a name="idp7971936"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -91,7 +91,7 @@ HTTP and stores it in a matroska file.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10981440"></a><h3>Element Information</h3>
+<a name="idp7207056"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -114,7 +114,7 @@ HTTP and stores it in a matroska file.
</div>
<hr>
<div class="refsect2">
-<a name="idp6394432"></a><h3>Element Pads</h3>
+<a name="idp11845568"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
index 24b56c3e..38b03104 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
@@ -71,7 +71,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp7508224"></a><h3>Element Information</h3>
+<a name="idp11470144"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -94,7 +94,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp12840528"></a><h3>Element Pads</h3>
+<a name="idp6083392"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
index df7df8ba..fc7e0d85 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
@@ -76,7 +76,7 @@ Last reviewed on 2008-02-10 (0.10.11)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8608464"></a><h3>Element Information</h3>
+<a name="idp7971360"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -99,7 +99,7 @@ Last reviewed on 2008-02-10 (0.10.11)
</div>
<hr>
<div class="refsect2">
-<a name="idp13329152"></a><h3>Element Pads</h3>
+<a name="idp11807392"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-marble.html b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
index 563d5cf7..7b53a9a3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-marble.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
@@ -71,7 +71,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8998736"></a><h3>Element Information</h3>
+<a name="idp3117328"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -94,7 +94,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp12621328"></a><h3>Element Pads</h3>
+<a name="idp12221712"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
index 4e65aa87..6809b289 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
@@ -57,7 +57,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10320912"></a><h3>Element Information</h3>
+<a name="idp12574256"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -80,7 +80,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp8744576"></a><h3>Element Pads</h3>
+<a name="idp6752864"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
index 5467161d..ca979fc2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
@@ -65,7 +65,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp10524176"></a><h3>Element Information</h3>
+<a name="idp6352240"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -88,7 +88,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp8475232"></a><h3>Element Pads</h3>
+<a name="idp6491488"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
index ce1edcba..00be78ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
@@ -68,7 +68,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp8369824"></a><h3>Element Information</h3>
+<a name="idp10561008"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -91,7 +91,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp13437264"></a><h3>Element Pads</h3>
+<a name="idp10715760"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
index f66c8349..ea9e4772 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
@@ -76,7 +76,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp12875760"></a><h3>Element Information</h3>
+<a name="idp10703152"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -99,7 +99,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp13716512"></a><h3>Element Pads</h3>
+<a name="idp12616128"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
index 71177e19..c1e04344 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
@@ -106,7 +106,7 @@ GstMpeg2enc implements
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp14060624"></a><h3>Element Information</h3>
+<a name="idp12163344"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -130,7 +130,7 @@ Ronald Bultje &lt;rbultje@ronald.bitfreak.net&gt;</td>
</div>
<hr>
<div class="refsect2">
-<a name="idp14068032"></a><h3>Element Pads</h3>
+<a name="idp12170752"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html b/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
index b90208fb..91fc23b5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
@@ -58,7 +58,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp9111696"></a><h3>Element Information</h3>
+<a name="idp9025888"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -81,7 +81,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp7174208"></a><h3>Element Pads</h3>
+<a name="idp5641664"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
index e8e0dfd3..17330cb6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
@@ -71,7 +71,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp6491792"></a><h3>Element Information</h3>
+<a name="idp5262544"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -96,7 +96,7 @@ Mark Nauwelaerts &lt;mnauw@users.sourceforge.net&gt;</td>
</div>
<hr>
<div class="refsect2">
-<a name="idp5616896"></a><h3>Element Pads</h3>
+<a name="idp5670512"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
index 7acba61d..4f96737a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
@@ -62,7 +62,7 @@ struct <a class="link" href="gst-plugins-bad-plugins-opencvtextover
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp17493168"></a><h3>Element Information</h3>
+<a name="idp18746736"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -85,7 +85,7 @@ struct <a class="link" href="gst-plugins-bad-plugins-opencvtextover
</div>
<hr>
<div class="refsect2">
-<a name="idp20225168"></a><h3>Element Pads</h3>
+<a name="idp14255840"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
index a6a54c04..6949c7d7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
@@ -76,7 +76,7 @@ should be included.
<p>
</p>
<div class="refsect2">
-<a name="idp13862208"></a><h3>Example pipelines</h3>
+<a name="idp12411424"></a><h3>Example pipelines</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -97,7 +97,7 @@ depayload and decode them.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp13865040"></a><h3>Element Information</h3>
+<a name="idp12414256"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -120,7 +120,7 @@ depayload and decode them.
</div>
<hr>
<div class="refsect2">
-<a name="idp13886704"></a><h3>Element Pads</h3>
+<a name="idp12421664"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
index 507ab5b9..05379d42 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
@@ -69,7 +69,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp5457584"></a><h3>Element Information</h3>
+<a name="idp11757296"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -92,7 +92,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp11476256"></a><h3>Element Pads</h3>
+<a name="idp12383696"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
index fd8a6b01..671d446a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp20517856"></a><h2>Plugin Information</h2>
+<a name="idp14499856"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17376448"></a><h2>Elements</h2>
+<a name="idp16798992"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
index 3bda2b48..0f5f19e0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15692432"></a><h2>Plugin Information</h2>
+<a name="idp16352480"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp16054336"></a><h2>Elements</h2>
+<a name="idp17669504"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
index d62a4c8d..80eb6019 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp17588352"></a><h2>Plugin Information</h2>
+<a name="idp18013872"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp16327568"></a><h2>Elements</h2>
+<a name="idp16319424"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
index 187a6f58..e5b0dbe7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp17831152"></a><h2>Plugin Information</h2>
+<a name="idp18357088"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15700096"></a><h2>Elements</h2>
+<a name="idp13689840"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
index 2000025a..5a9a8a53 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19333088"></a><h2>Plugin Information</h2>
+<a name="idp18106864"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp16748096"></a><h2>Elements</h2>
+<a name="idp17383024"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
index 3e79d5a1..e7b6136f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp17535152"></a><h2>Plugin Information</h2>
+<a name="idp14390560"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17644320"></a><h2>Elements</h2>
+<a name="idp14686512"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-celt.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-celt.html
index 432c1fa0..7bf211f9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-celt.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-celt.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15396272"></a><h2>Plugin Information</h2>
+<a name="idp13839840"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18126352"></a><h2>Elements</h2>
+<a name="idp14083840"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
index c732820c..6822bd45 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19538160"></a><h2>Plugin Information</h2>
+<a name="idp16582640"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp14933744"></a><h2>Elements</h2>
+<a name="idp17236768"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
index 808a7ebc..82888759 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19430384"></a><h2>Plugin Information</h2>
+<a name="idp16526016"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18288288"></a><h2>Elements</h2>
+<a name="idp20207424"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
index ddc1d449..0f31f73b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp20337328"></a><h2>Plugin Information</h2>
+<a name="idp16068528"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17150432"></a><h2>Elements</h2>
+<a name="idp18061440"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
index 56bfbf7f..6f7bd887 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19045952"></a><h2>Plugin Information</h2>
+<a name="idp19993760"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp14965808"></a><h2>Elements</h2>
+<a name="idp14230896"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dirac.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dirac.html
index da7b9f2e..0efac8b1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dirac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dirac.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp17384800"></a><h2>Plugin Information</h2>
+<a name="idp16326384"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18689504"></a><h2>Elements</h2>
+<a name="idp17738064"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtmf.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtmf.html
index c0e19df7..d164cd78 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtmf.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtmf.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp16936592"></a><h2>Plugin Information</h2>
+<a name="idp16332496"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp16371904"></a><h2>Elements</h2>
+<a name="idp17871872"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
index 9b769fff..57578460 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp16227040"></a><h2>Plugin Information</h2>
+<a name="idp20378416"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp16130736"></a><h2>Elements</h2>
+<a name="idp16077536"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
index 01734bcd..dfcd39b8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp17631136"></a><h2>Plugin Information</h2>
+<a name="idp20412656"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp20158528"></a><h2>Elements</h2>
+<a name="idp20598064"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
index 8f5fe21a..398f8f66 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp16157296"></a><h2>Plugin Information</h2>
+<a name="idp20184656"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15795472"></a><h2>Elements</h2>
+<a name="idp15508048"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-eglglessink.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-eglglessink.html
index 797826b3..46313b0e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-eglglessink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-eglglessink.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15313792"></a><h2>Plugin Information</h2>
+<a name="idp15691568"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15071440"></a><h2>Elements</h2>
+<a name="idp20378096"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
index 411efc02..41e8420e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp20547440"></a><h2>Plugin Information</h2>
+<a name="idp18076528"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15709056"></a><h2>Elements</h2>
+<a name="idp15048080"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
index 9d14baa5..a4a811a5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp21665200"></a><h2>Plugin Information</h2>
+<a name="idp15327824"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18584032"></a><h2>Elements</h2>
+<a name="idp18745712"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
index e5170541..76e687cb 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15693536"></a><h2>Plugin Information</h2>
+<a name="idp18214080"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15729792"></a><h2>Elements</h2>
+<a name="idp18556192"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
index b9480437..47e0eb7c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp18210320"></a><h2>Plugin Information</h2>
+<a name="idp19351968"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17157936"></a><h2>Elements</h2>
+<a name="idp15423264"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
index 44515353..9e25a37b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp18195280"></a><h2>Plugin Information</h2>
+<a name="idp16358512"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp16298208"></a><h2>Elements</h2>
+<a name="idp14993568"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
index f445cb5a..8264efdf 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp20025504"></a><h2>Plugin Information</h2>
+<a name="idp13704528"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18064464"></a><h2>Elements</h2>
+<a name="idp17764848"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
index 125d5ce6..7443593b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19276496"></a><h2>Plugin Information</h2>
+<a name="idp16813824"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15408000"></a><h2>Elements</h2>
+<a name="idp14029904"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html
index 82c6b8ce..94ea150b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-liveadder.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15369200"></a><h2>Plugin Information</h2>
+<a name="idp17524800"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp19079808"></a><h2>Elements</h2>
+<a name="idp17280080"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
index 2124ee89..7be60c17 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp14980736"></a><h2>Plugin Information</h2>
+<a name="idp17097024"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18758768"></a><h2>Elements</h2>
+<a name="idp14660064"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
index e45dc312..2ae2afb7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15066528"></a><h2>Plugin Information</h2>
+<a name="idp16989360"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp19023104"></a><h2>Elements</h2>
+<a name="idp15635840"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
index 0120927f..cd1334fd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp17077888"></a><h2>Plugin Information</h2>
+<a name="idp14079648"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp16954448"></a><h2>Elements</h2>
+<a name="idp14658432"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
index 4117a221..77e14df8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15744592"></a><h2>Plugin Information</h2>
+<a name="idp18311760"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp19204320"></a><h2>Elements</h2>
+<a name="idp19583984"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
index 3a0475cb..11f0855b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp17885456"></a><h2>Plugin Information</h2>
+<a name="idp14332464"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18661728"></a><h2>Elements</h2>
+<a name="idp16509904"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
index 9aa935eb..38db513f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15073344"></a><h2>Plugin Information</h2>
+<a name="idp16675504"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17249472"></a><h2>Elements</h2>
+<a name="idp18012464"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
index 810d90e8..ef2b61ec 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp22001312"></a><h2>Plugin Information</h2>
+<a name="idp176688"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15048624"></a><h2>Elements</h2>
+<a name="idp17794752"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
index 29bd1f51..99a1d347 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19245792"></a><h2>Plugin Information</h2>
+<a name="idp20904800"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15689712"></a><h2>Elements</h2>
+<a name="idp16582048"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
index 52fff5f7..dda8e330 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19340176"></a><h2>Plugin Information</h2>
+<a name="idp16909824"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp21971152"></a><h2>Elements</h2>
+<a name="idp17279328"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
index fa2183a3..8cd28906 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp18439744"></a><h2>Plugin Information</h2>
+<a name="idp16332624"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp19531008"></a><h2>Elements</h2>
+<a name="idp15283712"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtpmux.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtpmux.html
index 941d89b5..85dafdbc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtpmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtpmux.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp20064496"></a><h2>Plugin Information</h2>
+<a name="idp18563792"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17778688"></a><h2>Elements</h2>
+<a name="idp16919888"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-scaletempo.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-scaletempo.html
index 9e6ca0f2..70f11a25 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-scaletempo.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-scaletempo.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp18578160"></a><h2>Plugin Information</h2>
+<a name="idp18475056"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17913776"></a><h2>Elements</h2>
+<a name="idp15082224"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
index e9dcb280..3300a990 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp21849296"></a><h2>Plugin Information</h2>
+<a name="idp14575344"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18806256"></a><h2>Elements</h2>
+<a name="idp19465456"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
index e558b564..72a6be04 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp21890992"></a><h2>Plugin Information</h2>
+<a name="idp15849552"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15910864"></a><h2>Elements</h2>
+<a name="idp18879920"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
index 75a1e13a..66c4cd99 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15484928"></a><h2>Plugin Information</h2>
+<a name="idp15936720"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp15551232"></a><h2>Elements</h2>
+<a name="idp18841200"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
index 40d04d6e..2df67871 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp18370656"></a><h2>Plugin Information</h2>
+<a name="idp15663168"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp17710512"></a><h2>Elements</h2>
+<a name="idp15604496"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
index 19996dac..f6c3ad84 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp20932096"></a><h2>Plugin Information</h2>
+<a name="idp14511728"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp19425152"></a><h2>Elements</h2>
+<a name="idp16916208"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
index 71a74494..a1f29daa 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp15559920"></a><h2>Plugin Information</h2>
+<a name="idp14506608"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp19040992"></a><h2>Elements</h2>
+<a name="idp20264096"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
index c21d4178..7f6cd14a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
@@ -29,7 +29,7 @@
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
-<a name="idp19989152"></a><h2>Plugin Information</h2>
+<a name="idp19340560"></a><h2>Plugin Information</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -39,7 +39,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.0.5</td>
+<td>1.0.6</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -57,7 +57,7 @@
</table></div>
</div>
<div class="refsect1">
-<a name="idp18772544"></a><h2>Elements</h2>
+<a name="idp17597536"></a><h2>Elements</h2>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html b/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
index 551867e2..22c7dd22 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
@@ -45,7 +45,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp13558960"></a><h3>Element Information</h3>
+<a name="idp12969680"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -68,7 +68,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp9064864"></a><h3>Element Pads</h3>
+<a name="idp5796528"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
index 52b1a839..1bcb3c45 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
@@ -74,7 +74,7 @@ GstRTMPSink implements
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp14296960"></a><h3>Element Information</h3>
+<a name="idp12423840"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -97,7 +97,7 @@ GstRTMPSink implements
</div>
<hr>
<div class="refsect2">
-<a name="idp14380144"></a><h3>Element Pads</h3>
+<a name="idp11159952"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
index 490925ed..ced9abd4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
@@ -75,7 +75,7 @@ GstRTMPSrc implements
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp14363264"></a><h3>Element Information</h3>
+<a name="idp12955072"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -98,7 +98,7 @@ GstRTMPSrc implements
</div>
<hr>
<div class="refsect2">
-<a name="idp13588208"></a><h3>Element Pads</h3>
+<a name="idp13092080"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfmux.html b/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfmux.html
index 22af4791..70e0dfa9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfmux.html
@@ -78,7 +78,7 @@ DTMF signal can replace the recorded audio while the tone is being sent.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp18565744"></a><h3>Element Information</h3>
+<a name="idp17630160"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -101,7 +101,7 @@ DTMF signal can replace the recorded audio while the tone is being sent.
</div>
<hr>
<div class="refsect2">
-<a name="idp19091472"></a><h3>Element Pads</h3>
+<a name="idp14439312"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfsrc.html
index fb1a7f3d..16f28bcf 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtpdtmfsrc.html
@@ -169,7 +169,7 @@ READY state, then a "dtmf-event-dropped" message is posted on the
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16985168"></a><h3>Element Information</h3>
+<a name="idp15718272"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -192,7 +192,7 @@ READY state, then a "dtmf-event-dropped" message is posted on the
</div>
<hr>
<div class="refsect2">
-<a name="idp16992624"></a><h3>Element Pads</h3>
+<a name="idp15725728"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtpmux.html b/docs/plugins/html/gst-plugins-bad-plugins-rtpmux.html
index 6a257114..be124dcf 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtpmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtpmux.html
@@ -73,7 +73,7 @@ muxes into a single stream with a single SSRC.
<p>
</p>
<div class="refsect2">
-<a name="idp17515776"></a><h3>Example pipelines</h3>
+<a name="idp14350432"></a><h3>Example pipelines</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -107,7 +107,7 @@ Last reviewed on 2010-09-30 (0.10.21)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp15840224"></a><h3>Element Information</h3>
+<a name="idp14341984"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -130,7 +130,7 @@ Last reviewed on 2010-09-30 (0.10.21)
</div>
<hr>
<div class="refsect2">
-<a name="idp18178496"></a><h3>Element Pads</h3>
+<a name="idp15612784"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-scaletempo.html b/docs/plugins/html/gst-plugins-bad-plugins-scaletempo.html
index d7248c35..62d25ad5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-scaletempo.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-scaletempo.html
@@ -77,7 +77,7 @@ Use Sceletempo to apply playback rates without the chipmunk effect.
<p>
</p>
<div class="refsect2">
-<a name="idp18122304"></a><h3>Example pipelines</h3>
+<a name="idp13904560"></a><h3>Example pipelines</h3>
<p>
</p>
<div class="informalexample">
@@ -135,7 +135,7 @@ the algoritm looks.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp15890288"></a><h3>Element Information</h3>
+<a name="idp16747536"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -158,7 +158,7 @@ the algoritm looks.
</div>
<hr>
<div class="refsect2">
-<a name="idp19655200"></a><h3>Element Pads</h3>
+<a name="idp17780912"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
index 5c7a9e8c..2f033186 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
@@ -93,7 +93,7 @@ PLAYING state.
<p>
</p>
<div class="refsect2">
-<a name="idp14000096"></a><h3>Example launch line</h3>
+<a name="idp17171056"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -115,7 +115,7 @@ Last reviewed on 2007-10-01 (0.10.6)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp14003344"></a><h3>Element Information</h3>
+<a name="idp17174304"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -138,7 +138,7 @@ Last reviewed on 2007-10-01 (0.10.6)
</div>
<hr>
<div class="refsect2">
-<a name="idp14010816"></a><h3>Element Pads</h3>
+<a name="idp17181776"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
index 1583e9f6..6bb30f5d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
@@ -79,7 +79,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp15440512"></a><h3>Element Information</h3>
+<a name="idp16654128"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -102,7 +102,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp19808480"></a><h3>Element Pads</h3>
+<a name="idp17954880"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
index 8f7d6f01..d4d4f228 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
@@ -68,7 +68,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16065312"></a><h3>Element Information</h3>
+<a name="idp14006400"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -91,7 +91,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp16078368"></a><h3>Element Pads</h3>
+<a name="idp14042144"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
index 79ddbe19..c163bdc2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
@@ -73,7 +73,7 @@ Solarize does a smart inverse in a video stream in realtime.
<p>
</p>
<div class="refsect2">
-<a name="idp18467744"></a><h3>Example launch line</h3>
+<a name="idp14304848"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -91,7 +91,7 @@ Solarize does a smart inverse in a video stream in realtime.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16918592"></a><h3>Element Information</h3>
+<a name="idp16477152"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -114,7 +114,7 @@ Solarize does a smart inverse in a video stream in realtime.
</div>
<hr>
<div class="refsect2">
-<a name="idp16926000"></a><h3>Element Pads</h3>
+<a name="idp16191440"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
index d00a28a3..6c3250ac 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
@@ -70,7 +70,7 @@ right channel to x and y coordinates.
<p>
</p>
<div class="refsect2">
-<a name="idp19256880"></a><h3>Example launch line</h3>
+<a name="idp14053744"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -88,7 +88,7 @@ right channel to x and y coordinates.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp19287984"></a><h3>Element Information</h3>
+<a name="idp15980736"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -111,7 +111,7 @@ right channel to x and y coordinates.
</div>
<hr>
<div class="refsect2">
-<a name="idp17724320"></a><h3>Element Pads</h3>
+<a name="idp13966480"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
index 1ba17664..6d9ae943 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
@@ -62,7 +62,7 @@ frequency spectrum as a series of bars.
<p>
</p>
<div class="refsect2">
-<a name="idp14021600"></a><h3>Example launch line</h3>
+<a name="idp15668096"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -80,7 +80,7 @@ frequency spectrum as a series of bars.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp18469952"></a><h3>Element Information</h3>
+<a name="idp13933728"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -103,7 +103,7 @@ frequency spectrum as a series of bars.
</div>
<hr>
<div class="refsect2">
-<a name="idp15452016"></a><h3>Element Pads</h3>
+<a name="idp15208816"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-speed.html b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
index de658011..bb67f5b0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
@@ -74,7 +74,7 @@ requires a fairly up-to-date gst-plugins-base, as of February 2007).
<p>
</p>
<div class="refsect2">
-<a name="idp17100768"></a><h3>Example launch line</h3>
+<a name="idp14281296"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -95,7 +95,7 @@ Last reviewed on 2007-02-26 (0.10.4.1)
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16232912"></a><h3>Element Information</h3>
+<a name="idp15145648"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -118,7 +118,7 @@ Last reviewed on 2007-02-26 (0.10.4.1)
</div>
<hr>
<div class="refsect2">
-<a name="idp15752928"></a><h3>Element Pads</h3>
+<a name="idp18374624"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
index 306dc8ae..8684c635 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
@@ -69,7 +69,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp14951824"></a><h3>Element Information</h3>
+<a name="idp16929344"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -92,7 +92,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp19388496"></a><h3>Element Pads</h3>
+<a name="idp17455936"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-square.html b/docs/plugins/html/gst-plugins-bad-plugins-square.html
index cb55d8cb..5ba341c9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-square.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-square.html
@@ -70,7 +70,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16220080"></a><h3>Element Information</h3>
+<a name="idp17662320"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -93,7 +93,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp20433744"></a><h3>Element Pads</h3>
+<a name="idp15338880"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
index 2214fcd2..b9f3418e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
@@ -69,7 +69,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16272000"></a><h3>Element Information</h3>
+<a name="idp18256912"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -92,7 +92,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp19804384"></a><h3>Element Pads</h3>
+<a name="idp17645504"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
index 70ab975d..5c56767f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
@@ -62,7 +62,7 @@ out-of phase properties of audio and draws this as clouds of stars.
<p>
</p>
<div class="refsect2">
-<a name="idp19504880"></a><h3>Example launch line</h3>
+<a name="idp13941168"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -80,7 +80,7 @@ out-of phase properties of audio and draws this as clouds of stars.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16345648"></a><h3>Element Information</h3>
+<a name="idp16901984"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -103,7 +103,7 @@ out-of phase properties of audio and draws this as clouds of stars.
</div>
<hr>
<div class="refsect2">
-<a name="idp16835520"></a><h3>Element Pads</h3>
+<a name="idp14704624"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
index 4ccfac1d..6f83c1b5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
@@ -56,7 +56,7 @@ struct <a class="link" href="gst-plugins-bad-plugins-templatematch.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp15108688"></a><h3>Element Information</h3>
+<a name="idp16043520"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -79,7 +79,7 @@ struct <a class="link" href="gst-plugins-bad-plugins-templatematch.
</div>
<hr>
<div class="refsect2">
-<a name="idp15787600"></a><h3>Element Pads</h3>
+<a name="idp14454800"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
index 5f5d2972..c7889298 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
@@ -61,7 +61,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp19196656"></a><h3>Element Information</h3>
+<a name="idp18532480"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -84,7 +84,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp19038368"></a><h3>Element Pads</h3>
+<a name="idp15859616"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
index 3c1c02f0..6febc800 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
@@ -69,7 +69,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp17122208"></a><h3>Element Information</h3>
+<a name="idp14035088"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -92,7 +92,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp15648208"></a><h3>Element Pads</h3>
+<a name="idp17325648"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
index 3a721456..c6e3284a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
@@ -82,7 +82,7 @@ Converts a byte stream into video frames.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp21203632"></a><h3>Element Information</h3>
+<a name="idp20038944"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -105,7 +105,7 @@ Converts a byte stream into video frames.
</div>
<hr>
<div class="refsect2">
-<a name="idp21211040"></a><h3>Element Pads</h3>
+<a name="idp20046352"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
index 9ce1eaad..d6150285 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
@@ -74,7 +74,7 @@ GstVoAacEnc implements
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp16385504"></a><h3>Element Information</h3>
+<a name="idp18886832"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -97,7 +97,7 @@ GstVoAacEnc implements
</div>
<hr>
<div class="refsect2">
-<a name="idp17356336"></a><h3>Element Pads</h3>
+<a name="idp16121408"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
index 3695c5ba..ac4ef6b2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
@@ -44,7 +44,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp18860144"></a><h3>Element Information</h3>
+<a name="idp18179776"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -67,7 +67,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp18610384"></a><h3>Element Pads</h3>
+<a name="idp15494032"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
index 3784f8e2..3c5944c7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
@@ -71,7 +71,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp20084448"></a><h3>Element Information</h3>
+<a name="idp17194016"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -94,7 +94,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp20282752"></a><h3>Element Pads</h3>
+<a name="idp19284896"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
index b2b9702c..b0a98731 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
@@ -70,7 +70,7 @@ like on an oscilloscope.
<p>
</p>
<div class="refsect2">
-<a name="idp15582208"></a><h3>Example launch line</h3>
+<a name="idp18568848"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -88,7 +88,7 @@ like on an oscilloscope.
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp18013760"></a><h3>Element Information</h3>
+<a name="idp16132448"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -111,7 +111,7 @@ like on an oscilloscope.
</div>
<hr>
<div class="refsect2">
-<a name="idp21371824"></a><h3>Element Pads</h3>
+<a name="idp19931904"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
index f53b5f8a..60f61031 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
@@ -68,7 +68,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="idp18054528"></a><h3>Element Information</h3>
+<a name="idp19263664"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
@@ -91,7 +91,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="idp20350224"></a><h3>Element Pads</h3>
+<a name="idp19009328"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins.devhelp2 b/docs/plugins/html/gst-plugins-bad-plugins.devhelp2
index 94390287..5a693b1c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins.devhelp2
+++ b/docs/plugins/html/gst-plugins-bad-plugins.devhelp2
@@ -133,33 +133,33 @@
</sub>
</chapters>
<functions>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-assrender.html#idp5355424"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-assrender.html#idp8337824"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-assrender.html#idm7872"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-assrender.html#idp7125568"/>
<keyword type="struct" name="struct GstAssRender" link="gst-plugins-bad-plugins-assrender.html#GstAssRender-struct"/>
<keyword type="property" name="The &quot;embeddedfonts&quot; property" link="gst-plugins-bad-plugins-assrender.html#GstAssRender--embeddedfonts"/>
<keyword type="property" name="The &quot;enable&quot; property" link="gst-plugins-bad-plugins-assrender.html#GstAssRender--enable"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-autoconvert.html#idp5405984"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-autoconvert.html#idp5539744"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-autoconvert.html#idp7127184"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-autoconvert.html#idp6648880"/>
<keyword type="struct" name="struct GstAutoConvert" link="gst-plugins-bad-plugins-autoconvert.html#GstAutoConvert-struct"/>
<keyword type="property" name="The &quot;factories&quot; property" link="gst-plugins-bad-plugins-autoconvert.html#GstAutoConvert--factories"/>
<keyword type="property" name="The &quot;initial-identity&quot; property" link="gst-plugins-bad-plugins-autoconvert.html#GstAutoConvert--initial-identity"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-bulge.html#idp8517200"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-bulge.html#idp7994096"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-bulge.html#idp7798016"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-bulge.html#idp6658688"/>
<keyword type="struct" name="struct GstBulge" link="gst-plugins-bad-plugins-bulge.html#GstBulge-struct"/>
<keyword type="property" name="The &quot;zoom&quot; property" link="gst-plugins-bad-plugins-bulge.html#GstBulge--zoom"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-burn.html#idp5957136"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-burn.html#idp6530176"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-burn.html#idp7437472"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-burn.html#idp5732560"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-burn.html#idp7278976"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-burn.html#idp9558160"/>
<keyword type="struct" name="struct GstBurn" link="gst-plugins-bad-plugins-burn.html#GstBurn-struct"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-bad-plugins-burn.html#GstBurn--silent"/>
<keyword type="property" name="The &quot;adjustment&quot; property" link="gst-plugins-bad-plugins-burn.html#GstBurn--adjustment"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-camerabin.html#idp7467216"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-camerabin.html#idp5422208"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-celtdec.html#idp5309200"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-celtdec.html#idp6506064"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-camerabin.html#idp6215792"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-camerabin.html#idp5997264"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-celtdec.html#idp7526016"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-celtdec.html#idp7895168"/>
<keyword type="struct" name="struct GstCeltDec" link="gst-plugins-bad-plugins-celtdec.html#GstCeltDec-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-celtenc.html#idp6186944"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-celtenc.html#idp6194352"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-celtenc.html#idp7641344"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-celtenc.html#idp9029808"/>
<keyword type="struct" name="struct GstCeltEnc" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc-struct"/>
<keyword type="property" name="The &quot;bitrate&quot; property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--bitrate"/>
<keyword type="property" name="The &quot;framesize&quot; property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--framesize"/>
@@ -168,84 +168,84 @@
<keyword type="property" name="The &quot;max-bitrate&quot; property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--max-bitrate"/>
<keyword type="property" name="The &quot;prediction&quot; property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--prediction"/>
<keyword type="property" name="The &quot;start-band&quot; property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--start-band"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-chromium.html#idp7757744"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-chromium.html#idp7170464"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-chromium.html#idp10446592"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-chromium.html#idp8637744"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-chromium.html#idp9815168"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-chromium.html#idp9161904"/>
<keyword type="typedef" name="GstChromium" link="gst-plugins-bad-plugins-chromium.html#GstChromium"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--silent"/>
<keyword type="property" name="The &quot;edge-a&quot; property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--edge-a"/>
<keyword type="property" name="The &quot;edge-b&quot; property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--edge-b"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-circle.html#idp8097840"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-circle.html#idp5787344"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-circle.html#idp5990448"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-circle.html#idp6538928"/>
<keyword type="struct" name="struct GstCircle" link="gst-plugins-bad-plugins-circle.html#GstCircle-struct"/>
<keyword type="property" name="The &quot;angle&quot; property" link="gst-plugins-bad-plugins-circle.html#GstCircle--angle"/>
<keyword type="property" name="The &quot;height&quot; property" link="gst-plugins-bad-plugins-circle.html#GstCircle--height"/>
<keyword type="property" name="The &quot;spread-angle&quot; property" link="gst-plugins-bad-plugins-circle.html#GstCircle--spread-angle"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-coloreffects.html#idp9341344"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-coloreffects.html#idp8860240"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-coloreffects.html#idp7759168"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-coloreffects.html#idp6499680"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-coloreffects.html#idp9211088"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-coloreffects.html#idp9164864"/>
<keyword type="struct" name="struct GstColorEffects" link="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects-struct"/>
<keyword type="property" name="The &quot;preset&quot; property" link="gst-plugins-bad-plugins-coloreffects.html#GstColorEffects--preset"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvdilate.html#idp11257728"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvdilate.html#idp10263696"/>
- <keyword type="struct" name="struct GstCvDilate" link="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cverode.html#idp11367024"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cverode.html#idp10826496"/>
- <keyword type="struct" name="struct GstCvErode" link="gst-plugins-bad-plugins-cverode.html#GstCvErode-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvequalizehist.html#idp8297376"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvequalizehist.html#idp10746512"/>
- <keyword type="struct" name="struct GstCvEqualizeHist" link="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvlaplace.html#idp6302256"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvlaplace.html#idp11388720"/>
- <keyword type="struct" name="struct GstCvLaplace" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvdilate.html#idp5756480"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvdilate.html#idp6309888"/>
+ <keyword type="struct" name="struct GstCvDilate" link="gst-plugins-bad-plugins-cvdilate.html#GstCvDilate"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cverode.html#idp10165936"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cverode.html#idp6578320"/>
+ <keyword type="struct" name="struct GstCvErode" link="gst-plugins-bad-plugins-cverode.html#GstCvErode"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvequalizehist.html#idp9531104"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvequalizehist.html#idp5814704"/>
+ <keyword type="struct" name="struct GstCvEqualizeHist" link="gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvlaplace.html#idp8389120"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvlaplace.html#idp7237696"/>
+ <keyword type="struct" name="struct GstCvLaplace" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace"/>
<keyword type="property" name="The &quot;aperture-size&quot; property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--aperture-size"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvsmooth.html#idp5490656"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvsmooth.html#idp5404720"/>
- <keyword type="struct" name="struct GstCvSmooth" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvsmooth.html#idp7938416"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvsmooth.html#idp3306256"/>
+ <keyword type="struct" name="struct GstCvSmooth" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth"/>
<keyword type="property" name="The &quot;param1&quot; property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param1"/>
<keyword type="property" name="The &quot;param2&quot; property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param2"/>
<keyword type="property" name="The &quot;param3&quot; property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param3"/>
<keyword type="property" name="The &quot;param4&quot; property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param4"/>
<keyword type="property" name="The &quot;type&quot; property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--type"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvsobel.html#idp8499456"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvsobel.html#idp6611872"/>
- <keyword type="struct" name="struct GstCvSobel" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-cvsobel.html#idp7330112"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-cvsobel.html#idp7568464"/>
+ <keyword type="struct" name="struct GstCvSobel" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel"/>
<keyword type="property" name="The &quot;aperture-size&quot; property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--aperture-size"/>
<keyword type="property" name="The &quot;x-order&quot; property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--x-order"/>
<keyword type="property" name="The &quot;y-order&quot; property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--y-order"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dataurisrc.html#idp9140944"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dataurisrc.html#idp11118528"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dataurisrc.html#idp10729152"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dataurisrc.html#idp9768640"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dataurisrc.html#idp9771632"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dataurisrc.html#idp9128640"/>
<keyword type="struct" name="struct GstDataURISrc" link="gst-plugins-bad-plugins-dataurisrc.html#GstDataURISrc-struct"/>
<keyword type="property" name="The &quot;uri&quot; property" link="gst-plugins-bad-plugins-dataurisrc.html#GstDataURISrc--uri"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-diffuse.html#idp10781312"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-diffuse.html#idp11132544"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-diffuse.html#idp8350464"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-diffuse.html#idp6245808"/>
<keyword type="struct" name="struct GstDiffuse" link="gst-plugins-bad-plugins-diffuse.html#GstDiffuse-struct"/>
<keyword type="property" name="The &quot;scale&quot; property" link="gst-plugins-bad-plugins-diffuse.html#GstDiffuse--scale"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dilate.html#idp8342848"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dilate.html#idp6836816"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dilate.html#idp8513072"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dilate.html#idp9817440"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dilate.html#idp7210976"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dilate.html#idp9390080"/>
<keyword type="struct" name="struct GstDilate" link="gst-plugins-bad-plugins-dilate.html#GstDilate-struct"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-bad-plugins-dilate.html#GstDilate--silent"/>
<keyword type="property" name="The &quot;erode&quot; property" link="gst-plugins-bad-plugins-dilate.html#GstDilate--erode"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dodge.html#idp6128240"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dodge.html#idp5306544"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dodge.html#idp11931984"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dodge.html#idp3176720"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dodge.html#idp8513760"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dodge.html#idp10328720"/>
<keyword type="struct" name="struct GstDodge" link="gst-plugins-bad-plugins-dodge.html#GstDodge-struct"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-bad-plugins-dodge.html#GstDodge--silent"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtmfdetect.html#idp6654672"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtmfdetect.html#idp11203248"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtmfdetect.html#idp7107936"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtmfdetect.html#idp8983824"/>
<keyword type="struct" name="struct GstDtmfDetect" link="gst-plugins-bad-plugins-dtmfdetect.html#GstDtmfDetect-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtmfsrc.html#idp11576592"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtmfsrc.html#idp11584000"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtmfsrc.html#idp10598080"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtmfsrc.html#idp10605488"/>
<keyword type="struct" name="struct GstDTMFSrc" link="gst-plugins-bad-plugins-dtmfsrc.html#GstDTMFSrc-struct"/>
<keyword type="property" name="The &quot;interval&quot; property" link="gst-plugins-bad-plugins-dtmfsrc.html#GstDTMFSrc--interval"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtsdec.html#idp8471920"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtsdec.html#idp5366688"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dtsdec.html#idp5791552"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dtsdec.html#idp5661440"/>
<keyword type="struct" name="struct GstDtsDec" link="gst-plugins-bad-plugins-dtsdec.html#GstDtsDec-struct"/>
<keyword type="property" name="The &quot;drc&quot; property" link="gst-plugins-bad-plugins-dtsdec.html#GstDtsDec--drc"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dvbsrc.html#idp12319632"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dvbsrc.html#idp12327152"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dvbsrc.html#idp9967248"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dvbsrc.html#idp9974768"/>
<keyword type="struct" name="struct GstDvbSrc" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc-struct"/>
<keyword type="property" name="The &quot;bandwidth&quot; property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--bandwidth"/>
<keyword type="property" name="The &quot;code-rate-hp&quot; property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--code-rate-hp"/>
@@ -271,23 +271,23 @@
<keyword type="property" name="The &quot;stats-reporting-interval&quot; property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--stats-reporting-interval"/>
<keyword type="property" name="The &quot;timeout&quot; property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--timeout"/>
<keyword type="property" name="The &quot;dvb-buffer-size&quot; property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--dvb-buffer-size"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dvdspu.html#idp7246928"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dvdspu.html#idp5680288"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dvdspu.html#idp9232144"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-dvdspu.html#idp10154320"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-dvdspu.html#idp10152144"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-dvdspu.html#idp6397232"/>
<keyword type="struct" name="GstDVDSpu" link="gst-plugins-bad-plugins-dvdspu.html#GstDVDSpu-struct"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-exclusion.html#idp6237824"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-exclusion.html#idp11078656"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-exclusion.html#idp11731808"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-exclusion.html#idp9246080"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-exclusion.html#idp6724976"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-exclusion.html#idp10849440"/>
<keyword type="struct" name="struct GstExclusion" link="gst-plugins-bad-plugins-exclusion.html#GstExclusion-struct"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-bad-plugins-exclusion.html#GstExclusion--silent"/>
<keyword type="property" name="The &quot;factor&quot; property" link="gst-plugins-bad-plugins-exclusion.html#GstExclusion--factor"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-edgedetect.html#idp7524416"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-edgedetect.html#idp11075808"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-eglglessink.html#idp9356224"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-eglglessink.html#idp6521872"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-edgedetect.html#idp6102544"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-edgedetect.html#idp8343392"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-eglglessink.html#idp10506384"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-eglglessink.html#idp7391440"/>
<keyword type="struct" name="struct GstEglGlesSink" link="gst-plugins-bad-plugins-eglglessink.html#GstEglGlesSink"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faac.html#idp12723008"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faac.html#idp12085904"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faac.html#idp11148432"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faac.html#idp11485392"/>
<keyword type="struct" name="struct GstFaac" link="gst-plugins-bad-plugins-faac.html#GstFaac-struct"/>
<keyword type="property" name="The &quot;bitrate&quot; property" link="gst-plugins-bad-plugins-faac.html#GstFaac--bitrate"/>
<keyword type="property" name="The &quot;midside&quot; property" link="gst-plugins-bad-plugins-faac.html#GstFaac--midside"/>
@@ -297,23 +297,23 @@
<keyword type="property" name="The &quot;tns&quot; property" link="gst-plugins-bad-plugins-faac.html#GstFaac--tns"/>
<keyword type="property" name="The &quot;quality&quot; property" link="gst-plugins-bad-plugins-faac.html#GstFaac--quality"/>
<keyword type="property" name="The &quot;rate-control&quot; property" link="gst-plugins-bad-plugins-faac.html#GstFaac--rate-control"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faad.html#idp8251776"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faad.html#idp5983600"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faad.html#idp10886112"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faad.html#idp7740336"/>
<keyword type="struct" name="GstFaad" link="gst-plugins-bad-plugins-faad.html#GstFaad-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faceblur.html#idp11706592"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faceblur.html#idp8299264"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-facedetect.html#idp12125488"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-facedetect.html#idp10316800"/>
- <keyword type="" name="Example pipeline" link="gst-plugins-bad-plugins-festival.html#idp7926240"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-festival.html#idp7143712"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-festival.html#idp11687248"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-faceblur.html#idp11577232"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-faceblur.html#idp5316624"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-facedetect.html#idp10867488"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-facedetect.html#idp9370336"/>
+ <keyword type="" name="Example pipeline" link="gst-plugins-bad-plugins-festival.html#idp8165600"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-festival.html#idp5839920"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-festival.html#idp11044624"/>
<keyword type="struct" name="struct GstFestival" link="gst-plugins-bad-plugins-festival.html#GstFestival-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-fisheye.html#idp7206080"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-fisheye.html#idp10346160"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-fisheye.html#idp6629408"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-fisheye.html#idp9265648"/>
<keyword type="struct" name="struct GstFisheye" link="gst-plugins-bad-plugins-fisheye.html#GstFisheye-struct"/>
- <keyword type="" name="Example launch lines" link="gst-plugins-bad-plugins-fpsdisplaysink.html#idp13048032"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-fpsdisplaysink.html#idp13051008"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-fpsdisplaysink.html#idp13058416"/>
+ <keyword type="" name="Example launch lines" link="gst-plugins-bad-plugins-fpsdisplaysink.html#idp11935872"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-fpsdisplaysink.html#idp11938848"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-fpsdisplaysink.html#idp11946256"/>
<keyword type="struct" name="struct GstFPSDisplaySink" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink-struct"/>
<keyword type="property" name="The &quot;sync&quot; property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--sync"/>
<keyword type="property" name="The &quot;text-overlay&quot; property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--text-overlay"/>
@@ -327,12 +327,12 @@
<keyword type="property" name="The &quot;last-message&quot; property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--last-message"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--silent"/>
<keyword type="signal" name="The &quot;fps-measurements&quot; signal" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink-fps-measurements"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-gaussianblur.html#idp12606864"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-gaussianblur.html#idp12604528"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-gaussianblur.html#idp11183024"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-jpegparse.html#idp9090496"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-jpegparse.html#idp10981440"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-jpegparse.html#idp6394432"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-gaussianblur.html#idp11350368"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-gaussianblur.html#idp11928272"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-gaussianblur.html#idp8478560"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-jpegparse.html#idp7971936"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-jpegparse.html#idp7207056"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-jpegparse.html#idp11845568"/>
<keyword type="struct" name="struct GstJpegParse" link="gst-plugins-bad-plugins-jpegparse.html#GstJpegParse-struct"/>
<keyword type="struct" name="struct GstJpegParseClass" link="gst-plugins-bad-plugins-jpegparse.html#GstJpegParseClass"/>
<keyword type="macro" name="GST_JPEG_PARSE()" link="gst-plugins-bad-plugins-jpegparse.html#GST-JPEG-PARSE:CAPS"/>
@@ -341,36 +341,36 @@
<keyword type="macro" name="GST_IS_JPEG_PARSE_CLASS()" link="gst-plugins-bad-plugins-jpegparse.html#GST-IS-JPEG-PARSE-CLASS:CAPS"/>
<keyword type="macro" name="GST_TYPE_JPEG_PARSE" link="gst-plugins-bad-plugins-jpegparse.html#GST-TYPE-JPEG-PARSE:CAPS"/>
<keyword type="function" name="gst_jpeg_parse_get_type ()" link="gst-plugins-bad-plugins-jpegparse.html#gst-jpeg-parse-get-type"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-kaleidoscope.html#idp7508224"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-kaleidoscope.html#idp12840528"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-kaleidoscope.html#idp11470144"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-kaleidoscope.html#idp6083392"/>
<keyword type="struct" name="struct GstKaleidoscope" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope-struct"/>
<keyword type="property" name="The &quot;angle&quot; property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--angle"/>
<keyword type="property" name="The &quot;angle2&quot; property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--angle2"/>
<keyword type="property" name="The &quot;sides&quot; property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--sides"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-liveadder.html#idp8608464"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-liveadder.html#idp13329152"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-liveadder.html#idp7971360"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-liveadder.html#idp11807392"/>
<keyword type="struct" name="struct GstLiveAdder" link="gst-plugins-bad-plugins-liveadder.html#GstLiveAdder-struct"/>
<keyword type="property" name="The &quot;latency&quot; property" link="gst-plugins-bad-plugins-liveadder.html#GstLiveAdder--latency"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-marble.html#idp8998736"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-marble.html#idp12621328"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-marble.html#idp3117328"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-marble.html#idp12221712"/>
<keyword type="struct" name="struct GstMarble" link="gst-plugins-bad-plugins-marble.html#GstMarble-struct"/>
<keyword type="property" name="The &quot;amount&quot; property" link="gst-plugins-bad-plugins-marble.html#GstMarble--amount"/>
<keyword type="property" name="The &quot;turbulence&quot; property" link="gst-plugins-bad-plugins-marble.html#GstMarble--turbulence"/>
<keyword type="property" name="The &quot;x-scale&quot; property" link="gst-plugins-bad-plugins-marble.html#GstMarble--x-scale"/>
<keyword type="property" name="The &quot;y-scale&quot; property" link="gst-plugins-bad-plugins-marble.html#GstMarble--y-scale"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mimenc.html#idp10524176"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mimenc.html#idp8475232"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mimenc.html#idp6352240"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mimenc.html#idp6491488"/>
<keyword type="struct" name="struct GstMimEnc" link="gst-plugins-bad-plugins-mimenc.html#GstMimEnc-struct"/>
<keyword type="property" name="The &quot;paused-mode&quot; property" link="gst-plugins-bad-plugins-mimenc.html#GstMimEnc--paused-mode"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mimdec.html#idp10320912"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mimdec.html#idp8744576"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mimdec.html#idp12574256"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mimdec.html#idp6752864"/>
<keyword type="struct" name="struct GstMimDec" link="gst-plugins-bad-plugins-mimdec.html#GstMimDec-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mirror.html#idp8369824"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mirror.html#idp13437264"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mirror.html#idp10561008"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mirror.html#idp10715760"/>
<keyword type="struct" name="struct GstMirror" link="gst-plugins-bad-plugins-mirror.html#GstMirror-struct"/>
<keyword type="property" name="The &quot;mode&quot; property" link="gst-plugins-bad-plugins-mirror.html#GstMirror--mode"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-modplug.html#idp12875760"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-modplug.html#idp13716512"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-modplug.html#idp10703152"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-modplug.html#idp12616128"/>
<keyword type="struct" name="GstModPlug" link="gst-plugins-bad-plugins-modplug.html#GstModPlug-struct"/>
<keyword type="property" name="The &quot;megabass&quot; property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--megabass"/>
<keyword type="property" name="The &quot;megabass-amount&quot; property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--megabass-amount"/>
@@ -384,8 +384,8 @@
<keyword type="property" name="The &quot;surround&quot; property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround"/>
<keyword type="property" name="The &quot;surround-delay&quot; property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround-delay"/>
<keyword type="property" name="The &quot;surround-depth&quot; property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround-depth"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mpeg2enc.html#idp14060624"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpeg2enc.html#idp14068032"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mpeg2enc.html#idp12163344"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpeg2enc.html#idp12170752"/>
<keyword type="struct" name="GstMpeg2enc" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc-struct"/>
<keyword type="property" name="The &quot;altscan-mpeg2&quot; property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--altscan-mpeg2"/>
<keyword type="property" name="The &quot;aspect&quot; property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--aspect"/>
@@ -421,8 +421,8 @@
<keyword type="property" name="The &quot;sequence-length&quot; property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--sequence-length"/>
<keyword type="property" name="The &quot;unit-coeff-elim&quot; property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--unit-coeff-elim"/>
<keyword type="property" name="The &quot;vcd-still-size&quot; property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--vcd-still-size"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mplex.html#idp6491792"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mplex.html#idp5616896"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mplex.html#idp5262544"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mplex.html#idp5670512"/>
<keyword type="struct" name="GstMplex" link="gst-plugins-bad-plugins-mplex.html#GstMplex-struct"/>
<keyword type="property" name="The &quot;bufsize&quot; property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--bufsize"/>
<keyword type="property" name="The &quot;format&quot; property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--format"/>
@@ -431,12 +431,12 @@
<keyword type="property" name="The &quot;sector-size&quot; property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--sector-size"/>
<keyword type="property" name="The &quot;system-headers&quot; property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--system-headers"/>
<keyword type="property" name="The &quot;vbr&quot; property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--vbr"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mpg123audiodec.html#idp9111696"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpg123audiodec.html#idp7174208"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-mpg123audiodec.html#idp9025888"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-mpg123audiodec.html#idp5641664"/>
<keyword type="struct" name="struct GstMpg123AudioDec" link="gst-plugins-bad-plugins-mpg123audiodec.html#GstMpg123AudioDec-struct"/>
- <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-pcapparse.html#idp13862208"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pcapparse.html#idp13865040"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pcapparse.html#idp13886704"/>
+ <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-pcapparse.html#idp12411424"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pcapparse.html#idp12414256"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pcapparse.html#idp12421664"/>
<keyword type="struct" name="struct GstPcapParse" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse-struct"/>
<keyword type="property" name="The &quot;dst-ip&quot; property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-ip"/>
<keyword type="property" name="The &quot;dst-port&quot; property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-port"/>
@@ -444,31 +444,31 @@
<keyword type="property" name="The &quot;src-port&quot; property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--src-port"/>
<keyword type="property" name="The &quot;caps&quot; property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--caps"/>
<keyword type="property" name="The &quot;ts-offset&quot; property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--ts-offset"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pinch.html#idp5457584"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pinch.html#idp11476256"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pinch.html#idp11757296"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pinch.html#idp12383696"/>
<keyword type="struct" name="struct GstPinch" link="gst-plugins-bad-plugins-pinch.html#GstPinch-struct"/>
<keyword type="property" name="The &quot;intensity&quot; property" link="gst-plugins-bad-plugins-pinch.html#GstPinch--intensity"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pyramidsegment.html#idp13558960"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pyramidsegment.html#idp9064864"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-pyramidsegment.html#idp12969680"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-pyramidsegment.html#idp5796528"/>
<keyword type="struct" name="struct GstPinch" link="gst-plugins-bad-plugins-pyramidsegment.html#GstPinch-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtmpsink.html#idp14296960"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtmpsink.html#idp14380144"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtmpsink.html#idp12423840"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtmpsink.html#idp11159952"/>
<keyword type="struct" name="struct GstRTMPSink" link="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink-struct"/>
<keyword type="property" name="The &quot;location&quot; property" link="gst-plugins-bad-plugins-rtmpsink.html#GstRTMPSink--location"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtmpsrc.html#idp14363264"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtmpsrc.html#idp13588208"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtmpsrc.html#idp12955072"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtmpsrc.html#idp13092080"/>
<keyword type="struct" name="struct GstRTMPSrc" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc-struct"/>
<keyword type="property" name="The &quot;location&quot; property" link="gst-plugins-bad-plugins-rtmpsrc.html#GstRTMPSrc--location"/>
- <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-rtpmux.html#idp10366448"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpmux.html#idp14537920"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpmux.html#idp14545376"/>
+ <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-rtpmux.html#idp3285728"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpmux.html#idp13102896"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpmux.html#idp13110352"/>
<keyword type="struct" name="struct GstRTPMux" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux-struct"/>
<keyword type="property" name="The &quot;seqnum&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum"/>
<keyword type="property" name="The &quot;seqnum-offset&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum-offset"/>
<keyword type="property" name="The &quot;ssrc&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--ssrc"/>
<keyword type="property" name="The &quot;timestamp-offset&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--timestamp-offset"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#idp16985168"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#idp16992624"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#idp15718272"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#idp15725728"/>
<keyword type="struct" name="struct GstRTPDTMFSrc" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc-struct"/>
<keyword type="property" name="The &quot;clock-rate&quot; property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--clock-rate"/>
<keyword type="property" name="The &quot;interval&quot; property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--interval"/>
@@ -479,29 +479,29 @@
<keyword type="property" name="The &quot;ssrc&quot; property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--ssrc"/>
<keyword type="property" name="The &quot;timestamp&quot; property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--timestamp"/>
<keyword type="property" name="The &quot;timestamp-offset&quot; property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--timestamp-offset"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpdtmfmux.html#idp18565744"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpdtmfmux.html#idp19091472"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpdtmfmux.html#idp17630160"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpdtmfmux.html#idp14439312"/>
<keyword type="struct" name="struct GstRTPDTMFMux" link="gst-plugins-bad-plugins-rtpdtmfmux.html#GstRTPDTMFMux-struct"/>
<keyword type="signal" name="The &quot;locking&quot; signal" link="gst-plugins-bad-plugins-rtpdtmfmux.html#GstRTPDTMFMux-locking"/>
<keyword type="signal" name="The &quot;unlocked&quot; signal" link="gst-plugins-bad-plugins-rtpdtmfmux.html#GstRTPDTMFMux-unlocked"/>
- <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-rtpmux.html#idp17515776"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpmux.html#idp15840224"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpmux.html#idp18178496"/>
+ <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-rtpmux.html#idp14350432"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-rtpmux.html#idp14341984"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-rtpmux.html#idp15612784"/>
<keyword type="struct" name="struct GstRTPMux" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux-struct"/>
<keyword type="property" name="The &quot;seqnum&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum"/>
<keyword type="property" name="The &quot;seqnum-offset&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum-offset"/>
<keyword type="property" name="The &quot;ssrc&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--ssrc"/>
<keyword type="property" name="The &quot;timestamp-offset&quot; property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--timestamp-offset"/>
- <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-scaletempo.html#idp18122304"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-scaletempo.html#idp15890288"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-scaletempo.html#idp19655200"/>
+ <keyword type="" name="Example pipelines" link="gst-plugins-bad-plugins-scaletempo.html#idp13904560"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-scaletempo.html#idp16747536"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-scaletempo.html#idp17780912"/>
<keyword type="struct" name="struct GstScaletempo" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo-struct"/>
<keyword type="property" name="The &quot;overlap&quot; property" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo--overlap"/>
<keyword type="property" name="The &quot;rate&quot; property" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo--rate"/>
<keyword type="property" name="The &quot;search&quot; property" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo--search"/>
<keyword type="property" name="The &quot;stride&quot; property" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo--stride"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-shmsink.html#idp15440512"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-shmsink.html#idp19808480"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-shmsink.html#idp16654128"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-shmsink.html#idp17954880"/>
<keyword type="struct" name="struct GstShmSink" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink-struct"/>
<keyword type="property" name="The &quot;perms&quot; property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--perms"/>
<keyword type="property" name="The &quot;shm-size&quot; property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--shm-size"/>
@@ -510,68 +510,68 @@
<keyword type="property" name="The &quot;buffer-time&quot; property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--buffer-time"/>
<keyword type="signal" name="The &quot;client-connected&quot; signal" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink-client-connected"/>
<keyword type="signal" name="The &quot;client-disconnected&quot; signal" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink-client-disconnected"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-shmsrc.html#idp16065312"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-shmsrc.html#idp16078368"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-shmsrc.html#idp14006400"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-shmsrc.html#idp14042144"/>
<keyword type="struct" name="struct GstShmSrc" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc-struct"/>
<keyword type="property" name="The &quot;is-live&quot; property" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--is-live"/>
<keyword type="property" name="The &quot;socket-path&quot; property" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--socket-path"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-sdpdemux.html#idp14000096"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-sdpdemux.html#idp14003344"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-sdpdemux.html#idp14010816"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-sdpdemux.html#idp17171056"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-sdpdemux.html#idp17174304"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-sdpdemux.html#idp17181776"/>
<keyword type="struct" name="struct GstSDPDemux" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux-struct"/>
<keyword type="property" name="The &quot;debug&quot; property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--debug"/>
<keyword type="property" name="The &quot;latency&quot; property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--latency"/>
<keyword type="property" name="The &quot;timeout&quot; property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--timeout"/>
<keyword type="property" name="The &quot;redirect&quot; property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--redirect"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-solarize.html#idp18467744"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-solarize.html#idp16918592"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-solarize.html#idp16926000"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-solarize.html#idp14304848"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-solarize.html#idp16477152"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-solarize.html#idp16191440"/>
<keyword type="struct" name="struct GstSolarize" link="gst-plugins-bad-plugins-solarize.html#GstSolarize-struct"/>
<keyword type="property" name="The &quot;silent&quot; property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--silent"/>
<keyword type="property" name="The &quot;end&quot; property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--end"/>
<keyword type="property" name="The &quot;start&quot; property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--start"/>
<keyword type="property" name="The &quot;threshold&quot; property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--threshold"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-spacescope.html#idp19256880"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-spacescope.html#idp19287984"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-spacescope.html#idp17724320"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-spacescope.html#idp14053744"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-spacescope.html#idp15980736"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-spacescope.html#idp13966480"/>
<keyword type="struct" name="struct GstSpaceScope" link="gst-plugins-bad-plugins-spacescope.html#GstSpaceScope-struct"/>
<keyword type="property" name="The &quot;style&quot; property" link="gst-plugins-bad-plugins-spacescope.html#GstSpaceScope--style"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-spectrascope.html#idp14021600"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-spectrascope.html#idp18469952"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-spectrascope.html#idp15452016"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-spectrascope.html#idp15668096"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-spectrascope.html#idp13933728"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-spectrascope.html#idp15208816"/>
<keyword type="struct" name="struct GstSpectraScope" link="gst-plugins-bad-plugins-spectrascope.html#GstSpectraScope-struct"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-synaescope.html#idp19504880"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-synaescope.html#idp16345648"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-synaescope.html#idp16835520"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-synaescope.html#idp13941168"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-synaescope.html#idp16901984"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-synaescope.html#idp14704624"/>
<keyword type="struct" name="struct GstSynaeScope" link="gst-plugins-bad-plugins-synaescope.html#GstSynaeScope-struct"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-speed.html#idp17100768"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-speed.html#idp16232912"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-speed.html#idp15752928"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-speed.html#idp14281296"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-speed.html#idp15145648"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-speed.html#idp18374624"/>
<keyword type="struct" name="struct GstSpeed" link="gst-plugins-bad-plugins-speed.html#GstSpeed-struct"/>
<keyword type="property" name="The &quot;speed&quot; property" link="gst-plugins-bad-plugins-speed.html#GstSpeed--speed"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-sphere.html#idp14951824"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-sphere.html#idp19388496"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-sphere.html#idp16929344"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-sphere.html#idp17455936"/>
<keyword type="struct" name="struct GstSphere" link="gst-plugins-bad-plugins-sphere.html#GstSphere-struct"/>
<keyword type="property" name="The &quot;refraction&quot; property" link="gst-plugins-bad-plugins-sphere.html#GstSphere--refraction"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-square.html#idp16220080"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-square.html#idp20433744"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-square.html#idp17662320"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-square.html#idp15338880"/>
<keyword type="struct" name="struct GstSquare" link="gst-plugins-bad-plugins-square.html#GstSquare-struct"/>
<keyword type="property" name="The &quot;height&quot; property" link="gst-plugins-bad-plugins-square.html#GstSquare--height"/>
<keyword type="property" name="The &quot;width&quot; property" link="gst-plugins-bad-plugins-square.html#GstSquare--width"/>
<keyword type="property" name="The &quot;zoom&quot; property" link="gst-plugins-bad-plugins-square.html#GstSquare--zoom"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-stretch.html#idp16272000"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-stretch.html#idp19804384"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-stretch.html#idp18256912"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-stretch.html#idp17645504"/>
<keyword type="struct" name="struct GstStretch" link="gst-plugins-bad-plugins-stretch.html#GstStretch-struct"/>
<keyword type="property" name="The &quot;intensity&quot; property" link="gst-plugins-bad-plugins-stretch.html#GstStretch--intensity"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-templatematch.html#idp15108688"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-templatematch.html#idp15787600"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-templatematch.html#idp16043520"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-templatematch.html#idp14454800"/>
<keyword type="struct" name="struct GstSynaeScope" link="gst-plugins-bad-plugins-templatematch.html#GstSynaeScope-struct"/>
<keyword type="struct" name="struct GstTemplateMatch" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch"/>
<keyword type="property" name="The &quot;display&quot; property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--display"/>
<keyword type="property" name="The &quot;method&quot; property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--method"/>
<keyword type="property" name="The &quot;template&quot; property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--template"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-opencvtextoverlay.html#idp17493168"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-opencvtextoverlay.html#idp20225168"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-opencvtextoverlay.html#idp18746736"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-opencvtextoverlay.html#idp14255840"/>
<keyword type="struct" name="GstNuvDemux" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstNuvDemux"/>
<keyword type="struct" name="struct GstOpencvTextOverlay" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay"/>
<keyword type="property" name="The &quot;colorB&quot; property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--colorB"/>
@@ -583,15 +583,15 @@
<keyword type="property" name="The &quot;width&quot; property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--width"/>
<keyword type="property" name="The &quot;xpos&quot; property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--xpos"/>
<keyword type="property" name="The &quot;ypos&quot; property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--ypos"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-tunnel.html#idp19196656"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-tunnel.html#idp19038368"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-tunnel.html#idp18532480"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-tunnel.html#idp15859616"/>
<keyword type="struct" name="struct GstTunnel" link="gst-plugins-bad-plugins-tunnel.html#GstTunnel-struct"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-twirl.html#idp17122208"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-twirl.html#idp15648208"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-twirl.html#idp14035088"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-twirl.html#idp17325648"/>
<keyword type="struct" name="struct GstTwirl" link="gst-plugins-bad-plugins-twirl.html#GstTwirl-struct"/>
<keyword type="property" name="The &quot;angle&quot; property" link="gst-plugins-bad-plugins-twirl.html#GstTwirl--angle"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-videoparse.html#idp21203632"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-videoparse.html#idp21211040"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-videoparse.html#idp20038944"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-videoparse.html#idp20046352"/>
<keyword type="struct" name="struct GstVideoParse" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse-struct"/>
<keyword type="property" name="The &quot;alpha-mask&quot; property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--alpha-mask"/>
<keyword type="property" name="The &quot;blue-mask&quot; property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--blue-mask"/>
@@ -607,26 +607,26 @@
<keyword type="property" name="The &quot;width&quot; property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--width"/>
<keyword type="property" name="The &quot;interlaced&quot; property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--interlaced"/>
<keyword type="property" name="The &quot;top-field-first&quot; property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--top-field-first"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-waterripple.html#idp20084448"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-waterripple.html#idp20282752"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-waterripple.html#idp17194016"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-waterripple.html#idp19284896"/>
<keyword type="struct" name="struct GstWaterRipple" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple-struct"/>
<keyword type="property" name="The &quot;amplitude&quot; property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--amplitude"/>
<keyword type="property" name="The &quot;phase&quot; property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--phase"/>
<keyword type="property" name="The &quot;wavelength&quot; property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--wavelength"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-zbar.html#idp18054528"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-zbar.html#idp20350224"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-zbar.html#idp19263664"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-zbar.html#idp19009328"/>
<keyword type="struct" name="struct GstZBar" link="gst-plugins-bad-plugins-zbar.html#GstZBar-struct"/>
<keyword type="property" name="The &quot;message&quot; property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--message"/>
<keyword type="property" name="The &quot;cache&quot; property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--cache"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-voaacenc.html#idp16385504"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-voaacenc.html#idp17356336"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-voaacenc.html#idp18886832"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-voaacenc.html#idp16121408"/>
<keyword type="struct" name="struct GstVoAacEnc" link="gst-plugins-bad-plugins-voaacenc.html#GstVoAacEnc-struct"/>
<keyword type="property" name="The &quot;bitrate&quot; property" link="gst-plugins-bad-plugins-voaacenc.html#GstVoAacEnc--bitrate"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-voamrwbenc.html#idp18860144"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-voamrwbenc.html#idp18610384"/>
- <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-wavescope.html#idp15582208"/>
- <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-wavescope.html#idp18013760"/>
- <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-wavescope.html#idp21371824"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-voamrwbenc.html#idp18179776"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-voamrwbenc.html#idp15494032"/>
+ <keyword type="" name="Example launch line" link="gst-plugins-bad-plugins-wavescope.html#idp18568848"/>
+ <keyword type="" name="Element Information" link="gst-plugins-bad-plugins-wavescope.html#idp16132448"/>
+ <keyword type="" name="Element Pads" link="gst-plugins-bad-plugins-wavescope.html#idp19931904"/>
<keyword type="struct" name="struct GstWaveScope" link="gst-plugins-bad-plugins-wavescope.html#GstWaveScope-struct"/>
<keyword type="property" name="The &quot;style&quot; property" link="gst-plugins-bad-plugins-wavescope.html#GstWaveScope--style"/>
<keyword type="struct" name="GstPhotography" link="GstPhotography.html#GstPhotography-struct"/>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 1f782935..48ac8e12 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Bad Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Bad Plugins 1.0 (1.0.5)
+ for GStreamer Bad Plugins 1.0 (1.0.6)
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/</a>.
</p></div>
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index d9808d8d..c913a8f2 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -107,43 +107,33 @@
<ANCHOR id="GstColorEffects--preset" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-coloreffects.html#GstColorEffects--preset">
<ANCHOR id="gst-plugins-bad-plugins-cvdilate" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html">
<ANCHOR id="gst-plugins-bad-plugins-cvdilate.synopsis" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.synopsis">
-<ANCHOR id="GstCvDilate" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#GstCvDilate">
-<ANCHOR id="gst-plugins-bad-plugins-cvdilate.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-cvdilate.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.description">
<ANCHOR id="gst-plugins-bad-plugins-cvdilate.details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#gst-plugins-bad-plugins-cvdilate.details">
-<ANCHOR id="GstCvDilate-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#GstCvDilate-struct">
+<ANCHOR id="GstCvDilate" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvdilate.html#GstCvDilate">
<ANCHOR id="gst-plugins-bad-plugins-cverode" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html">
<ANCHOR id="gst-plugins-bad-plugins-cverode.synopsis" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.synopsis">
-<ANCHOR id="GstCvErode" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#GstCvErode">
-<ANCHOR id="gst-plugins-bad-plugins-cverode.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-cverode.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.description">
<ANCHOR id="gst-plugins-bad-plugins-cverode.details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#gst-plugins-bad-plugins-cverode.details">
-<ANCHOR id="GstCvErode-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#GstCvErode-struct">
+<ANCHOR id="GstCvErode" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cverode.html#GstCvErode">
<ANCHOR id="gst-plugins-bad-plugins-cvequalizehist" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html">
<ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.synopsis" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.synopsis">
-<ANCHOR id="GstCvEqualizeHist" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist">
-<ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.description">
<ANCHOR id="gst-plugins-bad-plugins-cvequalizehist.details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#gst-plugins-bad-plugins-cvequalizehist.details">
-<ANCHOR id="GstCvEqualizeHist-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist-struct">
+<ANCHOR id="GstCvEqualizeHist" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvequalizehist.html#GstCvEqualizeHist">
<ANCHOR id="gst-plugins-bad-plugins-cvlaplace" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html">
<ANCHOR id="gst-plugins-bad-plugins-cvlaplace.synopsis" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.synopsis">
-<ANCHOR id="GstCvLaplace" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace">
-<ANCHOR id="gst-plugins-bad-plugins-cvlaplace.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-cvlaplace.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.properties">
<ANCHOR id="gst-plugins-bad-plugins-cvlaplace.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.description">
<ANCHOR id="gst-plugins-bad-plugins-cvlaplace.details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.details">
-<ANCHOR id="GstCvLaplace-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace-struct">
+<ANCHOR id="GstCvLaplace" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace">
<ANCHOR id="gst-plugins-bad-plugins-cvlaplace.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#gst-plugins-bad-plugins-cvlaplace.property-details">
<ANCHOR id="GstCvLaplace--aperture-size" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--aperture-size">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.synopsis" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.synopsis">
-<ANCHOR id="GstCvSmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth">
-<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.properties">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.description">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.details">
-<ANCHOR id="GstCvSmooth-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct">
+<ANCHOR id="GstCvSmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.property-details">
<ANCHOR id="GstCvSmooth--param1" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param1">
<ANCHOR id="GstCvSmooth--param2" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param2">
@@ -152,12 +142,10 @@
<ANCHOR id="GstCvSmooth--type" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--type">
<ANCHOR id="gst-plugins-bad-plugins-cvsobel" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html">
<ANCHOR id="gst-plugins-bad-plugins-cvsobel.synopsis" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.synopsis">
-<ANCHOR id="GstCvSobel" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel">
-<ANCHOR id="gst-plugins-bad-plugins-cvsobel.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-cvsobel.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.properties">
<ANCHOR id="gst-plugins-bad-plugins-cvsobel.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.description">
<ANCHOR id="gst-plugins-bad-plugins-cvsobel.details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.details">
-<ANCHOR id="GstCvSobel-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel-struct">
+<ANCHOR id="GstCvSobel" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel">
<ANCHOR id="gst-plugins-bad-plugins-cvsobel.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#gst-plugins-bad-plugins-cvsobel.property-details">
<ANCHOR id="GstCvSobel--aperture-size" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--aperture-size">
<ANCHOR id="GstCvSobel--x-order" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--x-order">
diff --git a/docs/plugins/inspect/plugin-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml
index dce15b0b..746c5ef7 100644
--- a/docs/plugins/inspect/plugin-adpcmdec.xml
+++ b/docs/plugins/inspect/plugin-adpcmdec.xml
@@ -3,7 +3,7 @@
<description>ADPCM decoder</description>
<filename>../../gst/adpcmdec/.libs/libgstadpcmdec.so</filename>
<basename>libgstadpcmdec.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-adpcmenc.xml b/docs/plugins/inspect/plugin-adpcmenc.xml
index c9d347eb..71e587b1 100644
--- a/docs/plugins/inspect/plugin-adpcmenc.xml
+++ b/docs/plugins/inspect/plugin-adpcmenc.xml
@@ -3,7 +3,7 @@
<description>ADPCM encoder</description>
<filename>../../gst/adpcmenc/.libs/libgstadpcmenc.so</filename>
<basename>libgstadpcmenc.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml
index 2f1c6ff9..b0c96c4c 100644
--- a/docs/plugins/inspect/plugin-asfmux.xml
+++ b/docs/plugins/inspect/plugin-asfmux.xml
@@ -3,7 +3,7 @@
<description>ASF Muxer Plugin</description>
<filename>../../gst/asfmux/.libs/libgstasfmux.so</filename>
<basename>libgstasfmux.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-assrender.xml b/docs/plugins/inspect/plugin-assrender.xml
index 674ca9c6..a9576e9f 100644
--- a/docs/plugins/inspect/plugin-assrender.xml
+++ b/docs/plugins/inspect/plugin-assrender.xml
@@ -3,7 +3,7 @@
<description>ASS/SSA subtitle renderer</description>
<filename>../../ext/assrender/.libs/libgstassrender.so</filename>
<basename>libgstassrender.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiovisualizers.xml b/docs/plugins/inspect/plugin-audiovisualizers.xml
index 6e4c65e9..ba7d5da0 100644
--- a/docs/plugins/inspect/plugin-audiovisualizers.xml
+++ b/docs/plugins/inspect/plugin-audiovisualizers.xml
@@ -3,7 +3,7 @@
<description>Creates video visualizations of audio input</description>
<filename>../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so</filename>
<basename>libgstaudiovisualizers.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-autoconvert.xml b/docs/plugins/inspect/plugin-autoconvert.xml
index bcc47182..889333dd 100644
--- a/docs/plugins/inspect/plugin-autoconvert.xml
+++ b/docs/plugins/inspect/plugin-autoconvert.xml
@@ -3,7 +3,7 @@
<description>Selects convertor element based on caps</description>
<filename>../../gst/autoconvert/.libs/libgstautoconvert.so</filename>
<basename>libgstautoconvert.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bayer.xml b/docs/plugins/inspect/plugin-bayer.xml
index cc9ac53e..8bea8d0d 100644
--- a/docs/plugins/inspect/plugin-bayer.xml
+++ b/docs/plugins/inspect/plugin-bayer.xml
@@ -3,7 +3,7 @@
<description>Elements to convert Bayer images</description>
<filename>../../gst/bayer/.libs/libgstbayer.so</filename>
<basename>libgstbayer.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml
index 3bbec58a..f0b4a9b4 100644
--- a/docs/plugins/inspect/plugin-bz2.xml
+++ b/docs/plugins/inspect/plugin-bz2.xml
@@ -3,7 +3,7 @@
<description>Compress or decompress streams</description>
<filename>../../ext/bz2/.libs/libgstbz2.so</filename>
<basename>libgstbz2.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-camerabin.xml b/docs/plugins/inspect/plugin-camerabin.xml
index 5e1f46d4..4c157bc9 100644
--- a/docs/plugins/inspect/plugin-camerabin.xml
+++ b/docs/plugins/inspect/plugin-camerabin.xml
@@ -3,7 +3,7 @@
<description>Take image snapshots and record movies from camera</description>
<filename>../../gst/camerabin2/.libs/libgstcamerabin2.so</filename>
<basename>libgstcamerabin2.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-celt.xml b/docs/plugins/inspect/plugin-celt.xml
index 6ecfc6c7..a20a70a4 100644
--- a/docs/plugins/inspect/plugin-celt.xml
+++ b/docs/plugins/inspect/plugin-celt.xml
@@ -3,7 +3,7 @@
<description>CELT plugin library</description>
<filename>../../ext/celt/.libs/libgstcelt.so</filename>
<basename>libgstcelt.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-chromaprint.xml b/docs/plugins/inspect/plugin-chromaprint.xml
index b740ddb0..86195dca 100644
--- a/docs/plugins/inspect/plugin-chromaprint.xml
+++ b/docs/plugins/inspect/plugin-chromaprint.xml
@@ -3,7 +3,7 @@
<description>Calculate Chromaprint fingerprint from audio files</description>
<filename>../../ext/chromaprint/.libs/libgstchromaprint.so</filename>
<basename>libgstchromaprint.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-coloreffects.xml b/docs/plugins/inspect/plugin-coloreffects.xml
index 1dde3319..c5d5f30a 100644
--- a/docs/plugins/inspect/plugin-coloreffects.xml
+++ b/docs/plugins/inspect/plugin-coloreffects.xml
@@ -3,7 +3,7 @@
<description>Color Look-up Table filters</description>
<filename>../../gst/coloreffects/.libs/libgstcoloreffects.so</filename>
<basename>libgstcoloreffects.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-curl.xml b/docs/plugins/inspect/plugin-curl.xml
index d33def1f..f4c0456f 100644
--- a/docs/plugins/inspect/plugin-curl.xml
+++ b/docs/plugins/inspect/plugin-curl.xml
@@ -3,7 +3,7 @@
<description>libcurl-based elements</description>
<filename>../../ext/curl/.libs/libgstcurl.so</filename>
<basename>libgstcurl.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dataurisrc.xml b/docs/plugins/inspect/plugin-dataurisrc.xml
index 732012e1..0b3b39c2 100644
--- a/docs/plugins/inspect/plugin-dataurisrc.xml
+++ b/docs/plugins/inspect/plugin-dataurisrc.xml
@@ -3,7 +3,7 @@
<description>data: URI source</description>
<filename>../../gst/dataurisrc/.libs/libgstdataurisrc.so</filename>
<basename>libgstdataurisrc.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml
index 3276bcae..031db293 100644
--- a/docs/plugins/inspect/plugin-debugutilsbad.xml
+++ b/docs/plugins/inspect/plugin-debugutilsbad.xml
@@ -3,7 +3,7 @@
<description>Collection of elements that may or may not be useful for debugging</description>
<filename>../../gst/debugutils/.libs/libgstdebugutilsbad.so</filename>
<basename>libgstdebugutilsbad.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-decklink.xml b/docs/plugins/inspect/plugin-decklink.xml
new file mode 100644
index 00000000..61d83972
--- /dev/null
+++ b/docs/plugins/inspect/plugin-decklink.xml
@@ -0,0 +1,34 @@
+<plugin>
+ <name>decklink</name>
+ <description>Blackmagic Decklink plugin</description>
+ <filename>../../sys/decklink/.libs/libgstdecklink.so</filename>
+ <basename>libgstdecklink.so</basename>
+ <version>1.0.6</version>
+ <license>LGPL</license>
+ <source>gst-plugins-bad</source>
+ <package>GStreamer Bad Plug-ins</package>
+ <origin>Unknown package origin</origin>
+ <elements>
+ <element>
+ <name>decklinksrc</name>
+ <longname>Decklink source</longname>
+ <class>Source/Video</class>
+ <description>DeckLink Source</description>
+ <author>David Schleef &lt;ds@entropywave.com&gt;</author>
+ <pads>
+ <caps>
+ <name>audiosrc</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, format=(string)S16LE, channels=(int)2, rate=(int)48000, layout=(string)interleaved</details>
+ </caps>
+ <caps>
+ <name>videosrc</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)24000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2</details>
+ </caps>
+ </pads>
+ </element>
+ </elements>
+</plugin> \ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml
index 2d86ccaa..b3916bb3 100644
--- a/docs/plugins/inspect/plugin-dtmf.xml
+++ b/docs/plugins/inspect/plugin-dtmf.xml
@@ -3,7 +3,7 @@
<description>DTMF plugins</description>
<filename>../../gst/dtmf/.libs/libgstdtmf.so</filename>
<basename>libgstdtmf.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtsdec.xml b/docs/plugins/inspect/plugin-dtsdec.xml
index 0999e8d2..2afae2c8 100644
--- a/docs/plugins/inspect/plugin-dtsdec.xml
+++ b/docs/plugins/inspect/plugin-dtsdec.xml
@@ -3,7 +3,7 @@
<description>Decodes DTS audio streams</description>
<filename>../../ext/dts/.libs/libgstdtsdec.so</filename>
<basename>libgstdtsdec.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvb.xml b/docs/plugins/inspect/plugin-dvb.xml
index ee3c53dd..a41ba160 100644
--- a/docs/plugins/inspect/plugin-dvb.xml
+++ b/docs/plugins/inspect/plugin-dvb.xml
@@ -3,7 +3,7 @@
<description>DVB elements</description>
<filename>../../sys/dvb/.libs/libgstdvb.so</filename>
<basename>libgstdvb.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvbsuboverlay.xml b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
index e9935505..655b2a2c 100644
--- a/docs/plugins/inspect/plugin-dvbsuboverlay.xml
+++ b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
@@ -3,7 +3,7 @@
<description>DVB subtitle renderer</description>
<filename>../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so</filename>
<basename>libgstdvbsuboverlay.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml
index 6aefdf89..e1a8d34c 100644
--- a/docs/plugins/inspect/plugin-dvdspu.xml
+++ b/docs/plugins/inspect/plugin-dvdspu.xml
@@ -3,7 +3,7 @@
<description>DVD Sub-picture Overlay element</description>
<filename>../../gst/dvdspu/.libs/libgstdvdspu.so</filename>
<basename>libgstdvdspu.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-faac.xml b/docs/plugins/inspect/plugin-faac.xml
index 18650477..0440fc65 100644
--- a/docs/plugins/inspect/plugin-faac.xml
+++ b/docs/plugins/inspect/plugin-faac.xml
@@ -3,7 +3,7 @@
<description>Free AAC Encoder (FAAC)</description>
<filename>../../ext/faac/.libs/libgstfaac.so</filename>
<basename>libgstfaac.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-faad.xml b/docs/plugins/inspect/plugin-faad.xml
index 4694737e..1249df93 100644
--- a/docs/plugins/inspect/plugin-faad.xml
+++ b/docs/plugins/inspect/plugin-faad.xml
@@ -3,7 +3,7 @@
<description>Free AAC Decoder (FAAD)</description>
<filename>../../ext/faad/.libs/libgstfaad.so</filename>
<basename>libgstfaad.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index 080cb6e1..406036ee 100644
--- a/docs/plugins/inspect/plugin-festival.xml
+++ b/docs/plugins/inspect/plugin-festival.xml
@@ -3,7 +3,7 @@
<description>Synthesizes plain text into audio</description>
<filename>../../gst/festival/.libs/libgstfestival.so</filename>
<basename>libgstfestival.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fieldanalysis.xml b/docs/plugins/inspect/plugin-fieldanalysis.xml
index d3b9ea65..767f1583 100644
--- a/docs/plugins/inspect/plugin-fieldanalysis.xml
+++ b/docs/plugins/inspect/plugin-fieldanalysis.xml
@@ -3,7 +3,7 @@
<description>Video field analysis</description>
<filename>../../gst/fieldanalysis/.libs/libgstfieldanalysis.so</filename>
<basename>libgstfieldanalysis.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-flite.xml b/docs/plugins/inspect/plugin-flite.xml
index 5db7d43e..8ccde8c9 100644
--- a/docs/plugins/inspect/plugin-flite.xml
+++ b/docs/plugins/inspect/plugin-flite.xml
@@ -3,7 +3,7 @@
<description>Flite speech synthesizer plugin</description>
<filename>../../ext/flite/.libs/libgstflite.so</filename>
<basename>libgstflite.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fragmented.xml b/docs/plugins/inspect/plugin-fragmented.xml
index 3d0b7cf4..a50b96fd 100644
--- a/docs/plugins/inspect/plugin-fragmented.xml
+++ b/docs/plugins/inspect/plugin-fragmented.xml
@@ -3,7 +3,7 @@
<description>Fragmented streaming plugins</description>
<filename>../../gst/hls/.libs/libgstfragmented.so</filename>
<basename>libgstfragmented.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-frei0r.xml b/docs/plugins/inspect/plugin-frei0r.xml
index 2d3395fb..4cc6c34d 100644
--- a/docs/plugins/inspect/plugin-frei0r.xml
+++ b/docs/plugins/inspect/plugin-frei0r.xml
@@ -3,7 +3,7 @@
<description>frei0r plugin library</description>
<filename>../../gst/frei0r/.libs/libgstfrei0r.so</filename>
<basename>libgstfrei0r.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gaudieffects.xml b/docs/plugins/inspect/plugin-gaudieffects.xml
index d6905beb..48550cfb 100644
--- a/docs/plugins/inspect/plugin-gaudieffects.xml
+++ b/docs/plugins/inspect/plugin-gaudieffects.xml
@@ -3,7 +3,7 @@
<description>Gaudi video effects.</description>
<filename>../../gst/gaudieffects/.libs/libgstgaudieffects.so</filename>
<basename>libgstgaudieffects.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-gdp.xml b/docs/plugins/inspect/plugin-gdp.xml
index 757e1564..8a52f8cc 100644
--- a/docs/plugins/inspect/plugin-gdp.xml
+++ b/docs/plugins/inspect/plugin-gdp.xml
@@ -3,7 +3,7 @@
<description>Payload/depayload GDP packets</description>
<filename>../../gst/gdp/.libs/libgstgdp.so</filename>
<basename>libgstgdp.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-geometrictransform.xml b/docs/plugins/inspect/plugin-geometrictransform.xml
index d6e7c029..ddb5473b 100644
--- a/docs/plugins/inspect/plugin-geometrictransform.xml
+++ b/docs/plugins/inspect/plugin-geometrictransform.xml
@@ -3,7 +3,7 @@
<description>Various geometric image transform elements</description>
<filename>../../gst/geometrictransform/.libs/libgstgeometrictransform.so</filename>
<basename>libgstgeometrictransform.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gmedec.xml b/docs/plugins/inspect/plugin-gmedec.xml
index 263493bb..70ae07c8 100644
--- a/docs/plugins/inspect/plugin-gmedec.xml
+++ b/docs/plugins/inspect/plugin-gmedec.xml
@@ -3,7 +3,7 @@
<description>GME Audio Decoder</description>
<filename>../../ext/gme/.libs/libgstgme.so</filename>
<basename>libgstgme.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gsm.xml b/docs/plugins/inspect/plugin-gsm.xml
index 0dc72059..c0819b65 100644
--- a/docs/plugins/inspect/plugin-gsm.xml
+++ b/docs/plugins/inspect/plugin-gsm.xml
@@ -3,7 +3,7 @@
<description>GSM encoder/decoder</description>
<filename>../../ext/gsm/.libs/libgstgsm.so</filename>
<basename>libgstgsm.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gstsiren.xml b/docs/plugins/inspect/plugin-gstsiren.xml
index 6365fd6f..b3689303 100644
--- a/docs/plugins/inspect/plugin-gstsiren.xml
+++ b/docs/plugins/inspect/plugin-gstsiren.xml
@@ -3,7 +3,7 @@
<description>Siren encoder/decoder/payloader/depayloader plugins</description>
<filename>../../gst/siren/.libs/libgstsiren.so</filename>
<basename>libgstsiren.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-id3tag.xml b/docs/plugins/inspect/plugin-id3tag.xml
index 7617981c..de757938 100644
--- a/docs/plugins/inspect/plugin-id3tag.xml
+++ b/docs/plugins/inspect/plugin-id3tag.xml
@@ -3,7 +3,7 @@
<description>ID3 v1 and v2 muxing plugin</description>
<filename>../../gst/id3tag/.libs/libgstid3tag.so</filename>
<basename>libgstid3tag.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-inter.xml b/docs/plugins/inspect/plugin-inter.xml
index 5a3d72fa..64872300 100644
--- a/docs/plugins/inspect/plugin-inter.xml
+++ b/docs/plugins/inspect/plugin-inter.xml
@@ -3,7 +3,7 @@
<description>plugin for inter-pipeline communication</description>
<filename>../../gst/inter/.libs/libgstinter.so</filename>
<basename>libgstinter.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-interlace.xml b/docs/plugins/inspect/plugin-interlace.xml
index dea76c13..d017a8ee 100644
--- a/docs/plugins/inspect/plugin-interlace.xml
+++ b/docs/plugins/inspect/plugin-interlace.xml
@@ -3,7 +3,7 @@
<description>Create an interlaced video stream</description>
<filename>../../gst/interlace/.libs/libgstinterlace.so</filename>
<basename>libgstinterlace.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jpegformat.xml b/docs/plugins/inspect/plugin-jpegformat.xml
index 72799d0a..c71aca78 100644
--- a/docs/plugins/inspect/plugin-jpegformat.xml
+++ b/docs/plugins/inspect/plugin-jpegformat.xml
@@ -3,7 +3,7 @@
<description>JPEG interchange format plugin</description>
<filename>../../gst/jpegformat/.libs/libgstjpegformat.so</filename>
<basename>libgstjpegformat.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-liveadder.xml b/docs/plugins/inspect/plugin-liveadder.xml
index 821c78fd..e5fe1e0d 100644
--- a/docs/plugins/inspect/plugin-liveadder.xml
+++ b/docs/plugins/inspect/plugin-liveadder.xml
@@ -3,7 +3,7 @@
<description>Adds multiple live discontinuous streams</description>
<filename>../../gst/liveadder/.libs/libgstliveadder.so</filename>
<basename>libgstliveadder.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mimic.xml b/docs/plugins/inspect/plugin-mimic.xml
index a5adce93..f559e265 100644
--- a/docs/plugins/inspect/plugin-mimic.xml
+++ b/docs/plugins/inspect/plugin-mimic.xml
@@ -3,7 +3,7 @@
<description>Mimic codec</description>
<filename>../../ext/mimic/.libs/libgstmimic.so</filename>
<basename>libgstmimic.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mms.xml b/docs/plugins/inspect/plugin-mms.xml
index ddd1a6e9..542e0e2f 100644
--- a/docs/plugins/inspect/plugin-mms.xml
+++ b/docs/plugins/inspect/plugin-mms.xml
@@ -3,7 +3,7 @@
<description>Microsoft Multi Media Server streaming protocol support</description>
<filename>../../ext/libmms/.libs/libgstmms.so</filename>
<basename>libgstmms.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-modplug.xml b/docs/plugins/inspect/plugin-modplug.xml
index 77e38b1e..027c0266 100644
--- a/docs/plugins/inspect/plugin-modplug.xml
+++ b/docs/plugins/inspect/plugin-modplug.xml
@@ -3,7 +3,7 @@
<description>.MOD audio decoding</description>
<filename>../../ext/modplug/.libs/libgstmodplug.so</filename>
<basename>libgstmodplug.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpeg2enc.xml b/docs/plugins/inspect/plugin-mpeg2enc.xml
index 620a43e1..cbc174cb 100644
--- a/docs/plugins/inspect/plugin-mpeg2enc.xml
+++ b/docs/plugins/inspect/plugin-mpeg2enc.xml
@@ -3,7 +3,7 @@
<description>High-quality MPEG-1/2 video encoder</description>
<filename>../../ext/mpeg2enc/.libs/libgstmpeg2enc.so</filename>
<basename>libgstmpeg2enc.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegpsdemux.xml b/docs/plugins/inspect/plugin-mpegpsdemux.xml
index 1a21ee51..0a8e6e4d 100644
--- a/docs/plugins/inspect/plugin-mpegpsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsdemux.xml
@@ -3,7 +3,7 @@
<description>MPEG-PS demuxer</description>
<filename>../../gst/mpegdemux/.libs/libgstmpegpsdemux.so</filename>
<basename>libgstmpegpsdemux.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>unknown</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegpsmux.xml b/docs/plugins/inspect/plugin-mpegpsmux.xml
index aec43030..79f4deae 100644
--- a/docs/plugins/inspect/plugin-mpegpsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsmux.xml
@@ -3,7 +3,7 @@
<description>MPEG-PS muxer</description>
<filename>../../gst/mpegpsmux/.libs/libgstmpegpsmux.so</filename>
<basename>libgstmpegpsmux.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegtsdemux.xml b/docs/plugins/inspect/plugin-mpegtsdemux.xml
index ae9b8a44..9f671bfa 100644
--- a/docs/plugins/inspect/plugin-mpegtsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsdemux.xml
@@ -3,7 +3,7 @@
<description>MPEG TS demuxer</description>
<filename>../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so</filename>
<basename>libgstmpegtsdemux.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>unknown</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegtsmux.xml b/docs/plugins/inspect/plugin-mpegtsmux.xml
index e295eaf3..8b984681 100644
--- a/docs/plugins/inspect/plugin-mpegtsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsmux.xml
@@ -3,7 +3,7 @@
<description>MPEG-TS muxer</description>
<filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
<basename>libgstmpegtsmux.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpg123.xml b/docs/plugins/inspect/plugin-mpg123.xml
index b6c71cf5..d4f9984f 100644
--- a/docs/plugins/inspect/plugin-mpg123.xml
+++ b/docs/plugins/inspect/plugin-mpg123.xml
@@ -3,7 +3,7 @@
<description>mp3 decoding based on the mpg123 library</description>
<filename>../../ext/mpg123/.libs/libgstmpg123.so</filename>
<basename>libgstmpg123.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml
index 376de9be..ae06e82c 100644
--- a/docs/plugins/inspect/plugin-mplex.xml
+++ b/docs/plugins/inspect/plugin-mplex.xml
@@ -3,7 +3,7 @@
<description>High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</description>
<filename>../../ext/mplex/.libs/libgstmplex.so</filename>
<basename>libgstmplex.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opus.xml b/docs/plugins/inspect/plugin-opus.xml
index 654b187a..5c552f21 100644
--- a/docs/plugins/inspect/plugin-opus.xml
+++ b/docs/plugins/inspect/plugin-opus.xml
@@ -3,7 +3,7 @@
<description>OPUS plugin library</description>
<filename>../../ext/opus/.libs/libgstopus.so</filename>
<basename>libgstopus.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pcapparse.xml b/docs/plugins/inspect/plugin-pcapparse.xml
index bc361b3c..d2d815a3 100644
--- a/docs/plugins/inspect/plugin-pcapparse.xml
+++ b/docs/plugins/inspect/plugin-pcapparse.xml
@@ -3,7 +3,7 @@
<description>Element parsing raw pcap streams</description>
<filename>../../gst/pcapparse/.libs/libgstpcapparse.so</filename>
<basename>libgstpcapparse.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-pnm.xml b/docs/plugins/inspect/plugin-pnm.xml
index 3f2abb79..a30194bf 100644
--- a/docs/plugins/inspect/plugin-pnm.xml
+++ b/docs/plugins/inspect/plugin-pnm.xml
@@ -3,7 +3,7 @@
<description>PNM plugin</description>
<filename>../../gst/pnm/.libs/libgstpnm.so</filename>
<basename>libgstpnm.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml
index 0d173f09..5f43f145 100644
--- a/docs/plugins/inspect/plugin-rawparse.xml
+++ b/docs/plugins/inspect/plugin-rawparse.xml
@@ -3,7 +3,7 @@
<description>Parses byte streams into raw frames</description>
<filename>../../gst/rawparse/.libs/libgstrawparse.so</filename>
<basename>libgstrawparse.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-removesilence.xml b/docs/plugins/inspect/plugin-removesilence.xml
index 3a28fab6..98f8755f 100644
--- a/docs/plugins/inspect/plugin-removesilence.xml
+++ b/docs/plugins/inspect/plugin-removesilence.xml
@@ -3,7 +3,7 @@
<description>Removes silence from an audio stream</description>
<filename>../../gst/removesilence/.libs/libgstremovesilence.so</filename>
<basename>libgstremovesilence.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-resindvd.xml b/docs/plugins/inspect/plugin-resindvd.xml
index 0be948f6..5d503f5e 100644
--- a/docs/plugins/inspect/plugin-resindvd.xml
+++ b/docs/plugins/inspect/plugin-resindvd.xml
@@ -3,7 +3,7 @@
<description>Resin DVD playback elements</description>
<filename>../../ext/resindvd/.libs/libgstresindvd.so</filename>
<basename>libgstresindvd.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-rtmp.xml b/docs/plugins/inspect/plugin-rtmp.xml
index e182ed71..dbb4457b 100644
--- a/docs/plugins/inspect/plugin-rtmp.xml
+++ b/docs/plugins/inspect/plugin-rtmp.xml
@@ -3,7 +3,7 @@
<description>RTMP source and sink</description>
<filename>../../ext/rtmp/.libs/libgstrtmp.so</filename>
<basename>libgstrtmp.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpmux.xml b/docs/plugins/inspect/plugin-rtpmux.xml
index 9a463398..7360cb08 100644
--- a/docs/plugins/inspect/plugin-rtpmux.xml
+++ b/docs/plugins/inspect/plugin-rtpmux.xml
@@ -3,7 +3,7 @@
<description>RTP Muxer plugins</description>
<filename>../../gst/rtpmux/.libs/libgstrtpmux.so</filename>
<basename>libgstrtpmux.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpvp8.xml b/docs/plugins/inspect/plugin-rtpvp8.xml
index 867f82ff..b258f8d7 100644
--- a/docs/plugins/inspect/plugin-rtpvp8.xml
+++ b/docs/plugins/inspect/plugin-rtpvp8.xml
@@ -3,7 +3,7 @@
<description>rtpvp8</description>
<filename>../../gst/rtpvp8/.libs/libgstrtpvp8.so</filename>
<basename>libgstrtpvp8.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-scaletempo.xml b/docs/plugins/inspect/plugin-scaletempo.xml
index 550feadb..685ffdeb 100644
--- a/docs/plugins/inspect/plugin-scaletempo.xml
+++ b/docs/plugins/inspect/plugin-scaletempo.xml
@@ -3,7 +3,7 @@
<description>Scale audio tempo in sync with playback rate</description>
<filename>../../gst/scaletempo/.libs/libgstscaletempoplugin.so</filename>
<basename>libgstscaletempoplugin.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-schro.xml b/docs/plugins/inspect/plugin-schro.xml
index 6958af53..c431ba37 100644
--- a/docs/plugins/inspect/plugin-schro.xml
+++ b/docs/plugins/inspect/plugin-schro.xml
@@ -3,7 +3,7 @@
<description>Schroedinger plugin</description>
<filename>../../ext/schroedinger/.libs/libgstschro.so</filename>
<basename>libgstschro.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-sdp.xml b/docs/plugins/inspect/plugin-sdp.xml
index f613b970..d4dce668 100644
--- a/docs/plugins/inspect/plugin-sdp.xml
+++ b/docs/plugins/inspect/plugin-sdp.xml
@@ -3,7 +3,7 @@
<description>configure streaming sessions using SDP</description>
<filename>../../gst/sdp/.libs/libgstsdpelem.so</filename>
<basename>libgstsdpelem.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml
index f936b4d9..a5263cea 100644
--- a/docs/plugins/inspect/plugin-segmentclip.xml
+++ b/docs/plugins/inspect/plugin-segmentclip.xml
@@ -3,7 +3,7 @@
<description>Segment clip elements</description>
<filename>../../gst/segmentclip/.libs/libgstsegmentclip.so</filename>
<basename>libgstsegmentclip.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shm.xml b/docs/plugins/inspect/plugin-shm.xml
index fc007661..96389496 100644
--- a/docs/plugins/inspect/plugin-shm.xml
+++ b/docs/plugins/inspect/plugin-shm.xml
@@ -3,7 +3,7 @@
<description>shared memory sink source</description>
<filename>../../sys/shm/.libs/libgstshm.so</filename>
<basename>libgstshm.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-smooth.xml b/docs/plugins/inspect/plugin-smooth.xml
index 526a6305..577c493f 100644
--- a/docs/plugins/inspect/plugin-smooth.xml
+++ b/docs/plugins/inspect/plugin-smooth.xml
@@ -3,7 +3,7 @@
<description>Apply a smooth filter to an image</description>
<filename>../../gst/smooth/.libs/libgstsmooth.so</filename>
<basename>libgstsmooth.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-soundtouch.xml b/docs/plugins/inspect/plugin-soundtouch.xml
index 9396a7c2..8f67819b 100644
--- a/docs/plugins/inspect/plugin-soundtouch.xml
+++ b/docs/plugins/inspect/plugin-soundtouch.xml
@@ -3,7 +3,7 @@
<description>Audio Pitch Controller &amp; BPM Detection</description>
<filename>../../ext/soundtouch/.libs/libgstsoundtouch.so</filename>
<basename>libgstsoundtouch.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-spandsp.xml b/docs/plugins/inspect/plugin-spandsp.xml
index ec83dfc1..1d681101 100644
--- a/docs/plugins/inspect/plugin-spandsp.xml
+++ b/docs/plugins/inspect/plugin-spandsp.xml
@@ -3,7 +3,7 @@
<description>libspandsp plugin</description>
<filename>../../ext/spandsp/.libs/libgstspandsp.so</filename>
<basename>libgstspandsp.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-speed.xml b/docs/plugins/inspect/plugin-speed.xml
index 26bcbc31..302e3ee7 100644
--- a/docs/plugins/inspect/plugin-speed.xml
+++ b/docs/plugins/inspect/plugin-speed.xml
@@ -3,7 +3,7 @@
<description>Set speed/pitch on audio/raw streams (resampler)</description>
<filename>../../gst/speed/.libs/libgstspeed.so</filename>
<basename>libgstspeed.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-subenc.xml b/docs/plugins/inspect/plugin-subenc.xml
index 388cdb67..ef24bcfe 100644
--- a/docs/plugins/inspect/plugin-subenc.xml
+++ b/docs/plugins/inspect/plugin-subenc.xml
@@ -3,7 +3,7 @@
<description>subtitle encoders</description>
<filename>../../gst/subenc/.libs/libgstsubenc.so</filename>
<basename>libgstsubenc.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videoparsersbad.xml b/docs/plugins/inspect/plugin-videoparsersbad.xml
index 737eb2de..ae299114 100644
--- a/docs/plugins/inspect/plugin-videoparsersbad.xml
+++ b/docs/plugins/inspect/plugin-videoparsersbad.xml
@@ -3,7 +3,7 @@
<description>videoparsers</description>
<filename>../../gst/videoparsers/.libs/libgstvideoparsersbad.so</filename>
<basename>libgstvideoparsersbad.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-voaacenc.xml b/docs/plugins/inspect/plugin-voaacenc.xml
index fc24ad95..4f28cd1b 100644
--- a/docs/plugins/inspect/plugin-voaacenc.xml
+++ b/docs/plugins/inspect/plugin-voaacenc.xml
@@ -3,7 +3,7 @@
<description>AAC audio encoder</description>
<filename>../../ext/voaacenc/.libs/libgstvoaacenc.so</filename>
<basename>libgstvoaacenc.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-voamrwbenc.xml b/docs/plugins/inspect/plugin-voamrwbenc.xml
index 38339d89..59877296 100644
--- a/docs/plugins/inspect/plugin-voamrwbenc.xml
+++ b/docs/plugins/inspect/plugin-voamrwbenc.xml
@@ -3,7 +3,7 @@
<description>Adaptive Multi-Rate Wide-Band Encoder</description>
<filename>../../ext/voamrwbenc/.libs/libgstvoamrwbenc.so</filename>
<basename>libgstvoamrwbenc.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>unknown</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-y4mdec.xml b/docs/plugins/inspect/plugin-y4mdec.xml
index 5a10d204..c8446fd0 100644
--- a/docs/plugins/inspect/plugin-y4mdec.xml
+++ b/docs/plugins/inspect/plugin-y4mdec.xml
@@ -3,7 +3,7 @@
<description>Demuxes/decodes YUV4MPEG streams</description>
<filename>../../gst/y4m/.libs/libgsty4mdec.so</filename>
<basename>libgsty4mdec.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-zbar.xml b/docs/plugins/inspect/plugin-zbar.xml
index 19cf6913..b9b591cd 100644
--- a/docs/plugins/inspect/plugin-zbar.xml
+++ b/docs/plugins/inspect/plugin-zbar.xml
@@ -3,7 +3,7 @@
<description>zbar barcode scanner</description>
<filename>../../ext/zbar/.libs/libgstzbar.so</filename>
<basename>libgstzbar.so</basename>
- <version>1.0.5</version>
+ <version>1.0.6</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/ext/Makefile.in b/ext/Makefile.in
index b307befb..3978a483 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -230,6 +230,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -263,6 +265,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/apexsink/Makefile.in b/ext/apexsink/Makefile.in
index ebe350df..e0992b29 100644
--- a/ext/apexsink/Makefile.in
+++ b/ext/apexsink/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/assrender/Makefile.in b/ext/assrender/Makefile.in
index e8e4097b..4d61a1ee 100644
--- a/ext/assrender/Makefile.in
+++ b/ext/assrender/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/bz2/Makefile.in b/ext/bz2/Makefile.in
index a68928a1..afe98f89 100644
--- a/ext/bz2/Makefile.in
+++ b/ext/bz2/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/cdaudio/Makefile.in b/ext/cdaudio/Makefile.in
index 4872667e..809c676d 100644
--- a/ext/cdaudio/Makefile.in
+++ b/ext/cdaudio/Makefile.in
@@ -248,6 +248,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -281,6 +283,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/celt/Makefile.in b/ext/celt/Makefile.in
index 9e50758f..4fe3e0df 100644
--- a/ext/celt/Makefile.in
+++ b/ext/celt/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/chromaprint/Makefile.in b/ext/chromaprint/Makefile.in
index 1f505e2c..3744d092 100644
--- a/ext/chromaprint/Makefile.in
+++ b/ext/chromaprint/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/cog/Makefile.in b/ext/cog/Makefile.in
index 7ae154d6..5d8b64af 100644
--- a/ext/cog/Makefile.in
+++ b/ext/cog/Makefile.in
@@ -294,6 +294,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -327,6 +329,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/cog/gstcogorc-dist.c b/ext/cog/gstcogorc-dist.c
index 3503b4d2..b202d764 100644
--- a/ext/cog/gstcogorc-dist.c
+++ b/ext/cog/gstcogorc-dist.c
@@ -79,6 +79,19 @@ typedef union
#endif
#endif
+#ifndef ORC_INTERNAL
+#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+#define ORC_INTERNAL __hidden
+#elif defined (__GNUC__)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#else
+#define ORC_INTERNAL
+#endif
+#endif
+
+
#ifndef DISABLE_ORC
#include <orc/orc.h>
#endif
diff --git a/ext/cog/gstcogorc-dist.h b/ext/cog/gstcogorc-dist.h
index e7bac246..ac8263a5 100644
--- a/ext/cog/gstcogorc-dist.h
+++ b/ext/cog/gstcogorc-dist.h
@@ -67,6 +67,19 @@ typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16
#define ORC_RESTRICT
#endif
#endif
+
+#ifndef ORC_INTERNAL
+#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+#define ORC_INTERNAL __hidden
+#elif defined (__GNUC__)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#else
+#define ORC_INTERNAL
+#endif
+#endif
+
void cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n);
void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n);
diff --git a/ext/curl/Makefile.in b/ext/curl/Makefile.in
index 21228d94..e05625a0 100644
--- a/ext/curl/Makefile.in
+++ b/ext/curl/Makefile.in
@@ -259,6 +259,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -292,6 +294,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/curl/gstcurltlssink.c b/ext/curl/gstcurltlssink.c
index f18ead94..8f27fc3c 100644
--- a/ext/curl/gstcurltlssink.c
+++ b/ext/curl/gstcurltlssink.c
@@ -236,9 +236,8 @@ gst_curl_tls_sink_set_options_unlocked (GstCurlBaseSink * bcsink)
{
GstCurlTlsSink *sink = GST_CURL_TLS_SINK (bcsink);
- if (!g_str_has_prefix (bcsink->url, "http")) {
- curl_easy_setopt (bcsink->curl, CURLOPT_USE_SSL, 1L);
- }
+ if (!g_str_has_prefix (bcsink->url, "http"))
+ curl_easy_setopt (bcsink->curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);
/* crypto engine */
if ((g_strcmp0 (sink->crypto_engine, "auto") == 0) ||
diff --git a/ext/dc1394/Makefile.in b/ext/dc1394/Makefile.in
index b527d69d..380ad5ff 100644
--- a/ext/dc1394/Makefile.in
+++ b/ext/dc1394/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/dirac/Makefile.in b/ext/dirac/Makefile.in
index b2227ec3..7cc79256 100644
--- a/ext/dirac/Makefile.in
+++ b/ext/dirac/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/directfb/Makefile.in b/ext/directfb/Makefile.in
index 069bce59..acfa9531 100644
--- a/ext/directfb/Makefile.in
+++ b/ext/directfb/Makefile.in
@@ -262,6 +262,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -295,6 +297,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/dts/Makefile.in b/ext/dts/Makefile.in
index a0880144..44e595e7 100644
--- a/ext/dts/Makefile.in
+++ b/ext/dts/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/eglgles/Makefile.am b/ext/eglgles/Makefile.am
index 2573247a..89c18681 100644
--- a/ext/eglgles/Makefile.am
+++ b/ext/eglgles/Makefile.am
@@ -1,19 +1,18 @@
plugin_LTLIBRARIES = libgsteglglessink.la
-libgsteglglessink_la_SOURCES = gsteglglessink.c video_platform_wrapper.c
+libgsteglglessink_la_SOURCES = gsteglglessink.c video_platform_wrapper.c gstqueuearray.c gstdataqueue.c
libgsteglglessink_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
- $(EGLGLES_CFLAGS) \
- $(X11_CFLAGS)
+ $(EGL_CFLAGS) \
+ $(EGLGLES_CFLAGS)
libgsteglglessink_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) \
- $(GST_PLUGINS_BASE_LIBS) $(EGLGLES_LIBS) $(X11_LIBS) \
- -lgstvideo-$(GST_MAJORMINOR) \
- -lgstinterfaces-$(GST_MAJORMINOR)
+ $(GST_PLUGINS_BASE_LIBS) $(EGL_LIBS) $(EGLGLES_LIBS) \
+ -lgstvideo-$(GST_API_VERSION)
libgsteglglessink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgsteglglessink_la_LIBTOOLFLAGS = --tag=disable-static
+libgsteglglessink_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gsteglglessink.h video_platform_wrapper.h
+noinst_HEADERS = gsteglglessink.h video_platform_wrapper.h gstqueuearray.h gstdataqueue.h
diff --git a/ext/eglgles/Makefile.in b/ext/eglgles/Makefile.in
index e083ec32..599e0eab 100644
--- a/ext/eglgles/Makefile.in
+++ b/ext/eglgles/Makefile.in
@@ -132,7 +132,9 @@ libgsteglglessink_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libgsteglglessink_la_OBJECTS = \
libgsteglglessink_la-gsteglglessink.lo \
- libgsteglglessink_la-video_platform_wrapper.lo
+ libgsteglglessink_la-video_platform_wrapper.lo \
+ libgsteglglessink_la-gstqueuearray.lo \
+ libgsteglglessink_la-gstdataqueue.lo
libgsteglglessink_la_OBJECTS = $(am_libgsteglglessink_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -255,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
@@ -615,21 +621,20 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
plugin_LTLIBRARIES = libgsteglglessink.la
-libgsteglglessink_la_SOURCES = gsteglglessink.c video_platform_wrapper.c
+libgsteglglessink_la_SOURCES = gsteglglessink.c video_platform_wrapper.c gstqueuearray.c gstdataqueue.c
libgsteglglessink_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
- $(EGLGLES_CFLAGS) \
- $(X11_CFLAGS)
+ $(EGL_CFLAGS) \
+ $(EGLGLES_CFLAGS)
libgsteglglessink_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) \
- $(GST_PLUGINS_BASE_LIBS) $(EGLGLES_LIBS) $(X11_LIBS) \
- -lgstvideo-$(GST_MAJORMINOR) \
- -lgstinterfaces-$(GST_MAJORMINOR)
+ $(GST_PLUGINS_BASE_LIBS) $(EGL_LIBS) $(EGLGLES_LIBS) \
+ -lgstvideo-$(GST_API_VERSION)
libgsteglglessink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgsteglglessink_la_LIBTOOLFLAGS = --tag=disable-static
-noinst_HEADERS = gsteglglessink.h video_platform_wrapper.h
+libgsteglglessink_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+noinst_HEADERS = gsteglglessink.h video_platform_wrapper.h gstqueuearray.h gstdataqueue.h
all: all-am
.SUFFIXES:
@@ -705,7 +710,9 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsteglglessink_la-gstdataqueue.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsteglglessink_la-gsteglglessink.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsteglglessink_la-gstqueuearray.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsteglglessink_la-video_platform_wrapper.Plo@am__quote@
.c.o:
@@ -743,6 +750,20 @@ libgsteglglessink_la-video_platform_wrapper.lo: video_platform_wrapper.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsteglglessink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsteglglessink_la_CFLAGS) $(CFLAGS) -c -o libgsteglglessink_la-video_platform_wrapper.lo `test -f 'video_platform_wrapper.c' || echo '$(srcdir)/'`video_platform_wrapper.c
+libgsteglglessink_la-gstqueuearray.lo: gstqueuearray.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsteglglessink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsteglglessink_la_CFLAGS) $(CFLAGS) -MT libgsteglglessink_la-gstqueuearray.lo -MD -MP -MF $(DEPDIR)/libgsteglglessink_la-gstqueuearray.Tpo -c -o libgsteglglessink_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsteglglessink_la-gstqueuearray.Tpo $(DEPDIR)/libgsteglglessink_la-gstqueuearray.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstqueuearray.c' object='libgsteglglessink_la-gstqueuearray.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsteglglessink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsteglglessink_la_CFLAGS) $(CFLAGS) -c -o libgsteglglessink_la-gstqueuearray.lo `test -f 'gstqueuearray.c' || echo '$(srcdir)/'`gstqueuearray.c
+
+libgsteglglessink_la-gstdataqueue.lo: gstdataqueue.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsteglglessink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsteglglessink_la_CFLAGS) $(CFLAGS) -MT libgsteglglessink_la-gstdataqueue.lo -MD -MP -MF $(DEPDIR)/libgsteglglessink_la-gstdataqueue.Tpo -c -o libgsteglglessink_la-gstdataqueue.lo `test -f 'gstdataqueue.c' || echo '$(srcdir)/'`gstdataqueue.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsteglglessink_la-gstdataqueue.Tpo $(DEPDIR)/libgsteglglessink_la-gstdataqueue.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstdataqueue.c' object='libgsteglglessink_la-gstdataqueue.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsteglglessink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsteglglessink_la_CFLAGS) $(CFLAGS) -c -o libgsteglglessink_la-gstdataqueue.lo `test -f 'gstdataqueue.c' || echo '$(srcdir)/'`gstdataqueue.c
+
mostlyclean-libtool:
-rm -f *.lo
diff --git a/ext/eglgles/gstdataqueue.c b/ext/eglgles/gstdataqueue.c
new file mode 100644
index 00000000..05bf3100
--- /dev/null
+++ b/ext/eglgles/gstdataqueue.c
@@ -0,0 +1,687 @@
+/* GStreamer
+ * Copyright (C) 2006 Edward Hervey <edward@fluendo.com>
+ *
+ * gstdataqueue.c:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:gstdataqueue
+ * @short_description: Threadsafe queueing object
+ *
+ * #EGLGstDataQueue is an object that handles threadsafe queueing of objects. It
+ * also provides size-related functionality. This object should be used for
+ * any #GstElement that wishes to provide some sort of queueing functionality.
+ */
+
+#include <gst/gst.h>
+#include <string.h>
+
+#include "gstdataqueue.h"
+#include "gstqueuearray.h"
+
+GST_DEBUG_CATEGORY_STATIC (data_queue_debug);
+#define GST_CAT_DEFAULT (data_queue_debug)
+GST_DEBUG_CATEGORY_STATIC (data_queue_dataflow);
+
+
+/* Queue signals and args */
+enum
+{
+ SIGNAL_EMPTY,
+ SIGNAL_FULL,
+ LAST_SIGNAL
+};
+
+enum
+{
+ PROP_0,
+ PROP_CUR_LEVEL_VISIBLE,
+ PROP_CUR_LEVEL_BYTES,
+ PROP_CUR_LEVEL_TIME
+ /* FILL ME */
+};
+
+struct _EGLGstDataQueuePrivate
+{
+ /* the array of data we're keeping our grubby hands on */
+ EGLGstQueueArray *queue;
+
+ EGLGstDataQueueSize cur_level; /* size of the queue */
+ EGLGstDataQueueCheckFullFunction checkfull; /* Callback to check if the queue is full */
+ gpointer *checkdata;
+
+ GMutex qlock; /* lock for queue (vs object lock) */
+ gboolean waiting_add;
+ GCond item_add; /* signals buffers now available for reading */
+ gboolean waiting_del;
+ GCond item_del; /* signals space now available for writing */
+ gboolean flushing; /* indicates whether conditions where signalled because
+ * of external flushing */
+ EGLGstDataQueueFullCallback fullcallback;
+ EGLGstDataQueueEmptyCallback emptycallback;
+};
+
+#define EGL_GST_DATA_QUEUE_MUTEX_LOCK(q) G_STMT_START { \
+ GST_CAT_TRACE (data_queue_dataflow, \
+ "locking qlock from thread %p", \
+ g_thread_self ()); \
+ g_mutex_lock (&q->priv->qlock); \
+ GST_CAT_TRACE (data_queue_dataflow, \
+ "locked qlock from thread %p", \
+ g_thread_self ()); \
+} G_STMT_END
+
+#define EGL_GST_DATA_QUEUE_MUTEX_LOCK_CHECK(q, label) G_STMT_START { \
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (q); \
+ if (q->priv->flushing) \
+ goto label; \
+ } G_STMT_END
+
+#define EGL_GST_DATA_QUEUE_MUTEX_UNLOCK(q) G_STMT_START { \
+ GST_CAT_TRACE (data_queue_dataflow, \
+ "unlocking qlock from thread %p", \
+ g_thread_self ()); \
+ g_mutex_unlock (&q->priv->qlock); \
+} G_STMT_END
+
+#define STATUS(q, msg) \
+ GST_CAT_LOG (data_queue_dataflow, \
+ "queue:%p " msg ": %u visible items, %u " \
+ "bytes, %"G_GUINT64_FORMAT \
+ " ns, %u elements", \
+ queue, \
+ q->priv->cur_level.visible, \
+ q->priv->cur_level.bytes, \
+ q->priv->cur_level.time, \
+ egl_gst_queue_array_get_length (q->priv->queue))
+
+static void egl_gst_data_queue_finalize (GObject * object);
+
+static void egl_gst_data_queue_set_property (GObject * object,
+ guint prop_id, const GValue * value, GParamSpec * pspec);
+static void egl_gst_data_queue_get_property (GObject * object,
+ guint prop_id, GValue * value, GParamSpec * pspec);
+
+static guint egl_gst_data_queue_signals[LAST_SIGNAL] = { 0 };
+
+#define _do_init \
+{ \
+ GST_DEBUG_CATEGORY_INIT (data_queue_debug, "egldataqueue", 0, \
+ "data queue object"); \
+ GST_DEBUG_CATEGORY_INIT (data_queue_dataflow, "egldata_queue_dataflow", 0, \
+ "dataflow inside the data queue object"); \
+}
+
+#define parent_class egl_gst_data_queue_parent_class
+G_DEFINE_TYPE_WITH_CODE (EGLGstDataQueue, egl_gst_data_queue, G_TYPE_OBJECT, _do_init);
+
+static void
+egl_gst_data_queue_class_init (EGLGstDataQueueClass * klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (EGLGstDataQueuePrivate));
+
+ gobject_class->set_property = egl_gst_data_queue_set_property;
+ gobject_class->get_property = egl_gst_data_queue_get_property;
+
+ /* signals */
+ /**
+ * EGLGstDataQueue::empty:
+ * @queue: the queue instance
+ *
+ * Reports that the queue became empty (empty).
+ * A queue is empty if the total amount of visible items inside it (num-visible, time,
+ * size) is lower than the boundary values which can be set through the GObject
+ * properties.
+ */
+ egl_gst_data_queue_signals[SIGNAL_EMPTY] =
+ g_signal_new ("empty", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (EGLGstDataQueueClass, empty), NULL, NULL,
+ g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
+ /**
+ * EGLGstDataQueue::full:
+ * @queue: the queue instance
+ *
+ * Reports that the queue became full (full).
+ * A queue is full if the total amount of data inside it (num-visible, time,
+ * size) is higher than the boundary values which can be set through the GObject
+ * properties.
+ */
+ egl_gst_data_queue_signals[SIGNAL_FULL] =
+ g_signal_new ("full", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (EGLGstDataQueueClass, full), NULL, NULL,
+ g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
+ /* properties */
+ g_object_class_install_property (gobject_class, PROP_CUR_LEVEL_BYTES,
+ g_param_spec_uint ("current-level-bytes", "Current level (kB)",
+ "Current amount of data in the queue (bytes)",
+ 0, G_MAXUINT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_CUR_LEVEL_VISIBLE,
+ g_param_spec_uint ("current-level-visible",
+ "Current level (visible items)",
+ "Current number of visible items in the queue", 0, G_MAXUINT, 0,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_CUR_LEVEL_TIME,
+ g_param_spec_uint64 ("current-level-time", "Current level (ns)",
+ "Current amount of data in the queue (in ns)", 0, G_MAXUINT64, 0,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
+ gobject_class->finalize = egl_gst_data_queue_finalize;
+}
+
+static void
+egl_gst_data_queue_init (EGLGstDataQueue * queue)
+{
+ queue->priv =
+ G_TYPE_INSTANCE_GET_PRIVATE (queue, EGL_GST_TYPE_DATA_QUEUE,
+ EGLGstDataQueuePrivate);
+
+ queue->priv->cur_level.visible = 0; /* no content */
+ queue->priv->cur_level.bytes = 0; /* no content */
+ queue->priv->cur_level.time = 0; /* no content */
+
+ queue->priv->checkfull = NULL;
+
+ g_mutex_init (&queue->priv->qlock);
+ g_cond_init (&queue->priv->item_add);
+ g_cond_init (&queue->priv->item_del);
+ queue->priv->queue = egl_gst_queue_array_new (50);
+
+ GST_DEBUG ("initialized queue's not_empty & not_full conditions");
+}
+
+/**
+ * egl_gst_data_queue_new:
+ * @checkfull: the callback used to tell if the element considers the queue full
+ * or not.
+ * @fullcallback: the callback which will be called when the queue is considered full.
+ * @emptycallback: the callback which will be called when the queue is considered empty.
+ * @checkdata: a #gpointer that will be given in the @checkfull callback.
+ *
+ * Creates a new #EGLGstDataQueue. The difference with @egl_gst_data_queue_new is that it will
+ * not emit the 'full' and 'empty' signals, but instead calling directly @fullcallback
+ * or @emptycallback.
+ *
+ * Returns: a new #EGLGstDataQueue.
+ *
+ * Since: 1.2.0
+ */
+EGLGstDataQueue *
+egl_gst_data_queue_new (EGLGstDataQueueCheckFullFunction checkfull,
+ EGLGstDataQueueFullCallback fullcallback,
+ EGLGstDataQueueEmptyCallback emptycallback, gpointer checkdata)
+{
+ EGLGstDataQueue *ret;
+
+ g_return_val_if_fail (checkfull != NULL, NULL);
+
+ ret = g_object_newv (EGL_GST_TYPE_DATA_QUEUE, 0, NULL);
+ ret->priv->checkfull = checkfull;
+ ret->priv->checkdata = checkdata;
+ ret->priv->fullcallback = fullcallback;
+ ret->priv->emptycallback = emptycallback;
+
+ return ret;
+}
+
+static void
+egl_gst_data_queue_cleanup (EGLGstDataQueue * queue)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ while (!egl_gst_queue_array_is_empty (priv->queue)) {
+ EGLGstDataQueueItem *item = egl_gst_queue_array_pop_head (priv->queue);
+
+ /* Just call the destroy notify on the item */
+ item->destroy (item);
+ }
+ priv->cur_level.visible = 0;
+ priv->cur_level.bytes = 0;
+ priv->cur_level.time = 0;
+}
+
+/* called only once, as opposed to dispose */
+static void
+egl_gst_data_queue_finalize (GObject * object)
+{
+ EGLGstDataQueue *queue = EGL_GST_DATA_QUEUE (object);
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ GST_DEBUG ("finalizing queue");
+
+ egl_gst_data_queue_cleanup (queue);
+ egl_gst_queue_array_free (priv->queue);
+
+ GST_DEBUG ("free mutex");
+ g_mutex_clear (&priv->qlock);
+ GST_DEBUG ("done free mutex");
+
+ g_cond_clear (&priv->item_add);
+ g_cond_clear (&priv->item_del);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static inline void
+egl_gst_data_queue_locked_flush (EGLGstDataQueue * queue)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ STATUS (queue, "before flushing");
+ egl_gst_data_queue_cleanup (queue);
+ STATUS (queue, "after flushing");
+ /* we deleted something... */
+ if (priv->waiting_del)
+ g_cond_signal (&priv->item_del);
+}
+
+static inline gboolean
+egl_gst_data_queue_locked_is_empty (EGLGstDataQueue * queue)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ return (egl_gst_queue_array_get_length (priv->queue) == 0);
+}
+
+static inline gboolean
+egl_gst_data_queue_locked_is_full (EGLGstDataQueue * queue)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ return priv->checkfull (queue, priv->cur_level.visible,
+ priv->cur_level.bytes, priv->cur_level.time, priv->checkdata);
+}
+
+/**
+ * egl_gst_data_queue_flush:
+ * @queue: a #EGLGstDataQueue.
+ *
+ * Flushes all the contents of the @queue. Any call to #egl_gst_data_queue_push and
+ * #egl_gst_data_queue_pop will be released.
+ * MT safe.
+ *
+ * Since: 1.2.0
+ */
+void
+egl_gst_data_queue_flush (EGLGstDataQueue * queue)
+{
+ GST_DEBUG ("queue:%p", queue);
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (queue);
+ egl_gst_data_queue_locked_flush (queue);
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+}
+
+/**
+ * egl_gst_data_queue_is_empty:
+ * @queue: a #EGLGstDataQueue.
+ *
+ * Queries if there are any items in the @queue.
+ * MT safe.
+ *
+ * Returns: #TRUE if @queue is empty.
+ *
+ * Since: 1.2.0
+ */
+gboolean
+egl_gst_data_queue_is_empty (EGLGstDataQueue * queue)
+{
+ gboolean res;
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (queue);
+ res = egl_gst_data_queue_locked_is_empty (queue);
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+
+ return res;
+}
+
+/**
+ * egl_gst_data_queue_is_full:
+ * @queue: a #EGLGstDataQueue.
+ *
+ * Queries if @queue is full. This check will be done using the
+ * #EGLGstDataQueueCheckFullFunction registered with @queue.
+ * MT safe.
+ *
+ * Returns: #TRUE if @queue is full.
+ *
+ * Since: 1.2.0
+ */
+gboolean
+egl_gst_data_queue_is_full (EGLGstDataQueue * queue)
+{
+ gboolean res;
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (queue);
+ res = egl_gst_data_queue_locked_is_full (queue);
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+
+ return res;
+}
+
+/**
+ * egl_gst_data_queue_set_flushing:
+ * @queue: a #EGLGstDataQueue.
+ * @flushing: a #gboolean stating if the queue will be flushing or not.
+ *
+ * Sets the queue to flushing state if @flushing is #TRUE. If set to flushing
+ * state, any incoming data on the @queue will be discarded. Any call currently
+ * blocking on #egl_gst_data_queue_push or #egl_gst_data_queue_pop will return straight
+ * away with a return value of #FALSE. While the @queue is in flushing state,
+ * all calls to those two functions will return #FALSE.
+ *
+ * MT Safe.
+ *
+ * Since: 1.2.0
+ */
+void
+egl_gst_data_queue_set_flushing (EGLGstDataQueue * queue, gboolean flushing)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ GST_DEBUG ("queue:%p , flushing:%d", queue, flushing);
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (queue);
+ priv->flushing = flushing;
+ if (flushing) {
+ /* release push/pop functions */
+ if (priv->waiting_add)
+ g_cond_signal (&priv->item_add);
+ if (priv->waiting_del)
+ g_cond_signal (&priv->item_del);
+ }
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+}
+
+/**
+ * egl_gst_data_queue_push:
+ * @queue: a #EGLGstDataQueue.
+ * @item: a #EGLGstDataQueueItem.
+ *
+ * Pushes a #EGLGstDataQueueItem (or a structure that begins with the same fields)
+ * on the @queue. If the @queue is full, the call will block until space is
+ * available, OR the @queue is set to flushing state.
+ * MT safe.
+ *
+ * Note that this function has slightly different semantics than gst_pad_push()
+ * and gst_pad_push_event(): this function only takes ownership of @item and
+ * the #GstMiniObject contained in @item if the push was successful. If FALSE
+ * is returned, the caller is responsible for freeing @item and its contents.
+ *
+ * Returns: #TRUE if the @item was successfully pushed on the @queue.
+ *
+ * Since: 1.2.0
+ */
+gboolean
+egl_gst_data_queue_push (EGLGstDataQueue * queue, EGLGstDataQueueItem * item)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ g_return_val_if_fail (EGL_GST_IS_DATA_QUEUE (queue), FALSE);
+ g_return_val_if_fail (item != NULL, FALSE);
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
+
+ STATUS (queue, "before pushing");
+
+ /* We ALWAYS need to check for queue fillness */
+ if (egl_gst_data_queue_locked_is_full (queue)) {
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+ if (G_LIKELY (priv->fullcallback))
+ priv->fullcallback (queue, priv->checkdata);
+ else
+ g_signal_emit (queue, egl_gst_data_queue_signals[SIGNAL_FULL], 0);
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
+
+ /* signal might have removed some items */
+ while (egl_gst_data_queue_locked_is_full (queue)) {
+ priv->waiting_del = TRUE;
+ g_cond_wait (&priv->item_del, &priv->qlock);
+ priv->waiting_del = FALSE;
+ if (priv->flushing)
+ goto flushing;
+ }
+ }
+
+ egl_gst_queue_array_push_tail (priv->queue, item);
+
+ if (item->visible)
+ priv->cur_level.visible++;
+ priv->cur_level.bytes += item->size;
+ priv->cur_level.time += item->duration;
+
+ STATUS (queue, "after pushing");
+ if (priv->waiting_add)
+ g_cond_signal (&priv->item_add);
+
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+
+ return TRUE;
+
+ /* ERRORS */
+flushing:
+ {
+ GST_DEBUG ("queue:%p, we are flushing", queue);
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+ return FALSE;
+ }
+}
+
+/**
+ * egl_gst_data_queue_pop:
+ * @queue: a #EGLGstDataQueue.
+ * @item: pointer to store the returned #EGLGstDataQueueItem.
+ *
+ * Retrieves the first @item available on the @queue. If the queue is currently
+ * empty, the call will block until at least one item is available, OR the
+ * @queue is set to the flushing state.
+ * MT safe.
+ *
+ * Returns: #TRUE if an @item was successfully retrieved from the @queue.
+ *
+ * Since: 1.2.0
+ */
+gboolean
+egl_gst_data_queue_pop (EGLGstDataQueue * queue, EGLGstDataQueueItem ** item)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ g_return_val_if_fail (EGL_GST_IS_DATA_QUEUE (queue), FALSE);
+ g_return_val_if_fail (item != NULL, FALSE);
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
+
+ STATUS (queue, "before popping");
+
+ if (egl_gst_data_queue_locked_is_empty (queue)) {
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+ if (G_LIKELY (priv->emptycallback))
+ priv->emptycallback (queue, priv->checkdata);
+ else
+ g_signal_emit (queue, egl_gst_data_queue_signals[SIGNAL_EMPTY], 0);
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK_CHECK (queue, flushing);
+
+ while (egl_gst_data_queue_locked_is_empty (queue)) {
+ priv->waiting_add = TRUE;
+ g_cond_wait (&priv->item_add, &priv->qlock);
+ priv->waiting_add = FALSE;
+ if (priv->flushing)
+ goto flushing;
+ }
+ }
+
+ /* Get the item from the GQueue */
+ *item = egl_gst_queue_array_pop_head (priv->queue);
+
+ /* update current level counter */
+ if ((*item)->visible)
+ priv->cur_level.visible--;
+ priv->cur_level.bytes -= (*item)->size;
+ priv->cur_level.time -= (*item)->duration;
+
+ STATUS (queue, "after popping");
+ if (priv->waiting_del)
+ g_cond_signal (&priv->item_del);
+
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+
+ return TRUE;
+
+ /* ERRORS */
+flushing:
+ {
+ GST_DEBUG ("queue:%p, we are flushing", queue);
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+ return FALSE;
+ }
+}
+
+static gint
+is_of_type (gconstpointer a, gconstpointer b)
+{
+ return !G_TYPE_CHECK_INSTANCE_TYPE (a, GPOINTER_TO_SIZE (b));
+}
+
+/**
+ * egl_gst_data_queue_drop_head:
+ * @queue: The #EGLGstDataQueue to drop an item from.
+ * @type: The #GType of the item to drop.
+ *
+ * Pop and unref the head-most #GstMiniObject with the given #GType.
+ *
+ * Returns: TRUE if an element was removed.
+ *
+ * Since: 1.2.0
+ */
+gboolean
+egl_gst_data_queue_drop_head (EGLGstDataQueue * queue, GType type)
+{
+ gboolean res = FALSE;
+ EGLGstDataQueueItem *leak = NULL;
+ guint idx;
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ g_return_val_if_fail (EGL_GST_IS_DATA_QUEUE (queue), FALSE);
+
+ GST_DEBUG ("queue:%p", queue);
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (queue);
+ idx = egl_gst_queue_array_find (priv->queue, is_of_type, GSIZE_TO_POINTER (type));
+
+ if (idx == -1)
+ goto done;
+
+ leak = egl_gst_queue_array_drop_element (priv->queue, idx);
+
+ if (leak->visible)
+ priv->cur_level.visible--;
+ priv->cur_level.bytes -= leak->size;
+ priv->cur_level.time -= leak->duration;
+
+ leak->destroy (leak);
+
+ res = TRUE;
+
+done:
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+
+ GST_DEBUG ("queue:%p , res:%d", queue, res);
+
+ return res;
+}
+
+/**
+ * egl_gst_data_queue_limits_changed:
+ * @queue: The #EGLGstDataQueue
+ *
+ * Inform the queue that the limits for the fullness check have changed and that
+ * any blocking egl_gst_data_queue_push() should be unblocked to recheck the limts.
+ *
+ * Since: 1.2.0
+ */
+void
+egl_gst_data_queue_limits_changed (EGLGstDataQueue * queue)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ g_return_if_fail (EGL_GST_IS_DATA_QUEUE (queue));
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (queue);
+ if (priv->waiting_del) {
+ GST_DEBUG ("signal del");
+ g_cond_signal (&priv->item_del);
+ }
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+}
+
+/**
+ * egl_gst_data_queue_get_level:
+ * @queue: The #EGLGstDataQueue
+ * @level: the location to store the result
+ *
+ * Get the current level of the queue.
+ *
+ * Since: 1.2.0
+ */
+void
+egl_gst_data_queue_get_level (EGLGstDataQueue * queue, EGLGstDataQueueSize * level)
+{
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ memcpy (level, (&priv->cur_level), sizeof (EGLGstDataQueueSize));
+}
+
+static void
+egl_gst_data_queue_set_property (GObject * object,
+ guint prop_id, const GValue * value, GParamSpec * pspec)
+{
+ switch (prop_id) {
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+egl_gst_data_queue_get_property (GObject * object,
+ guint prop_id, GValue * value, GParamSpec * pspec)
+{
+ EGLGstDataQueue *queue = EGL_GST_DATA_QUEUE (object);
+ EGLGstDataQueuePrivate *priv = queue->priv;
+
+ EGL_GST_DATA_QUEUE_MUTEX_LOCK (queue);
+
+ switch (prop_id) {
+ case PROP_CUR_LEVEL_BYTES:
+ g_value_set_uint (value, priv->cur_level.bytes);
+ break;
+ case PROP_CUR_LEVEL_VISIBLE:
+ g_value_set_uint (value, priv->cur_level.visible);
+ break;
+ case PROP_CUR_LEVEL_TIME:
+ g_value_set_uint64 (value, priv->cur_level.time);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+
+ EGL_GST_DATA_QUEUE_MUTEX_UNLOCK (queue);
+}
diff --git a/ext/eglgles/gstdataqueue.h b/ext/eglgles/gstdataqueue.h
new file mode 100644
index 00000000..34eeb625
--- /dev/null
+++ b/ext/eglgles/gstdataqueue.h
@@ -0,0 +1,163 @@
+/* GStreamer
+ * Copyright (C) 2006 Edward Hervey <edward@fluendo.com>
+ *
+ * gstdataqueue.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef __EGL_GST_DATA_QUEUE_H__
+#define __EGL_GST_DATA_QUEUE_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+#define EGL_GST_TYPE_DATA_QUEUE \
+ (egl_gst_data_queue_get_type())
+#define EGL_GST_DATA_QUEUE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),EGL_GST_TYPE_DATA_QUEUE,EGLGstDataQueue))
+#define EGL_GST_DATA_QUEUE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),EGL_GST_TYPE_DATA_QUEUE,EGLGstDataQueueClass))
+#define EGL_GST_IS_DATA_QUEUE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),EGL_GST_TYPE_DATA_QUEUE))
+#define EGL_GST_IS_DATA_QUEUE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass),EGL_GST_TYPE_DATA_QUEUE))
+typedef struct _EGLGstDataQueue EGLGstDataQueue;
+typedef struct _EGLGstDataQueueClass EGLGstDataQueueClass;
+typedef struct _EGLGstDataQueueSize EGLGstDataQueueSize;
+typedef struct _EGLGstDataQueueItem EGLGstDataQueueItem;
+typedef struct _EGLGstDataQueuePrivate EGLGstDataQueuePrivate;
+
+/**
+ * EGLGstDataQueueItem:
+ * @object: the #GstMiniObject to queue.
+ * @size: the size in bytes of the miniobject.
+ * @duration: the duration in #GstClockTime of the miniobject. Can not be
+ * #GST_CLOCK_TIME_NONE.
+ * @visible: #TRUE if @object should be considered as a visible object.
+ * @destroy: The #GDestroyNotify function to use to free the #EGLGstDataQueueItem.
+ * This function should also drop the reference to @object the owner of the
+ * #EGLGstDataQueueItem is assumed to hold.
+ *
+ * Structure used by #EGLGstDataQueue. You can supply a different structure, as
+ * long as the top of the structure is identical to this structure.
+ */
+
+struct _EGLGstDataQueueItem
+{
+ GstMiniObject *object;
+ guint size;
+ guint64 duration;
+ gboolean visible;
+
+ /* user supplied destroy function */
+ GDestroyNotify destroy;
+
+ /* < private > */
+ gpointer _gst_reserved[GST_PADDING];
+};
+
+/**
+ * EGLGstDataQueueSize:
+ * @visible: number of buffers
+ * @bytes: number of bytes
+ * @time: amount of time
+ *
+ * Structure describing the size of a queue.
+ */
+struct _EGLGstDataQueueSize
+{
+ guint visible;
+ guint bytes;
+ guint64 time;
+};
+
+/**
+ * EGLGstDataQueueCheckFullFunction:
+ * @queue: a #EGLGstDataQueue.
+ * @visible: The number of visible items currently in the queue.
+ * @bytes: The amount of bytes currently in the queue.
+ * @time: The accumulated duration of the items currently in the queue.
+ * @checkdata: The #gpointer registered when the #EGLGstDataQueue was created.
+ *
+ * The prototype of the function used to inform the queue that it should be
+ * considered as full.
+ *
+ * Returns: #TRUE if the queue should be considered full.
+ */
+typedef gboolean (*EGLGstDataQueueCheckFullFunction) (EGLGstDataQueue * queue,
+ guint visible, guint bytes, guint64 time, gpointer checkdata);
+
+typedef void (*EGLGstDataQueueFullCallback) (EGLGstDataQueue * queue, gpointer checkdata);
+typedef void (*EGLGstDataQueueEmptyCallback) (EGLGstDataQueue * queue, gpointer checkdata);
+
+/**
+ * EGLGstDataQueue:
+ * @object: the parent structure
+ *
+ * Opaque #EGLGstDataQueue structure.
+ */
+struct _EGLGstDataQueue
+{
+ GObject object;
+
+ /*< private >*/
+ EGLGstDataQueuePrivate *priv;
+ gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _EGLGstDataQueueClass
+{
+ GObjectClass parent_class;
+
+ /* signals */
+ void (*empty) (EGLGstDataQueue * queue);
+ void (*full) (EGLGstDataQueue * queue);
+
+ gpointer _gst_reserved[GST_PADDING];
+};
+
+G_GNUC_INTERNAL
+GType egl_gst_data_queue_get_type (void);
+
+G_GNUC_INTERNAL
+EGLGstDataQueue * egl_gst_data_queue_new (EGLGstDataQueueCheckFullFunction checkfull,
+ EGLGstDataQueueFullCallback fullcallback,
+ EGLGstDataQueueEmptyCallback emptycallback,
+ gpointer checkdata) G_GNUC_MALLOC;
+G_GNUC_INTERNAL
+gboolean egl_gst_data_queue_push (EGLGstDataQueue * queue, EGLGstDataQueueItem * item);
+G_GNUC_INTERNAL
+gboolean egl_gst_data_queue_pop (EGLGstDataQueue * queue, EGLGstDataQueueItem ** item);
+G_GNUC_INTERNAL
+void egl_gst_data_queue_flush (EGLGstDataQueue * queue);
+G_GNUC_INTERNAL
+void egl_gst_data_queue_set_flushing (EGLGstDataQueue * queue, gboolean flushing);
+G_GNUC_INTERNAL
+gboolean egl_gst_data_queue_drop_head (EGLGstDataQueue * queue, GType type);
+G_GNUC_INTERNAL
+gboolean egl_gst_data_queue_is_full (EGLGstDataQueue * queue);
+G_GNUC_INTERNAL
+gboolean egl_gst_data_queue_is_empty (EGLGstDataQueue * queue);
+G_GNUC_INTERNAL
+void egl_gst_data_queue_get_level (EGLGstDataQueue * queue, EGLGstDataQueueSize *level);
+G_GNUC_INTERNAL
+void egl_gst_data_queue_limits_changed (EGLGstDataQueue * queue);
+
+G_END_DECLS
+
+#endif /* __EGL_GST_DATA_QUEUE_H__ */
diff --git a/ext/eglgles/gsteglglessink.c b/ext/eglgles/gsteglglessink.c
index aa87d738..d1fc19d1 100644
--- a/ext/eglgles/gsteglglessink.c
+++ b/ext/eglgles/gsteglglessink.c
@@ -115,14 +115,20 @@
#include <string.h>
#include <gst/gst.h>
#include <gst/video/video.h>
+#include <gst/video/video-frame.h>
#include <gst/video/gstvideosink.h>
-#include <gst/interfaces/xoverlay.h>
+#include <gst/video/gstvideometa.h>
+#include <gst/video/videooverlay.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
+#ifdef USE_EGL_RPI
+#include <bcm_host.h>
+#endif
+
#include "video_platform_wrapper.h"
#include "gsteglglessink.h"
@@ -184,9 +190,12 @@ static const char *frag_COPY_prog = {
"precision mediump float;"
"varying vec2 opos;"
"uniform sampler2D tex;"
+ "uniform vec2 tex_scale0;"
+ "uniform vec2 tex_scale1;"
+ "uniform vec2 tex_scale2;"
"void main(void)"
"{"
- " vec4 t = texture2D(tex, opos);"
+ " vec4 t = texture2D(tex, opos / tex_scale0);"
" gl_FragColor = vec4(t.rgb, 1.0);"
"}"
};
@@ -196,9 +205,12 @@ static const char *frag_REORDER_prog = {
"precision mediump float;"
"varying vec2 opos;"
"uniform sampler2D tex;"
+ "uniform vec2 tex_scale0;"
+ "uniform vec2 tex_scale1;"
+ "uniform vec2 tex_scale2;"
"void main(void)"
"{"
- " vec4 t = texture2D(tex, opos);"
+ " vec4 t = texture2D(tex, opos / tex_scale0);"
" gl_FragColor = vec4(t.%c, t.%c, t.%c, 1.0);"
"}"
};
@@ -210,6 +222,9 @@ static const char *frag_AYUV_prog = {
"precision mediump float;"
"varying vec2 opos;"
"uniform sampler2D tex;"
+ "uniform vec2 tex_scale0;"
+ "uniform vec2 tex_scale1;"
+ "uniform vec2 tex_scale2;"
"const vec3 offset = vec3(-0.0625, -0.5, -0.5);"
"const vec3 rcoeff = vec3(1.164, 0.000, 1.596);"
"const vec3 gcoeff = vec3(1.164,-0.391,-0.813);"
@@ -217,29 +232,7 @@ static const char *frag_AYUV_prog = {
"void main(void) {"
" float r,g,b;"
" vec3 yuv;"
- " yuv = texture2D(tex,opos).gba;"
- " yuv += offset;"
- " r = dot(yuv, rcoeff);"
- " g = dot(yuv, gcoeff);"
- " b = dot(yuv, bcoeff);"
- " gl_FragColor=vec4(r,g,b,1.0);"
- "}"
-};
-
-/** YUY2/YVYU/UYVY to RGB conversion */
-static const char *frag_YUY2_YVYU_UYVY_prog = {
- "precision mediump float;"
- "varying vec2 opos;"
- "uniform sampler2D Ytex, UVtex;"
- "const vec3 offset = vec3(-0.0625, -0.5, -0.5);"
- "const vec3 rcoeff = vec3(1.164, 0.000, 1.596);"
- "const vec3 gcoeff = vec3(1.164,-0.391,-0.813);"
- "const vec3 bcoeff = vec3(1.164, 2.018, 0.000);"
- "void main(void) {"
- " float r, g, b;"
- " vec3 yuv;"
- " yuv.x = texture2D(Ytex,opos).%c;"
- " yuv.yz = texture2D(UVtex,opos).%c%c;"
+ " yuv = texture2D(tex,opos / tex_scale0).gba;"
" yuv += offset;"
" r = dot(yuv, rcoeff);"
" g = dot(yuv, gcoeff);"
@@ -255,6 +248,9 @@ static const char *frag_PLANAR_YUV_prog = {
"precision mediump float;"
"varying vec2 opos;"
"uniform sampler2D Ytex,Utex,Vtex;"
+ "uniform vec2 tex_scale0;"
+ "uniform vec2 tex_scale1;"
+ "uniform vec2 tex_scale2;"
"const vec3 offset = vec3(-0.0625, -0.5, -0.5);"
"const vec3 rcoeff = vec3(1.164, 0.000, 1.596);"
"const vec3 gcoeff = vec3(1.164,-0.391,-0.813);"
@@ -262,9 +258,9 @@ static const char *frag_PLANAR_YUV_prog = {
"void main(void) {"
" float r,g,b;"
" vec3 yuv;"
- " yuv.x=texture2D(Ytex,opos).r;"
- " yuv.y=texture2D(Utex,opos).r;"
- " yuv.z=texture2D(Vtex,opos).r;"
+ " yuv.x=texture2D(Ytex,opos / tex_scale0).r;"
+ " yuv.y=texture2D(Utex,opos / tex_scale1).r;"
+ " yuv.z=texture2D(Vtex,opos / tex_scale2).r;"
" yuv += offset;"
" r = dot(yuv, rcoeff);"
" g = dot(yuv, gcoeff);"
@@ -278,6 +274,9 @@ static const char *frag_NV12_NV21_prog = {
"precision mediump float;"
"varying vec2 opos;"
"uniform sampler2D Ytex,UVtex;"
+ "uniform vec2 tex_scale0;"
+ "uniform vec2 tex_scale1;"
+ "uniform vec2 tex_scale2;"
"const vec3 offset = vec3(-0.0625, -0.5, -0.5);"
"const vec3 rcoeff = vec3(1.164, 0.000, 1.596);"
"const vec3 gcoeff = vec3(1.164,-0.391,-0.813);"
@@ -285,8 +284,8 @@ static const char *frag_NV12_NV21_prog = {
"void main(void) {"
" float r,g,b;"
" vec3 yuv;"
- " yuv.x=texture2D(Ytex,opos).r;"
- " yuv.yz=texture2D(UVtex,opos).%c%c;"
+ " yuv.x=texture2D(Ytex,opos / tex_scale0).r;"
+ " yuv.yz=texture2D(UVtex,opos / tex_scale1).%c%c;"
" yuv += offset;"
" r = dot(yuv, rcoeff);"
" g = dot(yuv, gcoeff);"
@@ -296,19 +295,26 @@ static const char *frag_NV12_NV21_prog = {
};
/* *INDENT-ON* */
+static const EGLint eglglessink_RGBA8888_attribs[] = {
+ EGL_RED_SIZE, 8,
+ EGL_GREEN_SIZE, 8,
+ EGL_BLUE_SIZE, 8,
+ EGL_ALPHA_SIZE, 8,
+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+ EGL_NONE
+};
+
/* Input capabilities. */
static GstStaticPadTemplate gst_eglglessink_sink_template_factory =
- GST_STATIC_PAD_TEMPLATE ("sink",
+GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_RGBA ";" GST_VIDEO_CAPS_BGRA ";"
- GST_VIDEO_CAPS_ARGB ";" GST_VIDEO_CAPS_ABGR ";"
- GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_BGRx ";"
- GST_VIDEO_CAPS_xRGB ";" GST_VIDEO_CAPS_xBGR ";"
- GST_VIDEO_CAPS_YUV
- ("{ AYUV, Y444, I420, YV12, NV12, NV21, YUY2, YVYU, UYVY, Y42B, Y41B }")
- ";" GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_BGR ";"
- GST_VIDEO_CAPS_RGB_16));
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ "
+ "RGBA, BGRA, ARGB, ABGR, "
+ "RGBx, BGRx, xRGB, xBGR, "
+ "AYUV, Y444, I420, YV12, "
+ "NV12, NV21, Y41B, RGB, " "BGR, RGB16 }")));
/* Filter signals and args */
enum
@@ -324,35 +330,6 @@ enum
PROP_FORCE_ASPECT_RATIO,
};
-/* will probably move elsewhere */
-static const EGLint eglglessink_RGBA8888_attribs[] = {
- EGL_RED_SIZE, 8,
- EGL_GREEN_SIZE, 8,
- EGL_BLUE_SIZE, 8,
- EGL_ALPHA_SIZE, 8,
- EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
- EGL_NONE
-};
-
-static const EGLint eglglessink_RGB888_attribs[] = {
- EGL_RED_SIZE, 8,
- EGL_GREEN_SIZE, 8,
- EGL_BLUE_SIZE, 8,
- EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
- EGL_NONE
-};
-
-static const EGLint eglglessink_RGB565_attribs[] = {
- EGL_RED_SIZE, 5,
- EGL_GREEN_SIZE, 6,
- EGL_BLUE_SIZE, 5,
- EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
- EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
- EGL_NONE
-};
-
static void gst_eglglessink_finalize (GObject * object);
static void gst_eglglessink_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
@@ -363,30 +340,26 @@ static GstStateChangeReturn gst_eglglessink_change_state (GstElement * element,
static GstFlowReturn gst_eglglessink_show_frame (GstVideoSink * vsink,
GstBuffer * buf);
static gboolean gst_eglglessink_setcaps (GstBaseSink * bsink, GstCaps * caps);
-static GstCaps *gst_eglglessink_getcaps (GstBaseSink * bsink);
-
-/* XOverlay interface cruft */
-static gboolean gst_eglglessink_interface_supported
- (GstImplementsInterface * iface, GType type);
-static void gst_eglglessink_implements_init
- (GstImplementsInterfaceClass * klass);
-static void gst_eglglessink_xoverlay_init (GstXOverlayClass * iface);
-static void gst_eglglessink_init_interfaces (GType type);
-
-/* Actual XOverlay interface funcs */
-static void gst_eglglessink_expose (GstXOverlay * overlay);
-static void gst_eglglessink_set_window_handle (GstXOverlay * overlay,
+static GstCaps *gst_eglglessink_getcaps (GstBaseSink * bsink, GstCaps * filter);
+static gboolean gst_eglglessink_propose_allocation (GstBaseSink * bsink,
+ GstQuery * query);
+
+/* VideoOverlay interface cruft */
+static void gst_eglglessink_videooverlay_init (GstVideoOverlayInterface *
+ iface);
+
+/* Actual VideoOverlay interface funcs */
+static void gst_eglglessink_expose (GstVideoOverlay * overlay);
+static void gst_eglglessink_set_window_handle (GstVideoOverlay * overlay,
guintptr id);
-static void gst_eglglessink_set_render_rectangle (GstXOverlay * overlay, gint x,
- gint y, gint width, gint height);
+static void gst_eglglessink_set_render_rectangle (GstVideoOverlay * overlay,
+ gint x, gint y, gint width, gint height);
/* Utility */
-static GstEglGlesImageFmt *gst_eglglessink_get_compat_format_from_caps
- (GstEglGlesSink * eglglessink, GstCaps * caps);
static EGLNativeWindowType gst_eglglessink_create_window (GstEglGlesSink *
eglglessink, gint width, gint height);
-static inline gint
-gst_eglglessink_fill_supported_fbuffer_configs (GstEglGlesSink * eglglessink);
+static gboolean gst_eglglessink_fill_supported_fbuffer_configs (GstEglGlesSink *
+ eglglessink);
static gboolean gst_eglglessink_init_egl_display (GstEglGlesSink * eglglessink);
static gboolean gst_eglglessink_choose_config (GstEglGlesSink * eglglessink);
static gboolean gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink);
@@ -395,63 +368,38 @@ static gboolean gst_eglglessink_setup_vbo (GstEglGlesSink * eglglessink,
gboolean reset);
static gboolean
gst_eglglessink_configure_caps (GstEglGlesSink * eglglessink, GstCaps * caps);
-static GstFlowReturn gst_eglglessink_render_and_display (GstEglGlesSink * sink,
- GstBuffer * buf);
-static GstFlowReturn gst_eglglessink_queue_buffer (GstEglGlesSink * sink,
+static GstFlowReturn gst_eglglessink_upload (GstEglGlesSink * sink,
GstBuffer * buf);
+static GstFlowReturn gst_eglglessink_render (GstEglGlesSink * sink);
+static GstFlowReturn gst_eglglessink_queue_object (GstEglGlesSink * sink,
+ GstMiniObject * obj);
static inline gboolean got_gl_error (const char *wtf);
-static inline void show_egl_error (const char *wtf);
-static void gst_eglglessink_wipe_fmt (gpointer data);
+static inline gboolean got_egl_error (const char *wtf);
static inline gboolean egl_init (GstEglGlesSink * eglglessink);
static gboolean gst_eglglessink_context_make_current (GstEglGlesSink *
eglglessink, gboolean bind);
static void gst_eglglessink_wipe_eglglesctx (GstEglGlesSink * eglglessink);
-static inline void gst_eglglessink_reset_display_region (GstEglGlesSink *
- eglglessink);
-GST_BOILERPLATE_FULL (GstEglGlesSink, gst_eglglessink, GstVideoSink,
- GST_TYPE_VIDEO_SINK, gst_eglglessink_init_interfaces);
+#define parent_class gst_eglglessink_parent_class
+G_DEFINE_TYPE_WITH_CODE (GstEglGlesSink, gst_eglglessink, GST_TYPE_VIDEO_SINK,
+ G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_OVERLAY,
+ gst_eglglessink_videooverlay_init));
-
-static GstEglGlesImageFmt *
-gst_eglglessink_get_compat_format_from_caps (GstEglGlesSink * eglglessink,
- GstCaps * caps)
+static GstCaps *
+_gst_video_format_new_template_caps (GstVideoFormat format)
{
-
- GList *list;
- GstEglGlesImageFmt *format;
-
- g_return_val_if_fail (GST_IS_EGLGLESSINK (eglglessink), 0);
-
- list = eglglessink->supported_fmts;
-
- /* Traverse the list trying to find a compatible format */
- while (list) {
- format = list->data;
- GST_DEBUG_OBJECT (eglglessink, "Checking compatibility between listed %"
- GST_PTR_FORMAT " and %" GST_PTR_FORMAT, format->caps, caps);
- if (format) {
- if (gst_caps_can_intersect (caps, format->caps)) {
- GST_INFO_OBJECT (eglglessink, "Found compatible format %d",
- format->fmt);
- GST_DEBUG_OBJECT (eglglessink,
- "Got caps %" GST_PTR_FORMAT " and this format can do %"
- GST_PTR_FORMAT, caps, format->caps);
- return format;
- }
- }
- list = g_list_next (list);
- }
-
- return NULL;
+ return gst_caps_new_simple ("video/x-raw",
+ "format", G_TYPE_STRING, gst_video_format_to_string (format),
+ "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+ "height", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
}
-static inline gint
+static gboolean
gst_eglglessink_fill_supported_fbuffer_configs (GstEglGlesSink * eglglessink)
{
- gint ret = 0;
+ gboolean ret = FALSE;
EGLint cfg_number;
- GstEglGlesImageFmt *format;
GstCaps *caps;
GST_DEBUG_OBJECT (eglglessink,
@@ -462,85 +410,50 @@ gst_eglglessink_fill_supported_fbuffer_configs (GstEglGlesSink * eglglessink)
if (eglChooseConfig (eglglessink->eglglesctx.display,
eglglessink_RGBA8888_attribs, NULL, 1, &cfg_number) != EGL_FALSE) {
- format = g_new0 (GstEglGlesImageFmt, 1);
- format->fmt = GST_EGLGLESSINK_IMAGE_RGBA8888;
- format->attribs = eglglessink_RGBA8888_attribs;
- format->caps = gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGBA);
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_BGRA));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_ARGB));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_ABGR));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGBx));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_BGRx));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_xRGB));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_xBGR));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_AYUV));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_Y444));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_I420));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_YV12));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_NV12));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_NV21));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_YUY2));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_YVYU));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_UYVY));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_Y42B));
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_Y41B));
- eglglessink->supported_fmts =
- g_list_append (eglglessink->supported_fmts, format);
- ret++;
- gst_caps_append (caps, gst_caps_ref (format->caps));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGBA));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_BGRA));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_ARGB));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_ABGR));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGBx));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_BGRx));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_xRGB));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_xBGR));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_AYUV));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_Y444));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGB));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_BGR));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_I420));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_YV12));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_NV12));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_NV21));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_Y42B));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_Y41B));
+ gst_caps_append (caps,
+ _gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGB16));
+ ret = TRUE;
} else {
GST_INFO_OBJECT (eglglessink,
"EGL display doesn't support RGBA8888 config");
}
- if (eglChooseConfig (eglglessink->eglglesctx.display,
- eglglessink_RGB888_attribs, NULL, 1, &cfg_number) != EGL_FALSE) {
- format = g_new0 (GstEglGlesImageFmt, 1);
- format->fmt = GST_EGLGLESSINK_IMAGE_RGB888;
- format->attribs = eglglessink_RGB888_attribs;
- format->caps = gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGB);
- gst_caps_append (format->caps,
- gst_video_format_new_template_caps (GST_VIDEO_FORMAT_BGR));
- eglglessink->supported_fmts =
- g_list_append (eglglessink->supported_fmts, format);
- ret++;
- gst_caps_append (caps, gst_caps_ref (format->caps));
- } else {
- GST_INFO_OBJECT (eglglessink, "EGL display doesn't support RGB888 config");
- }
-
- if (eglChooseConfig (eglglessink->eglglesctx.display,
- eglglessink_RGB565_attribs, NULL, 1, &cfg_number) != EGL_FALSE) {
- format = g_new0 (GstEglGlesImageFmt, 1);
- format->fmt = GST_EGLGLESSINK_IMAGE_RGB565;
- format->attribs = eglglessink_RGB565_attribs;
- format->caps = gst_video_format_new_template_caps (GST_VIDEO_FORMAT_RGB16);
- eglglessink->supported_fmts =
- g_list_append (eglglessink->supported_fmts, format);
- ret++;
- gst_caps_append (caps, gst_caps_ref (format->caps));
- } else {
- GST_INFO_OBJECT (eglglessink, "EGL display doesn't support RGB565 config");
- }
-
GST_OBJECT_LOCK (eglglessink);
gst_caps_replace (&eglglessink->sinkcaps, caps);
GST_OBJECT_UNLOCK (eglglessink);
@@ -581,51 +494,68 @@ HANDLE_ERROR:
static gpointer
render_thread_func (GstEglGlesSink * eglglessink)
{
- GstDataQueueItem *item = NULL;
+ GstMessage *message;
+ GValue val = { 0 };
+ EGLGstDataQueueItem *item = NULL;
+ GstFlowReturn last_flow = GST_FLOW_OK;
+
+ g_value_init (&val, G_TYPE_POINTER);
+ g_value_set_pointer (&val, g_thread_self ());
+ message = gst_message_new_stream_status (GST_OBJECT_CAST (eglglessink),
+ GST_STREAM_STATUS_TYPE_ENTER, GST_ELEMENT_CAST (eglglessink));
+ gst_message_set_stream_status_object (message, &val);
+ GST_DEBUG_OBJECT (eglglessink, "posting ENTER stream status");
+ gst_element_post_message (GST_ELEMENT_CAST (eglglessink), message);
+ g_value_unset (&val);
- while (gst_data_queue_pop (eglglessink->queue, &item)) {
- GstBuffer *buf = NULL;
+ eglBindAPI (EGL_OPENGL_ES_API);
+
+ while (egl_gst_data_queue_pop (eglglessink->queue, &item)) {
+ GstMiniObject *object = item->object;
- GST_DEBUG_OBJECT (eglglessink, "Handling object %" GST_PTR_FORMAT,
- item->object);
+ GST_DEBUG_OBJECT (eglglessink, "Handling object %" GST_PTR_FORMAT, object);
- if (item->object) {
- GstCaps *caps;
+ if (GST_IS_CAPS (object)) {
+ GstCaps *caps = GST_CAPS_CAST (object);
- buf = GST_BUFFER (item->object);
- caps = GST_BUFFER_CAPS (buf);
if (caps != eglglessink->configured_caps) {
if (!gst_eglglessink_configure_caps (eglglessink, caps)) {
- eglglessink->last_flow = GST_FLOW_NOT_NEGOTIATED;
- g_mutex_lock (eglglessink->render_lock);
- g_cond_broadcast (eglglessink->render_cond);
- g_mutex_unlock (eglglessink->render_lock);
- item->destroy (item);
- break;
+ last_flow = GST_FLOW_NOT_NEGOTIATED;
}
}
- }
+ } else if (GST_IS_BUFFER (object) || !object) {
+ GstBuffer *buf = GST_BUFFER_CAST (object);
- if (eglglessink->configured_caps) {
- eglglessink->last_flow =
- gst_eglglessink_render_and_display (eglglessink, buf);
+ if (eglglessink->configured_caps) {
+ last_flow = gst_eglglessink_upload (eglglessink, buf);
+ if (last_flow == GST_FLOW_OK)
+ last_flow = gst_eglglessink_render (eglglessink);
+ } else {
+ last_flow = GST_FLOW_OK;
+ GST_DEBUG_OBJECT (eglglessink,
+ "No caps configured yet, not drawing anything");
+ }
} else {
- GST_DEBUG_OBJECT (eglglessink, "No caps configured yet, not drawing anything");
+ g_assert_not_reached ();
}
- if (buf) {
- g_mutex_lock (eglglessink->render_lock);
- g_cond_broadcast (eglglessink->render_cond);
- g_mutex_unlock (eglglessink->render_lock);
- }
item->destroy (item);
- if (eglglessink->last_flow != GST_FLOW_OK)
+ g_mutex_lock (&eglglessink->render_lock);
+ eglglessink->last_flow = last_flow;
+ g_cond_broadcast (&eglglessink->render_cond);
+ g_mutex_unlock (&eglglessink->render_lock);
+
+ if (last_flow != GST_FLOW_OK)
break;
GST_DEBUG_OBJECT (eglglessink, "Successfully handled object");
}
- if (eglglessink->last_flow == GST_FLOW_OK)
- eglglessink->last_flow = GST_FLOW_WRONG_STATE;
+ if (last_flow == GST_FLOW_OK) {
+ g_mutex_lock (&eglglessink->render_lock);
+ eglglessink->last_flow = GST_FLOW_FLUSHING;
+ g_cond_broadcast (&eglglessink->render_cond);
+ g_mutex_unlock (&eglglessink->render_lock);
+ }
GST_DEBUG_OBJECT (eglglessink, "Shutting down thread");
@@ -637,12 +567,23 @@ render_thread_func (GstEglGlesSink * eglglessink)
eglglessink->configured_caps = NULL;
}
+ g_value_init (&val, G_TYPE_POINTER);
+ g_value_set_pointer (&val, g_thread_self ());
+ message = gst_message_new_stream_status (GST_OBJECT_CAST (eglglessink),
+ GST_STREAM_STATUS_TYPE_LEAVE, GST_ELEMENT_CAST (eglglessink));
+ gst_message_set_stream_status_object (message, &val);
+ GST_DEBUG_OBJECT (eglglessink, "posting LEAVE stream status");
+ gst_element_post_message (GST_ELEMENT_CAST (eglglessink), message);
+ g_value_unset (&val);
+
return NULL;
}
static void
gst_eglglessink_wipe_eglglesctx (GstEglGlesSink * eglglessink)
{
+ gint i;
+
glUseProgram (0);
if (eglglessink->have_vbo) {
@@ -658,26 +599,19 @@ gst_eglglessink_wipe_eglglesctx (GstEglGlesSink * eglglessink)
eglglessink->eglglesctx.n_textures = 0;
}
- if (eglglessink->eglglesctx.glslprogram[0]) {
- glDetachShader (eglglessink->eglglesctx.glslprogram[0],
- eglglessink->eglglesctx.fragshader[0]);
- glDetachShader (eglglessink->eglglesctx.glslprogram[0],
- eglglessink->eglglesctx.vertshader[0]);
- glDeleteProgram (eglglessink->eglglesctx.glslprogram[0]);
- glDeleteShader (eglglessink->eglglesctx.fragshader[0]);
- glDeleteShader (eglglessink->eglglesctx.vertshader[0]);
- eglglessink->eglglesctx.glslprogram[0] = 0;
- }
-
- if (eglglessink->eglglesctx.glslprogram[1]) {
- glDetachShader (eglglessink->eglglesctx.glslprogram[1],
- eglglessink->eglglesctx.fragshader[1]);
- glDetachShader (eglglessink->eglglesctx.glslprogram[1],
- eglglessink->eglglesctx.vertshader[1]);
- glDeleteProgram (eglglessink->eglglesctx.glslprogram[1]);
- glDeleteShader (eglglessink->eglglesctx.fragshader[1]);
- glDeleteShader (eglglessink->eglglesctx.vertshader[1]);
- eglglessink->eglglesctx.glslprogram[1] = 0;
+ for (i = 0; i < 2; i++) {
+ if (eglglessink->eglglesctx.glslprogram[i]) {
+ glDetachShader (eglglessink->eglglesctx.glslprogram[i],
+ eglglessink->eglglesctx.fragshader[i]);
+ glDetachShader (eglglessink->eglglesctx.glslprogram[i],
+ eglglessink->eglglesctx.vertshader[i]);
+ glDeleteProgram (eglglessink->eglglesctx.glslprogram[i]);
+ glDeleteShader (eglglessink->eglglesctx.fragshader[i]);
+ glDeleteShader (eglglessink->eglglesctx.vertshader[i]);
+ eglglessink->eglglesctx.glslprogram[i] = 0;
+ eglglessink->eglglesctx.fragshader[i] = 0;
+ eglglessink->eglglesctx.vertshader[i] = 0;
+ }
}
gst_eglglessink_context_make_current (eglglessink, FALSE);
@@ -694,21 +628,6 @@ gst_eglglessink_wipe_eglglesctx (GstEglGlesSink * eglglessink)
eglglessink->eglglesctx.eglcontext);
eglglessink->eglglesctx.eglcontext = NULL;
}
-
- gst_eglglessink_reset_display_region (eglglessink);
-}
-
-/* Reset display region
- * XXX: Should probably keep old ones if set_render_rect()
- * has been called.
- */
-static inline void
-gst_eglglessink_reset_display_region (GstEglGlesSink * eglglessink)
-{
- GST_OBJECT_LOCK (eglglessink);
- eglglessink->display_region.w = 0;
- eglglessink->display_region.h = 0;
- GST_OBJECT_UNLOCK (eglglessink);
}
static gboolean
@@ -725,7 +644,7 @@ gst_eglglessink_start (GstEglGlesSink * eglglessink)
/* Ask for a window to render to */
if (!eglglessink->have_window)
- gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (eglglessink));
+ gst_video_overlay_prepare_window_handle (GST_VIDEO_OVERLAY (eglglessink));
if (!eglglessink->have_window && !eglglessink->create_window) {
GST_ERROR_OBJECT (eglglessink, "Window handle unavailable and we "
@@ -733,9 +652,11 @@ gst_eglglessink_start (GstEglGlesSink * eglglessink)
goto HANDLE_ERROR;
}
- gst_eglglessink_reset_display_region (eglglessink);
eglglessink->last_flow = GST_FLOW_OK;
- gst_data_queue_set_flushing (eglglessink->queue, FALSE);
+ eglglessink->display_region.w = 0;
+ eglglessink->display_region.h = 0;
+
+ egl_gst_data_queue_set_flushing (eglglessink->queue, FALSE);
#if !GLIB_CHECK_VERSION (2, 31, 0)
eglglessink->thread =
@@ -764,20 +685,20 @@ gst_eglglessink_stop (GstEglGlesSink * eglglessink)
{
GST_DEBUG_OBJECT (eglglessink, "Stopping");
- gst_data_queue_set_flushing (eglglessink->queue, TRUE);
- g_mutex_lock (eglglessink->render_lock);
- g_cond_broadcast (eglglessink->render_cond);
- g_mutex_unlock (eglglessink->render_lock);
+ egl_gst_data_queue_set_flushing (eglglessink->queue, TRUE);
+ g_mutex_lock (&eglglessink->render_lock);
+ g_cond_broadcast (&eglglessink->render_cond);
+ g_mutex_unlock (&eglglessink->render_lock);
if (eglglessink->thread) {
g_thread_join (eglglessink->thread);
eglglessink->thread = NULL;
}
- eglglessink->last_flow = GST_FLOW_WRONG_STATE;
+ eglglessink->last_flow = GST_FLOW_FLUSHING;
if (eglglessink->using_own_window) {
platform_destroy_native_window (eglglessink->eglglesctx.display,
- eglglessink->eglglesctx.used_window);
+ eglglessink->eglglesctx.used_window, &eglglessink->own_window_data);
eglglessink->eglglesctx.used_window = 0;
eglglessink->have_window = FALSE;
}
@@ -793,44 +714,37 @@ gst_eglglessink_stop (GstEglGlesSink * eglglessink)
}
static void
-gst_eglglessink_xoverlay_init (GstXOverlayClass * iface)
+gst_eglglessink_videooverlay_init (GstVideoOverlayInterface * iface)
{
iface->set_window_handle = gst_eglglessink_set_window_handle;
iface->expose = gst_eglglessink_expose;
iface->set_render_rectangle = gst_eglglessink_set_render_rectangle;
}
-static gboolean
-gst_eglglessink_interface_supported (GstImplementsInterface * iface, GType type)
-{
- return (type == GST_TYPE_X_OVERLAY);
-}
-
-static void
-gst_eglglessink_implements_init (GstImplementsInterfaceClass * klass)
-{
- klass->supported = gst_eglglessink_interface_supported;
-}
-
static inline gboolean
got_gl_error (const char *wtf)
{
GLuint error = GL_NO_ERROR;
if ((error = glGetError ()) != GL_NO_ERROR) {
- GST_CAT_ERROR (GST_CAT_DEFAULT, "GL ERROR: %s returned %x", wtf, error);
+ GST_CAT_ERROR (GST_CAT_DEFAULT, "GL ERROR: %s returned 0x%04x", wtf, error);
return TRUE;
}
return FALSE;
}
-static inline void
-show_egl_error (const char *wtf)
+static inline gboolean
+got_egl_error (const char *wtf)
{
EGLint error;
- if ((error = eglGetError ()) != EGL_SUCCESS)
- GST_CAT_DEBUG (GST_CAT_DEFAULT, "EGL ERROR: %s returned %x", wtf, error);
+ if ((error = eglGetError ()) != EGL_SUCCESS) {
+ GST_CAT_DEBUG (GST_CAT_DEFAULT, "EGL ERROR: %s returned 0x%04x", wtf,
+ error);
+ return TRUE;
+ }
+
+ return FALSE;
}
static EGLNativeWindowType
@@ -845,7 +759,9 @@ gst_eglglessink_create_window (GstEglGlesSink * eglglessink, gint width,
} else
GST_INFO_OBJECT (eglglessink, "Attempting internal window creation");
- window = platform_create_native_window (width, height);
+ window =
+ platform_create_native_window (width, height,
+ &eglglessink->own_window_data);
if (!window) {
GST_ERROR_OBJECT (eglglessink, "Could not create window");
return window;
@@ -854,7 +770,7 @@ gst_eglglessink_create_window (GstEglGlesSink * eglglessink, gint width,
}
static void
-gst_eglglessink_expose (GstXOverlay * overlay)
+gst_eglglessink_expose (GstVideoOverlay * overlay)
{
GstEglGlesSink *eglglessink;
GstFlowReturn ret;
@@ -863,7 +779,7 @@ gst_eglglessink_expose (GstXOverlay * overlay)
GST_DEBUG_OBJECT (eglglessink, "Expose catched, redisplay");
/* Render from last seen buffer */
- ret = gst_eglglessink_queue_buffer (eglglessink, NULL);
+ ret = gst_eglglessink_queue_object (eglglessink, NULL);
if (ret == GST_FLOW_ERROR)
GST_ERROR_OBJECT (eglglessink, "Redisplay failed");
}
@@ -893,8 +809,10 @@ gst_eglglessink_init_egl_exts (GstEglGlesSink * eglglessink)
static gboolean
gst_eglglessink_setup_vbo (GstEglGlesSink * eglglessink, gboolean reset)
{
- gdouble surface_width, surface_height;
+ gdouble render_width, render_height;
+ gdouble texture_width, texture_height;
gdouble x1, x2, y1, y2;
+ gdouble tx1, tx2, ty1, ty2;
GST_INFO_OBJECT (eglglessink, "VBO setup. have_vbo:%d, should reset %d",
eglglessink->have_vbo, reset);
@@ -905,41 +823,49 @@ gst_eglglessink_setup_vbo (GstEglGlesSink * eglglessink, gboolean reset)
eglglessink->have_vbo = FALSE;
}
- surface_width = eglglessink->eglglesctx.surface_width;
- surface_height = eglglessink->eglglesctx.surface_height;
+ render_width = eglglessink->render_region.w;
+ render_height = eglglessink->render_region.h;
+
+ texture_width = eglglessink->configured_info.width;
+ texture_height = eglglessink->configured_info.height;
GST_DEBUG_OBJECT (eglglessink, "Performing VBO setup");
- x1 = (eglglessink->display_region.x / surface_width) * 2.0 - 1;
- y1 = (eglglessink->display_region.y / surface_height) * 2.0 - 1;
+ x1 = (eglglessink->display_region.x / render_width) * 2.0 - 1;
+ y1 = (eglglessink->display_region.y / render_height) * 2.0 - 1;
x2 = ((eglglessink->display_region.x +
- eglglessink->display_region.w) / surface_width) * 2.0 - 1;
+ eglglessink->display_region.w) / render_width) * 2.0 - 1;
y2 = ((eglglessink->display_region.y +
- eglglessink->display_region.h) / surface_height) * 2.0 - 1;
+ eglglessink->display_region.h) / render_height) * 2.0 - 1;
+
+ tx1 = (eglglessink->crop.x / texture_width);
+ tx2 = ((eglglessink->crop.x + eglglessink->crop.w) / texture_width);
+ ty1 = (eglglessink->crop.y / texture_height);
+ ty2 = ((eglglessink->crop.y + eglglessink->crop.h) / texture_height);
eglglessink->eglglesctx.position_array[0].x = x2;
eglglessink->eglglesctx.position_array[0].y = y2;
eglglessink->eglglesctx.position_array[0].z = 0;
- eglglessink->eglglesctx.position_array[0].a = 1;
- eglglessink->eglglesctx.position_array[0].b = 0;
+ eglglessink->eglglesctx.position_array[0].a = tx2;
+ eglglessink->eglglesctx.position_array[0].b = ty1;
eglglessink->eglglesctx.position_array[1].x = x2;
eglglessink->eglglesctx.position_array[1].y = y1;
eglglessink->eglglesctx.position_array[1].z = 0;
- eglglessink->eglglesctx.position_array[1].a = 1;
- eglglessink->eglglesctx.position_array[1].b = 1;
+ eglglessink->eglglesctx.position_array[1].a = tx2;
+ eglglessink->eglglesctx.position_array[1].b = ty2;
eglglessink->eglglesctx.position_array[2].x = x1;
eglglessink->eglglesctx.position_array[2].y = y2;
eglglessink->eglglesctx.position_array[2].z = 0;
- eglglessink->eglglesctx.position_array[2].a = 0;
- eglglessink->eglglesctx.position_array[2].b = 0;
+ eglglessink->eglglesctx.position_array[2].a = tx1;
+ eglglessink->eglglesctx.position_array[2].b = ty1;
eglglessink->eglglesctx.position_array[3].x = x1;
eglglessink->eglglesctx.position_array[3].y = y1;
eglglessink->eglglesctx.position_array[3].z = 0;
- eglglessink->eglglesctx.position_array[3].a = 0;
- eglglessink->eglglesctx.position_array[3].b = 1;
+ eglglessink->eglglesctx.position_array[3].a = tx1;
+ eglglessink->eglglesctx.position_array[3].b = ty2;
if (eglglessink->display_region.x == 0) {
/* Borders top/bottom */
@@ -1095,7 +1021,7 @@ gst_eglglessink_context_make_current (GstEglGlesSink * eglglessink,
if (!eglMakeCurrent (eglglessink->eglglesctx.display,
eglglessink->eglglesctx.surface, eglglessink->eglglesctx.surface,
eglglessink->eglglesctx.eglcontext)) {
- show_egl_error ("eglMakeCurrent");
+ got_egl_error ("eglMakeCurrent");
GST_ERROR_OBJECT (eglglessink, "Couldn't bind context");
return FALSE;
}
@@ -1104,7 +1030,7 @@ gst_eglglessink_context_make_current (GstEglGlesSink * eglglessink,
g_thread_self ());
if (!eglMakeCurrent (eglglessink->eglglesctx.display, EGL_NO_SURFACE,
EGL_NO_SURFACE, EGL_NO_CONTEXT)) {
- show_egl_error ("eglMakeCurrent");
+ got_egl_error ("eglMakeCurrent");
GST_ERROR_OBJECT (eglglessink, "Couldn't unbind context");
return FALSE;
}
@@ -1114,15 +1040,110 @@ gst_eglglessink_context_make_current (GstEglGlesSink * eglglessink,
}
static gboolean
-gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
+create_shader_program (GstEglGlesSink * eglglessink, GLuint * prog,
+ GLuint * vert, GLuint * frag, const gchar * vert_text,
+ const gchar * frag_text)
{
GLint test;
- GLboolean ret;
GLchar *info_log;
+
+ /* Build shader program for video texture rendering */
+ *vert = glCreateShader (GL_VERTEX_SHADER);
+ GST_DEBUG_OBJECT (eglglessink, "Sending %s to handle %d", vert_text, *vert);
+ glShaderSource (*vert, 1, &vert_text, NULL);
+ if (got_gl_error ("glShaderSource vertex"))
+ goto HANDLE_ERROR;
+
+ glCompileShader (*vert);
+ if (got_gl_error ("glCompileShader vertex"))
+ goto HANDLE_ERROR;
+
+ glGetShaderiv (*vert, GL_COMPILE_STATUS, &test);
+ if (test != GL_FALSE)
+ GST_DEBUG_OBJECT (eglglessink, "Successfully compiled vertex shader");
+ else {
+ GST_ERROR_OBJECT (eglglessink, "Couldn't compile vertex shader");
+ glGetShaderiv (*vert, GL_INFO_LOG_LENGTH, &test);
+ info_log = g_new0 (GLchar, test);
+ glGetShaderInfoLog (*vert, test, NULL, info_log);
+ GST_INFO_OBJECT (eglglessink, "Compilation info log:\n%s", info_log);
+ g_free (info_log);
+ goto HANDLE_ERROR;
+ }
+
+ *frag = glCreateShader (GL_FRAGMENT_SHADER);
+ GST_DEBUG_OBJECT (eglglessink, "Sending %s to handle %d", frag_text, *frag);
+ glShaderSource (*frag, 1, &frag_text, NULL);
+ if (got_gl_error ("glShaderSource fragment"))
+ goto HANDLE_ERROR;
+
+ glCompileShader (*frag);
+ if (got_gl_error ("glCompileShader fragment"))
+ goto HANDLE_ERROR;
+
+ glGetShaderiv (*frag, GL_COMPILE_STATUS, &test);
+ if (test != GL_FALSE)
+ GST_DEBUG_OBJECT (eglglessink, "Successfully compiled fragment shader");
+ else {
+ GST_ERROR_OBJECT (eglglessink, "Couldn't compile fragment shader");
+ glGetShaderiv (*frag, GL_INFO_LOG_LENGTH, &test);
+ info_log = g_new0 (GLchar, test);
+ glGetShaderInfoLog (*frag, test, NULL, info_log);
+ GST_INFO_OBJECT (eglglessink, "Compilation info log:\n%s", info_log);
+ g_free (info_log);
+ goto HANDLE_ERROR;
+ }
+
+ *prog = glCreateProgram ();
+ if (got_gl_error ("glCreateProgram"))
+ goto HANDLE_ERROR;
+ glAttachShader (*prog, *vert);
+ if (got_gl_error ("glAttachShader vertices"))
+ goto HANDLE_ERROR;
+ glAttachShader (*prog, *frag);
+ if (got_gl_error ("glAttachShader fragments"))
+ goto HANDLE_ERROR;
+ glLinkProgram (*prog);
+ glGetProgramiv (*prog, GL_LINK_STATUS, &test);
+ if (test != GL_FALSE) {
+ GST_DEBUG_OBJECT (eglglessink, "GLES: Successfully linked program");
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Couldn't link program");
+ goto HANDLE_ERROR;
+ }
+
+ return TRUE;
+
+HANDLE_ERROR:
+ {
+ if (*frag && *prog)
+ glDetachShader (*prog, *frag);
+ if (*vert && *prog)
+ glDetachShader (*prog, *vert);
+ if (*prog)
+ glDeleteProgram (*prog);
+ if (*frag)
+ glDeleteShader (*frag);
+ if (*vert)
+ glDeleteShader (*vert);
+ *prog = 0;
+ *frag = 0;
+ *vert = 0;
+
+ return FALSE;
+ }
+}
+
+static gboolean
+gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
+{
+ GLboolean ret;
EGLint display_par;
const gchar *texnames[3] = { NULL, };
- gchar *tmp_prog = NULL;
+ gchar *frag_prog = NULL;
+ gboolean free_frag_prog = FALSE;
EGLint swap_behavior;
+ gint i;
GST_DEBUG_OBJECT (eglglessink, "Enter EGL surface setup");
@@ -1132,7 +1153,7 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
NULL);
if (eglglessink->eglglesctx.surface == EGL_NO_SURFACE) {
- show_egl_error ("eglCreateWindowSurface");
+ got_egl_error ("eglCreateWindowSurface");
GST_ERROR_OBJECT (eglglessink, "Can't create surface");
goto HANDLE_EGL_ERROR_LOCKED;
}
@@ -1175,8 +1196,9 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
display_par > EGL_SANE_DAR_MAX) {
GST_DEBUG_OBJECT (eglglessink, "Nonsensical PAR value returned: %d. "
"Bad EGL implementation? "
- "Will use default: %d/%d", eglglessink->eglglesctx.pixel_aspect_ratio,
- EGL_DISPLAY_SCALING, EGL_DISPLAY_SCALING);
+ "Will use default: %d/%d",
+ eglglessink->eglglesctx.pixel_aspect_ratio, EGL_DISPLAY_SCALING,
+ EGL_DISPLAY_SCALING);
eglglessink->eglglesctx.pixel_aspect_ratio = EGL_DISPLAY_SCALING;
} else {
eglglessink->eglglesctx.pixel_aspect_ratio = display_par;
@@ -1200,39 +1222,11 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
}
/* Build shader program for video texture rendering */
- eglglessink->eglglesctx.vertshader[0] = glCreateShader (GL_VERTEX_SHADER);
- GST_DEBUG_OBJECT (eglglessink, "Sending %s to handle %d", vert_COPY_prog,
- eglglessink->eglglesctx.vertshader[0]);
- glShaderSource (eglglessink->eglglesctx.vertshader[0], 1, &vert_COPY_prog,
- NULL);
- if (got_gl_error ("glShaderSource vertex"))
- goto HANDLE_ERROR;
- glCompileShader (eglglessink->eglglesctx.vertshader[0]);
- if (got_gl_error ("glCompileShader vertex"))
- goto HANDLE_ERROR;
-
- glGetShaderiv (eglglessink->eglglesctx.vertshader[0], GL_COMPILE_STATUS,
- &test);
- if (test != GL_FALSE)
- GST_DEBUG_OBJECT (eglglessink, "Successfully compiled vertex shader");
- else {
- GST_ERROR_OBJECT (eglglessink, "Couldn't compile vertex shader");
- glGetShaderiv (eglglessink->eglglesctx.vertshader[0], GL_INFO_LOG_LENGTH,
- &test);
- info_log = g_new0 (GLchar, test);
- glGetShaderInfoLog (eglglessink->eglglesctx.vertshader[0], test, NULL,
- info_log);
- GST_INFO_OBJECT (eglglessink, "Compilation info log:\n%s", info_log);
- g_free (info_log);
- goto HANDLE_ERROR;
- }
-
- eglglessink->eglglesctx.fragshader[0] = glCreateShader (GL_FRAGMENT_SHADER);
- switch (eglglessink->format) {
+ switch (eglglessink->configured_info.finfo->format) {
case GST_VIDEO_FORMAT_AYUV:
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1, &frag_AYUV_prog,
- NULL);
+ frag_prog = (gchar *) frag_AYUV_prog;
+ free_frag_prog = FALSE;
eglglessink->eglglesctx.n_textures = 1;
texnames[0] = "tex";
break;
@@ -1241,49 +1235,23 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
case GST_VIDEO_FORMAT_YV12:
case GST_VIDEO_FORMAT_Y42B:
case GST_VIDEO_FORMAT_Y41B:
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- &frag_PLANAR_YUV_prog, NULL);
+ frag_prog = (gchar *) frag_PLANAR_YUV_prog;
+ free_frag_prog = FALSE;
eglglessink->eglglesctx.n_textures = 3;
texnames[0] = "Ytex";
texnames[1] = "Utex";
texnames[2] = "Vtex";
break;
- case GST_VIDEO_FORMAT_YUY2:
- tmp_prog = g_strdup_printf (frag_YUY2_YVYU_UYVY_prog, 'r', 'g', 'a');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
- eglglessink->eglglesctx.n_textures = 2;
- texnames[0] = "Ytex";
- texnames[1] = "UVtex";
- break;
- case GST_VIDEO_FORMAT_YVYU:
- tmp_prog = g_strdup_printf (frag_YUY2_YVYU_UYVY_prog, 'r', 'a', 'g');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
- eglglessink->eglglesctx.n_textures = 2;
- texnames[0] = "Ytex";
- texnames[1] = "UVtex";
- break;
- case GST_VIDEO_FORMAT_UYVY:
- tmp_prog = g_strdup_printf (frag_YUY2_YVYU_UYVY_prog, 'a', 'r', 'b');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
- eglglessink->eglglesctx.n_textures = 2;
- texnames[0] = "Ytex";
- texnames[1] = "UVtex";
- break;
case GST_VIDEO_FORMAT_NV12:
- tmp_prog = g_strdup_printf (frag_NV12_NV21_prog, 'r', 'a');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
+ frag_prog = g_strdup_printf (frag_NV12_NV21_prog, 'r', 'a');
+ free_frag_prog = TRUE;
eglglessink->eglglesctx.n_textures = 2;
texnames[0] = "Ytex";
texnames[1] = "UVtex";
break;
case GST_VIDEO_FORMAT_NV21:
- tmp_prog = g_strdup_printf (frag_NV12_NV21_prog, 'a', 'r');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
+ frag_prog = g_strdup_printf (frag_NV12_NV21_prog, 'a', 'r');
+ free_frag_prog = TRUE;
eglglessink->eglglesctx.n_textures = 2;
texnames[0] = "Ytex";
texnames[1] = "UVtex";
@@ -1291,25 +1259,22 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
case GST_VIDEO_FORMAT_BGR:
case GST_VIDEO_FORMAT_BGRx:
case GST_VIDEO_FORMAT_BGRA:
- tmp_prog = g_strdup_printf (frag_REORDER_prog, 'b', 'g', 'r');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
+ frag_prog = g_strdup_printf (frag_REORDER_prog, 'b', 'g', 'r');
+ free_frag_prog = TRUE;
eglglessink->eglglesctx.n_textures = 1;
texnames[0] = "tex";
break;
case GST_VIDEO_FORMAT_xRGB:
case GST_VIDEO_FORMAT_ARGB:
- tmp_prog = g_strdup_printf (frag_REORDER_prog, 'g', 'b', 'a');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
+ frag_prog = g_strdup_printf (frag_REORDER_prog, 'g', 'b', 'a');
+ free_frag_prog = TRUE;
eglglessink->eglglesctx.n_textures = 1;
texnames[0] = "tex";
break;
case GST_VIDEO_FORMAT_xBGR:
case GST_VIDEO_FORMAT_ABGR:
- tmp_prog = g_strdup_printf (frag_REORDER_prog, 'a', 'b', 'g');
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1,
- (const GLchar **) &tmp_prog, NULL);
+ frag_prog = g_strdup_printf (frag_REORDER_prog, 'a', 'b', 'g');
+ free_frag_prog = TRUE;
eglglessink->eglglesctx.n_textures = 1;
texnames[0] = "tex";
break;
@@ -1317,8 +1282,8 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
case GST_VIDEO_FORMAT_RGBx:
case GST_VIDEO_FORMAT_RGBA:
case GST_VIDEO_FORMAT_RGB16:
- glShaderSource (eglglessink->eglglesctx.fragshader[0], 1, &frag_COPY_prog,
- NULL);
+ frag_prog = (gchar *) frag_COPY_prog;
+ free_frag_prog = FALSE;
eglglessink->eglglesctx.n_textures = 1;
texnames[0] = "tex";
break;
@@ -1327,141 +1292,56 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
break;
}
- if (got_gl_error ("glShaderSource fragment"))
- goto HANDLE_ERROR;
-
- glCompileShader (eglglessink->eglglesctx.fragshader[0]);
- if (got_gl_error ("glCompileShader fragment"))
- goto HANDLE_ERROR;
-
- glGetShaderiv (eglglessink->eglglesctx.fragshader[0], GL_COMPILE_STATUS,
- &test);
- if (test != GL_FALSE)
- GST_DEBUG_OBJECT (eglglessink, "Successfully compiled fragment shader");
- else {
- GST_ERROR_OBJECT (eglglessink, "Couldn't compile fragment shader");
- glGetShaderiv (eglglessink->eglglesctx.fragshader[0], GL_INFO_LOG_LENGTH,
- &test);
- info_log = g_new0 (GLchar, test);
- glGetShaderInfoLog (eglglessink->eglglesctx.fragshader[0], test, NULL,
- info_log);
- GST_INFO_OBJECT (eglglessink, "Compilation info log:\n%s", info_log);
- g_free (info_log);
- goto HANDLE_ERROR;
- }
-
- eglglessink->eglglesctx.glslprogram[0] = glCreateProgram ();
- if (got_gl_error ("glCreateProgram"))
- goto HANDLE_ERROR;
- glAttachShader (eglglessink->eglglesctx.glslprogram[0],
- eglglessink->eglglesctx.vertshader[0]);
- if (got_gl_error ("glAttachShader vertices"))
- goto HANDLE_ERROR;
- glAttachShader (eglglessink->eglglesctx.glslprogram[0],
- eglglessink->eglglesctx.fragshader[0]);
- if (got_gl_error ("glAttachShader fragments"))
- goto HANDLE_ERROR;
- glLinkProgram (eglglessink->eglglesctx.glslprogram[0]);
- glGetProgramiv (eglglessink->eglglesctx.glslprogram[0], GL_LINK_STATUS,
- &test);
- if (test != GL_FALSE)
- GST_DEBUG_OBJECT (eglglessink, "GLES: Successfully linked program");
- else {
- GST_ERROR_OBJECT (eglglessink, "Couldn't link program");
+ if (!create_shader_program (eglglessink,
+ &eglglessink->eglglesctx.glslprogram[0],
+ &eglglessink->eglglesctx.vertshader[0],
+ &eglglessink->eglglesctx.fragshader[0], vert_COPY_prog, frag_prog)) {
+ if (free_frag_prog)
+ g_free (frag_prog);
+ frag_prog = NULL;
goto HANDLE_ERROR;
}
+ if (free_frag_prog)
+ g_free (frag_prog);
+ frag_prog = NULL;
eglglessink->eglglesctx.position_loc[0] =
glGetAttribLocation (eglglessink->eglglesctx.glslprogram[0], "position");
- eglglessink->eglglesctx.texpos_loc =
+ eglglessink->eglglesctx.texpos_loc[0] =
glGetAttribLocation (eglglessink->eglglesctx.glslprogram[0], "texpos");
+ eglglessink->eglglesctx.tex_scale_loc[0][0] =
+ glGetUniformLocation (eglglessink->eglglesctx.glslprogram[0],
+ "tex_scale0");
+ eglglessink->eglglesctx.tex_scale_loc[0][1] =
+ glGetUniformLocation (eglglessink->eglglesctx.glslprogram[0],
+ "tex_scale1");
+ eglglessink->eglglesctx.tex_scale_loc[0][2] =
+ glGetUniformLocation (eglglessink->eglglesctx.glslprogram[0],
+ "tex_scale2");
glEnableVertexAttribArray (eglglessink->eglglesctx.position_loc[0]);
if (got_gl_error ("glEnableVertexAttribArray"))
goto HANDLE_ERROR;
- glEnableVertexAttribArray (eglglessink->eglglesctx.texpos_loc);
+ glEnableVertexAttribArray (eglglessink->eglglesctx.texpos_loc[0]);
if (got_gl_error ("glEnableVertexAttribArray"))
goto HANDLE_ERROR;
+ for (i = 0; i < eglglessink->eglglesctx.n_textures; i++) {
+ eglglessink->eglglesctx.tex_loc[0][i] =
+ glGetUniformLocation (eglglessink->eglglesctx.glslprogram[0],
+ texnames[i]);
+ }
+
if (!eglglessink->eglglesctx.buffer_preserved) {
/* Build shader program for black borders */
- eglglessink->eglglesctx.vertshader[1] = glCreateShader (GL_VERTEX_SHADER);
- GST_DEBUG_OBJECT (eglglessink, "Sending %s to handle %d",
- vert_COPY_prog_no_tex, eglglessink->eglglesctx.vertshader[1]);
- glShaderSource (eglglessink->eglglesctx.vertshader[1], 1,
- &vert_COPY_prog_no_tex, NULL);
- if (got_gl_error ("glShaderSource vertex"))
- goto HANDLE_ERROR;
-
- glCompileShader (eglglessink->eglglesctx.vertshader[1]);
- if (got_gl_error ("glCompileShader vertex"))
- goto HANDLE_ERROR;
-
- glGetShaderiv (eglglessink->eglglesctx.vertshader[1], GL_COMPILE_STATUS,
- &test);
- if (test != GL_FALSE)
- GST_DEBUG_OBJECT (eglglessink, "Successfully compiled vertex shader");
- else {
- GST_ERROR_OBJECT (eglglessink, "Couldn't compile vertex shader");
- glGetShaderiv (eglglessink->eglglesctx.vertshader[1], GL_INFO_LOG_LENGTH,
- &test);
- info_log = g_new0 (GLchar, test);
- glGetShaderInfoLog (eglglessink->eglglesctx.vertshader[1], test, NULL,
- info_log);
- GST_INFO_OBJECT (eglglessink, "Compilation info log:\n%s", info_log);
- g_free (info_log);
- goto HANDLE_ERROR;
- }
-
- eglglessink->eglglesctx.fragshader[1] = glCreateShader (GL_FRAGMENT_SHADER);
- glShaderSource (eglglessink->eglglesctx.fragshader[1], 1, &frag_BLACK_prog,
- NULL);
-
- if (got_gl_error ("glShaderSource fragment"))
+ if (!create_shader_program (eglglessink,
+ &eglglessink->eglglesctx.glslprogram[1],
+ &eglglessink->eglglesctx.vertshader[1],
+ &eglglessink->eglglesctx.fragshader[1], vert_COPY_prog_no_tex,
+ frag_BLACK_prog))
goto HANDLE_ERROR;
- glCompileShader (eglglessink->eglglesctx.fragshader[1]);
- if (got_gl_error ("glCompileShader fragment"))
- goto HANDLE_ERROR;
-
- glGetShaderiv (eglglessink->eglglesctx.fragshader[1], GL_COMPILE_STATUS,
- &test);
- if (test != GL_FALSE)
- GST_DEBUG_OBJECT (eglglessink, "Successfully compiled fragment shader");
- else {
- GST_ERROR_OBJECT (eglglessink, "Couldn't compile fragment shader");
- glGetShaderiv (eglglessink->eglglesctx.fragshader[1], GL_INFO_LOG_LENGTH,
- &test);
- info_log = g_new0 (GLchar, test);
- glGetShaderInfoLog (eglglessink->eglglesctx.fragshader[1], test, NULL,
- info_log);
- GST_INFO_OBJECT (eglglessink, "Compilation info log:\n%s", info_log);
- g_free (info_log);
- goto HANDLE_ERROR;
- }
-
- eglglessink->eglglesctx.glslprogram[1] = glCreateProgram ();
- if (got_gl_error ("glCreateProgram"))
- goto HANDLE_ERROR;
- glAttachShader (eglglessink->eglglesctx.glslprogram[1],
- eglglessink->eglglesctx.vertshader[1]);
- if (got_gl_error ("glAttachShader vertices"))
- goto HANDLE_ERROR;
- glAttachShader (eglglessink->eglglesctx.glslprogram[1],
- eglglessink->eglglesctx.fragshader[1]);
- if (got_gl_error ("glAttachShader fragments"))
- goto HANDLE_ERROR;
- glLinkProgram (eglglessink->eglglesctx.glslprogram[1]);
- glGetProgramiv (eglglessink->eglglesctx.glslprogram[1], GL_LINK_STATUS,
- &test);
- if (test != GL_FALSE)
- GST_DEBUG_OBJECT (eglglessink, "GLES: Successfully linked program");
- else {
- GST_ERROR_OBJECT (eglglessink, "Couldn't link program");
- goto HANDLE_ERROR;
- }
-
eglglessink->eglglesctx.position_loc[1] =
glGetAttribLocation (eglglessink->eglglesctx.glslprogram[1],
"position");
@@ -1471,34 +1351,19 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
goto HANDLE_ERROR;
}
- glUseProgram (eglglessink->eglglesctx.glslprogram[0]);
-
- /* Generate and bind texture */
+ /* Generate textures */
if (!eglglessink->have_texture) {
- gint i;
-
GST_INFO_OBJECT (eglglessink, "Performing initial texture setup");
- for (i = 0; i < eglglessink->eglglesctx.n_textures; i++) {
- if (i == 0)
- glActiveTexture (GL_TEXTURE0);
- else if (i == 1)
- glActiveTexture (GL_TEXTURE1);
- else if (i == 2)
- glActiveTexture (GL_TEXTURE2);
-
- glGenTextures (1, &eglglessink->eglglesctx.texture[i]);
- if (got_gl_error ("glGenTextures"))
- goto HANDLE_ERROR_LOCKED;
+ glGenTextures (eglglessink->eglglesctx.n_textures,
+ eglglessink->eglglesctx.texture);
+ if (got_gl_error ("glGenTextures"))
+ goto HANDLE_ERROR_LOCKED;
+ for (i = 0; i < eglglessink->eglglesctx.n_textures; i++) {
glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[i]);
if (got_gl_error ("glBindTexture"))
- goto HANDLE_ERROR_LOCKED;
-
- eglglessink->eglglesctx.tex_loc[i] =
- glGetUniformLocation (eglglessink->eglglesctx.glslprogram[0],
- texnames[i]);
- glUniform1i (eglglessink->eglglesctx.tex_loc[i], i);
+ goto HANDLE_ERROR;
/* Set 2D resizing params */
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
@@ -1515,9 +1380,8 @@ gst_eglglessink_init_egl_surface (GstEglGlesSink * eglglessink)
eglglessink->have_texture = TRUE;
}
- glUseProgram (0);
- g_free (tmp_prog);
+ glUseProgram (0);
return TRUE;
@@ -1527,7 +1391,6 @@ HANDLE_EGL_ERROR_LOCKED:
HANDLE_ERROR_LOCKED:
HANDLE_ERROR:
GST_ERROR_OBJECT (eglglessink, "Couldn't setup EGL surface");
- g_free (tmp_prog);
return FALSE;
}
@@ -1536,6 +1399,15 @@ gst_eglglessink_init_egl_display (GstEglGlesSink * eglglessink)
{
GST_DEBUG_OBJECT (eglglessink, "Enter EGL initial configuration");
+#ifdef USE_EGL_RPI
+ /* See https://github.com/raspberrypi/firmware/issues/99 */
+ if (!eglMakeCurrent ((EGLDisplay) 1, EGL_NO_SURFACE, EGL_NO_SURFACE,
+ EGL_NO_CONTEXT)) {
+ got_egl_error ("eglMakeCurrent");
+ GST_ERROR_OBJECT (eglglessink, "Couldn't unbind context");
+ return FALSE;
+ }
+#endif
eglglessink->eglglesctx.display = eglGetDisplay (EGL_DEFAULT_DISPLAY);
if (eglglessink->eglglesctx.display == EGL_NO_DISPLAY) {
GST_ERROR_OBJECT (eglglessink, "Could not get EGL display connection");
@@ -1545,7 +1417,7 @@ gst_eglglessink_init_egl_display (GstEglGlesSink * eglglessink)
if (!eglInitialize (eglglessink->eglglesctx.display,
&eglglessink->eglglesctx.egl_major,
&eglglessink->eglglesctx.egl_minor)) {
- show_egl_error ("eglInitialize");
+ got_egl_error ("eglInitialize");
GST_ERROR_OBJECT (eglglessink, "Could not init EGL display connection");
goto HANDLE_EGL_ERROR;
}
@@ -1582,9 +1454,9 @@ gst_eglglessink_choose_config (GstEglGlesSink * eglglessink)
GLint egl_configs;
if ((eglChooseConfig (eglglessink->eglglesctx.display,
- eglglessink->selected_fmt->attribs,
+ eglglessink_RGBA8888_attribs,
&eglglessink->eglglesctx.config, 1, &egl_configs)) == EGL_FALSE) {
- show_egl_error ("eglChooseConfig");
+ got_egl_error ("eglChooseConfig");
GST_ERROR_OBJECT (eglglessink, "eglChooseConfig failed");
goto HANDLE_EGL_ERROR;
}
@@ -1618,7 +1490,7 @@ HANDLE_ERROR:
}
static void
-gst_eglglessink_set_window_handle (GstXOverlay * overlay, guintptr id)
+gst_eglglessink_set_window_handle (GstVideoOverlay * overlay, guintptr id)
{
GstEglGlesSink *eglglessink = GST_EGLGLESSINK (overlay);
@@ -1635,220 +1507,562 @@ gst_eglglessink_set_window_handle (GstXOverlay * overlay, guintptr id)
}
static void
-gst_eglglessink_set_render_rectangle (GstXOverlay * overlay, gint x, gint y,
- gint width, gint height)
+gst_eglglessink_set_render_rectangle (GstVideoOverlay * overlay, gint x,
+ gint y, gint width, gint height)
{
GstEglGlesSink *eglglessink = GST_EGLGLESSINK (overlay);
g_return_if_fail (GST_IS_EGLGLESSINK (eglglessink));
GST_OBJECT_LOCK (eglglessink);
- if (width == -1 && height == -1) {
- /* This is the set-defaults condition according to
- * the xOverlay interface docs
- */
- gst_eglglessink_reset_display_region (eglglessink);
- } else {
- GST_OBJECT_LOCK (eglglessink);
- eglglessink->display_region.x = x;
- eglglessink->display_region.y = y;
- eglglessink->display_region.w = width;
- eglglessink->display_region.h = height;
- GST_OBJECT_UNLOCK (eglglessink);
- }
+ eglglessink->render_region.x = x;
+ eglglessink->render_region.y = y;
+ eglglessink->render_region.w = width;
+ eglglessink->render_region.h = height;
+ eglglessink->render_region_changed = TRUE;
+ eglglessink->render_region_user = (width != -1 && height != -1);
+ GST_OBJECT_UNLOCK (eglglessink);
return;
}
static void
-queue_item_destroy (GstDataQueueItem * item)
+queue_item_destroy (EGLGstDataQueueItem * item)
{
gst_mini_object_replace (&item->object, NULL);
- g_slice_free (GstDataQueueItem, item);
+ g_slice_free (EGLGstDataQueueItem, item);
}
static GstFlowReturn
-gst_eglglessink_queue_buffer (GstEglGlesSink * eglglessink, GstBuffer * buf)
+gst_eglglessink_queue_object (GstEglGlesSink * eglglessink, GstMiniObject * obj)
{
- GstDataQueueItem *item = g_slice_new0 (GstDataQueueItem);
+ EGLGstDataQueueItem *item;
+ GstFlowReturn last_flow;
- item->object = GST_MINI_OBJECT_CAST (buf);
- item->size = (buf ? GST_BUFFER_SIZE (buf) : 0);
- item->duration = (buf ? GST_BUFFER_DURATION (buf) : GST_CLOCK_TIME_NONE);
- item->visible = (buf ? TRUE : FALSE);
+ g_mutex_lock (&eglglessink->render_lock);
+ last_flow = eglglessink->last_flow;
+ g_mutex_unlock (&eglglessink->render_lock);
+
+ if (last_flow != GST_FLOW_OK)
+ return last_flow;
+
+ item = g_slice_new0 (EGLGstDataQueueItem);
+
+ item->object = obj ? gst_mini_object_ref (obj) : NULL;
+ item->size = 0;
+ item->duration = GST_CLOCK_TIME_NONE;
+ item->visible = TRUE;
item->destroy = (GDestroyNotify) queue_item_destroy;
- GST_DEBUG_OBJECT (eglglessink, "Queueing buffer %" GST_PTR_FORMAT, buf);
+ GST_DEBUG_OBJECT (eglglessink, "Queueing object %" GST_PTR_FORMAT, obj);
+
+ g_mutex_lock (&eglglessink->render_lock);
- if (buf)
- g_mutex_lock (eglglessink->render_lock);
- if (!gst_data_queue_push (eglglessink->queue, item)) {
- g_mutex_unlock (eglglessink->render_lock);
+ if (!egl_gst_data_queue_push (eglglessink->queue, item)) {
+ item->destroy (item);
+ g_mutex_unlock (&eglglessink->render_lock);
GST_DEBUG_OBJECT (eglglessink, "Flushing");
- return GST_FLOW_WRONG_STATE;
+ return GST_FLOW_FLUSHING;
}
- if (buf) {
- GST_DEBUG_OBJECT (eglglessink, "Waiting for buffer to be rendered");
- g_cond_wait (eglglessink->render_cond, eglglessink->render_lock);
- GST_DEBUG_OBJECT (eglglessink, "Buffer rendered: %s",
- gst_flow_get_name (eglglessink->last_flow));
- g_mutex_unlock (eglglessink->render_lock);
+ GST_DEBUG_OBJECT (eglglessink, "Waiting for obj to be handled");
+ g_cond_wait (&eglglessink->render_cond, &eglglessink->render_lock);
+ GST_DEBUG_OBJECT (eglglessink, "Buffer rendered: %s",
+ gst_flow_get_name (eglglessink->last_flow));
+ last_flow = eglglessink->last_flow;
+ g_mutex_unlock (&eglglessink->render_lock);
+
+ return (obj ? last_flow : GST_FLOW_OK);
+}
+
+static gboolean
+gst_eglglessink_crop_changed (GstEglGlesSink * eglglessink,
+ GstVideoCropMeta * crop)
+{
+ if (crop) {
+ return (crop->x != eglglessink->crop.x ||
+ crop->y != eglglessink->crop.y ||
+ crop->width != eglglessink->crop.w ||
+ crop->height != eglglessink->crop.h);
}
- return (buf ? eglglessink->last_flow : GST_FLOW_OK);
+ return (eglglessink->crop.x != 0 || eglglessink->crop.y != 0 ||
+ eglglessink->crop.w != eglglessink->configured_info.width ||
+ eglglessink->crop.h != eglglessink->configured_info.height);
}
/* Rendering and display */
-static GstFlowReturn
-gst_eglglessink_render_and_display (GstEglGlesSink * eglglessink,
- GstBuffer * buf)
+static gboolean
+gst_eglglessink_fill_texture (GstEglGlesSink * eglglessink, GstBuffer * buf)
{
- GstVideoRectangle frame, surface;
+ GstVideoFrame vframe;
gint w, h;
- guint dar_n, dar_d;
- w = GST_VIDEO_SINK_WIDTH (eglglessink);
- h = GST_VIDEO_SINK_HEIGHT (eglglessink);
+ memset (&vframe, 0, sizeof (vframe));
+
+ if (!gst_video_frame_map (&vframe, &eglglessink->configured_info, buf,
+ GST_MAP_READ)) {
+ GST_ERROR_OBJECT (eglglessink, "Couldn't map frame");
+ goto HANDLE_ERROR;
+ }
+
+ w = GST_VIDEO_FRAME_WIDTH (&vframe);
+ h = GST_VIDEO_FRAME_HEIGHT (&vframe);
GST_DEBUG_OBJECT (eglglessink,
- "Got good buffer %p. Sink geometry is %dx%d size %d", buf, w, h,
- buf ? GST_BUFFER_SIZE (buf) : -1);
-
- if (buf) {
- switch (eglglessink->selected_fmt->fmt) {
- case GST_EGLGLESSINK_IMAGE_RGB888:
- glActiveTexture (GL_TEXTURE0);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB,
- GL_UNSIGNED_BYTE, GST_BUFFER_DATA (buf));
- break;
- case GST_EGLGLESSINK_IMAGE_RGB565:
- glActiveTexture (GL_TEXTURE0);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, w, h, 0, GL_RGB,
- GL_UNSIGNED_SHORT_5_6_5, GST_BUFFER_DATA (buf));
- break;
- case GST_EGLGLESSINK_IMAGE_RGBA8888:
-
- switch (eglglessink->format) {
- case GST_VIDEO_FORMAT_RGBA:
- case GST_VIDEO_FORMAT_BGRA:
- case GST_VIDEO_FORMAT_ARGB:
- case GST_VIDEO_FORMAT_ABGR:
- case GST_VIDEO_FORMAT_RGBx:
- case GST_VIDEO_FORMAT_BGRx:
- case GST_VIDEO_FORMAT_xRGB:
- case GST_VIDEO_FORMAT_xBGR:
- glActiveTexture (GL_TEXTURE0);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA,
- GL_UNSIGNED_BYTE, GST_BUFFER_DATA (buf));
- break;
- case GST_VIDEO_FORMAT_AYUV:
- glActiveTexture (GL_TEXTURE0);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA,
- GL_UNSIGNED_BYTE, GST_BUFFER_DATA (buf));
- break;
- case GST_VIDEO_FORMAT_Y444:
- case GST_VIDEO_FORMAT_I420:
- case GST_VIDEO_FORMAT_YV12:
- case GST_VIDEO_FORMAT_Y42B:
- case GST_VIDEO_FORMAT_Y41B:{
- gint coffset, cw, ch;
-
- coffset =
- gst_video_format_get_component_offset (eglglessink->format,
- 0, w, h);
- cw = gst_video_format_get_component_width (eglglessink->format,
- 0, w);
- ch = gst_video_format_get_component_height (eglglessink->format,
- 0, h);
- glActiveTexture (GL_TEXTURE0);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE, cw, ch, 0,
- GL_LUMINANCE, GL_UNSIGNED_BYTE,
- GST_BUFFER_DATA (buf) + coffset);
- coffset =
- gst_video_format_get_component_offset (eglglessink->format,
- 1, w, h);
- cw = gst_video_format_get_component_width (eglglessink->format,
- 1, w);
- ch = gst_video_format_get_component_height (eglglessink->format,
- 1, h);
- glActiveTexture (GL_TEXTURE1);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[1]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE, cw, ch, 0,
- GL_LUMINANCE, GL_UNSIGNED_BYTE,
- GST_BUFFER_DATA (buf) + coffset);
- coffset =
- gst_video_format_get_component_offset (eglglessink->format,
- 2, w, h);
- cw = gst_video_format_get_component_width (eglglessink->format,
- 2, w);
- ch = gst_video_format_get_component_height (eglglessink->format,
- 2, h);
- glActiveTexture (GL_TEXTURE2);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[2]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE, cw, ch, 0,
- GL_LUMINANCE, GL_UNSIGNED_BYTE,
- GST_BUFFER_DATA (buf) + coffset);
- break;
- }
- case GST_VIDEO_FORMAT_YUY2:
- case GST_VIDEO_FORMAT_YVYU:
- case GST_VIDEO_FORMAT_UYVY:
- glActiveTexture (GL_TEXTURE0);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, w, h, 0,
- GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, GST_BUFFER_DATA (buf));
- glActiveTexture (GL_TEXTURE1);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[1]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, GST_ROUND_UP_2 (w) / 2,
- h, 0, GL_RGBA, GL_UNSIGNED_BYTE, GST_BUFFER_DATA (buf));
- break;
- case GST_VIDEO_FORMAT_NV12:
- case GST_VIDEO_FORMAT_NV21:{
- gint coffset, cw, ch;
-
- coffset =
- gst_video_format_get_component_offset (eglglessink->format,
- 0, w, h);
- cw = gst_video_format_get_component_width (eglglessink->format,
- 0, w);
- ch = gst_video_format_get_component_height (eglglessink->format,
- 0, h);
- glActiveTexture (GL_TEXTURE0);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE, cw, ch, 0,
- GL_LUMINANCE, GL_UNSIGNED_BYTE,
- GST_BUFFER_DATA (buf) + coffset);
-
- coffset =
- gst_video_format_get_component_offset (eglglessink->format,
- (eglglessink->format == GST_VIDEO_FORMAT_NV12 ? 1 : 2), w, h);
- cw = gst_video_format_get_component_width (eglglessink->format, 1,
- w);
- ch = gst_video_format_get_component_height (eglglessink->format, 1,
- h);
- glActiveTexture (GL_TEXTURE1);
- glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[1]);
- glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, cw, ch, 0,
- GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE,
- GST_BUFFER_DATA (buf) + coffset);
- break;
- }
- default:
- g_assert_not_reached ();
- break;
+ "Got buffer %p: %dx%d size %d", buf, w, h, gst_buffer_get_size (buf));
+
+ switch (eglglessink->configured_info.finfo->format) {
+ case GST_VIDEO_FORMAT_BGR:
+ case GST_VIDEO_FORMAT_RGB:{
+ gint stride;
+ gint stride_width;
+ gint c_w;
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 0);
+ stride_width = c_w = GST_VIDEO_FRAME_WIDTH (&vframe);
+
+ glActiveTexture (GL_TEXTURE0);
+
+ if (GST_ROUND_UP_8 (c_w * 3) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (c_w * 3) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (c_w * 3) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (c_w * 3 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width * 3) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (stride_width * 3) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (stride_width * 3) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (stride_width * 3 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[0] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, stride_width, h, 0, GL_RGB,
+ GL_UNSIGNED_BYTE, GST_VIDEO_FRAME_PLANE_DATA (&vframe, 0));
+ break;
+ }
+ case GST_VIDEO_FORMAT_RGB16:{
+ gint stride;
+ gint stride_width;
+ gint c_w;
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 0);
+ stride_width = c_w = GST_VIDEO_FRAME_WIDTH (&vframe);
+
+ glActiveTexture (GL_TEXTURE0);
+
+ if (GST_ROUND_UP_8 (c_w * 2) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (c_w * 2) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (c_w * 2 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width * 4) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (stride_width * 2) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (stride_width * 2 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[0] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, stride_width, h, 0, GL_RGB,
+ GL_UNSIGNED_SHORT_5_6_5, GST_VIDEO_FRAME_PLANE_DATA (&vframe, 0));
+ break;
+ }
+ case GST_VIDEO_FORMAT_RGBA:
+ case GST_VIDEO_FORMAT_BGRA:
+ case GST_VIDEO_FORMAT_ARGB:
+ case GST_VIDEO_FORMAT_ABGR:
+ case GST_VIDEO_FORMAT_RGBx:
+ case GST_VIDEO_FORMAT_BGRx:
+ case GST_VIDEO_FORMAT_xRGB:
+ case GST_VIDEO_FORMAT_xBGR:{
+ gint stride;
+ gint stride_width;
+ gint c_w;
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 0);
+ stride_width = c_w = GST_VIDEO_FRAME_WIDTH (&vframe);
+
+ glActiveTexture (GL_TEXTURE0);
+
+ if (GST_ROUND_UP_8 (c_w * 4) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (c_w * 4 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width * 4) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (stride_width * 4 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[0] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, stride_width, h, 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, GST_VIDEO_FRAME_PLANE_DATA (&vframe, 0));
+ break;
+ }
+ case GST_VIDEO_FORMAT_AYUV:{
+ gint stride;
+ gint stride_width;
+ gint c_w;
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 0);
+ stride_width = c_w = GST_VIDEO_FRAME_WIDTH (&vframe);
+
+ glActiveTexture (GL_TEXTURE0);
+
+ if (GST_ROUND_UP_8 (c_w * 4) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (c_w * 4 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width * 4) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (stride_width * 4 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[0] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, stride_width, h, 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, GST_VIDEO_FRAME_PLANE_DATA (&vframe, 0));
+ break;
+ }
+ case GST_VIDEO_FORMAT_Y444:
+ case GST_VIDEO_FORMAT_I420:
+ case GST_VIDEO_FORMAT_YV12:
+ case GST_VIDEO_FORMAT_Y42B:
+ case GST_VIDEO_FORMAT_Y41B:{
+ gint stride;
+ gint stride_width;
+ gint c_w;
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 0);
+ stride_width = c_w = GST_VIDEO_FRAME_COMP_WIDTH (&vframe, 0);
+
+ glActiveTexture (GL_TEXTURE0);
+
+ if (GST_ROUND_UP_8 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (c_w == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (stride_width == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[0] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE,
+ stride_width,
+ GST_VIDEO_FRAME_COMP_HEIGHT (&vframe, 0),
+ 0, GL_LUMINANCE, GL_UNSIGNED_BYTE,
+ GST_VIDEO_FRAME_COMP_DATA (&vframe, 0));
+
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 1);
+ stride_width = c_w = GST_VIDEO_FRAME_COMP_WIDTH (&vframe, 1);
+
+ glActiveTexture (GL_TEXTURE1);
+
+ if (GST_ROUND_UP_8 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (c_w == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (stride_width == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[1] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[1]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE,
+ stride_width,
+ GST_VIDEO_FRAME_COMP_HEIGHT (&vframe, 1),
+ 0, GL_LUMINANCE, GL_UNSIGNED_BYTE,
+ GST_VIDEO_FRAME_COMP_DATA (&vframe, 1));
+
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 2);
+ stride_width = c_w = GST_VIDEO_FRAME_COMP_WIDTH (&vframe, 2);
+
+ glActiveTexture (GL_TEXTURE2);
+
+ if (GST_ROUND_UP_8 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (c_w == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (stride_width == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
}
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[2] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[2]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE,
+ stride_width,
+ GST_VIDEO_FRAME_COMP_HEIGHT (&vframe, 2),
+ 0, GL_LUMINANCE, GL_UNSIGNED_BYTE,
+ GST_VIDEO_FRAME_COMP_DATA (&vframe, 2));
+ break;
}
+ case GST_VIDEO_FORMAT_NV12:
+ case GST_VIDEO_FORMAT_NV21:{
+ gint stride;
+ gint stride_width;
+ gint c_w;
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 0);
+ stride_width = c_w = GST_VIDEO_FRAME_COMP_WIDTH (&vframe, 0);
+
+ glActiveTexture (GL_TEXTURE0);
+
+ if (GST_ROUND_UP_8 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (c_w) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (c_w == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ stride_width = stride;
+
+ if (GST_ROUND_UP_8 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (GST_ROUND_UP_2 (stride_width) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else if (stride_width == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[0] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[0]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE,
+ stride_width,
+ GST_VIDEO_FRAME_COMP_HEIGHT (&vframe, 0),
+ 0, GL_LUMINANCE, GL_UNSIGNED_BYTE,
+ GST_VIDEO_FRAME_PLANE_DATA (&vframe, 0));
+
+
+ stride = GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, 1);
+ stride_width = c_w = GST_VIDEO_FRAME_COMP_WIDTH (&vframe, 1);
+
+ glActiveTexture (GL_TEXTURE1);
+
+ if (GST_ROUND_UP_8 (c_w * 2) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (c_w * 2) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (c_w * 2 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else {
+ stride_width = stride / 2;
+
+ if (GST_ROUND_UP_8 (stride_width * 2) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 8);
+ } else if (GST_ROUND_UP_4 (stride_width * 2) == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 4);
+ } else if (stride_width * 2 == stride) {
+ glPixelStorei (GL_UNPACK_ALIGNMENT, 2);
+ } else {
+ GST_ERROR_OBJECT (eglglessink, "Unsupported stride %d", stride);
+ goto HANDLE_ERROR;
+ }
+ }
+ if (got_gl_error ("glPixelStorei"))
+ goto HANDLE_ERROR;
+
+ eglglessink->stride[1] = ((gdouble) stride_width) / ((gdouble) c_w);
+
+ glBindTexture (GL_TEXTURE_2D, eglglessink->eglglesctx.texture[1]);
+ glTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA,
+ stride_width,
+ GST_VIDEO_FRAME_COMP_HEIGHT (&vframe, 1),
+ 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE,
+ GST_VIDEO_FRAME_PLANE_DATA (&vframe, 1));
+ break;
+ }
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+
+ if (got_gl_error ("glTexImage2D"))
+ goto HANDLE_ERROR;
- if (got_gl_error ("glTexImage2D"))
+ gst_video_frame_unmap (&vframe);
+
+ return TRUE;
+
+HANDLE_ERROR:
+ {
+ if (vframe.buffer)
+ gst_video_frame_unmap (&vframe);
+ return FALSE;
+ }
+}
+
+/* Rendering and display */
+static GstFlowReturn
+gst_eglglessink_upload (GstEglGlesSink * eglglessink, GstBuffer * buf)
+{
+ GstVideoCropMeta *crop = NULL;
+
+ if (!buf) {
+ GST_DEBUG_OBJECT (eglglessink, "Rendering previous buffer again");
+ } else if (buf) {
+ crop = gst_buffer_get_video_crop_meta (buf);
+
+ if (gst_eglglessink_crop_changed (eglglessink, crop)) {
+ if (crop) {
+ eglglessink->crop.x = crop->x;
+ eglglessink->crop.y = crop->y;
+ eglglessink->crop.w = crop->width;
+ eglglessink->crop.h = crop->height;
+ } else {
+ eglglessink->crop.x = 0;
+ eglglessink->crop.y = 0;
+ eglglessink->crop.w = eglglessink->configured_info.width;
+ eglglessink->crop.h = eglglessink->configured_info.height;
+ }
+ eglglessink->crop_changed = TRUE;
+ }
+
+ if (!gst_eglglessink_fill_texture (eglglessink, buf))
goto HANDLE_ERROR;
}
+ return GST_FLOW_OK;
+
+HANDLE_ERROR:
+ {
+ GST_ERROR_OBJECT (eglglessink, "Failed to upload texture");
+ return GST_FLOW_ERROR;
+ }
+}
+
+static GstFlowReturn
+gst_eglglessink_render (GstEglGlesSink * eglglessink)
+{
+ guint dar_n, dar_d;
+ gint i;
+
/* If no one has set a display rectangle on us initialize
* a sane default. According to the docs on the xOverlay
* interface we are supposed to fill the overlay 100%. We
@@ -1857,52 +2071,73 @@ gst_eglglessink_render_and_display (GstEglGlesSink * eglglessink,
* force_aspect_ratio to FALSE.
*/
if (gst_eglglessink_update_surface_dimensions (eglglessink) ||
- !eglglessink->display_region.w || !eglglessink->display_region.h) {
+ eglglessink->render_region_changed ||
+ !eglglessink->display_region.w || !eglglessink->display_region.h ||
+ eglglessink->crop_changed) {
GST_OBJECT_LOCK (eglglessink);
+
+ if (!eglglessink->render_region_user) {
+ eglglessink->render_region.x = 0;
+ eglglessink->render_region.y = 0;
+ eglglessink->render_region.w = eglglessink->eglglesctx.surface_width;
+ eglglessink->render_region.h = eglglessink->eglglesctx.surface_height;
+ }
+ eglglessink->render_region_changed = FALSE;
+ eglglessink->crop_changed = FALSE;
+
if (!eglglessink->force_aspect_ratio) {
eglglessink->display_region.x = 0;
eglglessink->display_region.y = 0;
- eglglessink->display_region.w = eglglessink->eglglesctx.surface_width;
- eglglessink->display_region.h = eglglessink->eglglesctx.surface_height;
+ eglglessink->display_region.w = eglglessink->render_region.w;
+ eglglessink->display_region.h = eglglessink->render_region.h;
} else {
- if (!gst_video_calculate_display_ratio (&dar_n, &dar_d, w, h,
- eglglessink->par_n, eglglessink->par_d,
+ GstVideoRectangle frame;
+
+ frame.x = 0;
+ frame.y = 0;
+
+ if (!gst_video_calculate_display_ratio (&dar_n, &dar_d,
+ eglglessink->crop.w, eglglessink->crop.h,
+ eglglessink->configured_info.par_n,
+ eglglessink->configured_info.par_d,
eglglessink->eglglesctx.pixel_aspect_ratio,
EGL_DISPLAY_SCALING)) {
GST_WARNING_OBJECT (eglglessink, "Could not compute resulting DAR");
- frame.w = w;
- frame.h = h;
+ frame.w = eglglessink->crop.w;
+ frame.h = eglglessink->crop.h;
} else {
/* Find suitable matching new size acording to dar & par
* rationale for prefering leaving the height untouched
* comes from interlacing considerations.
* XXX: Move this to gstutils?
*/
- if (h % dar_d == 0) {
- frame.w = gst_util_uint64_scale_int (h, dar_n, dar_d);
- frame.h = h;
- } else if (w % dar_n == 0) {
- frame.h = gst_util_uint64_scale_int (w, dar_d, dar_n);
- frame.w = w;
+ if (eglglessink->crop.h % dar_d == 0) {
+ frame.w =
+ gst_util_uint64_scale_int (eglglessink->crop.h, dar_n, dar_d);
+ frame.h = eglglessink->crop.h;
+ } else if (eglglessink->crop.w % dar_n == 0) {
+ frame.h =
+ gst_util_uint64_scale_int (eglglessink->crop.w, dar_d, dar_n);
+ frame.w = eglglessink->crop.w;
} else {
/* Neither width nor height can be precisely scaled.
* Prefer to leave height untouched. See comment above.
*/
- frame.w = gst_util_uint64_scale_int (h, dar_n, dar_d);
- frame.h = h;
+ frame.w =
+ gst_util_uint64_scale_int (eglglessink->crop.h, dar_n, dar_d);
+ frame.h = eglglessink->crop.h;
}
}
- surface.w = eglglessink->eglglesctx.surface_width;
- surface.h = eglglessink->eglglesctx.surface_height;
- gst_video_sink_center_rect (frame, surface,
+ gst_video_sink_center_rect (frame, eglglessink->render_region,
&eglglessink->display_region, TRUE);
}
- GST_OBJECT_UNLOCK (eglglessink);
- glViewport (0, 0,
- eglglessink->eglglesctx.surface_width,
- eglglessink->eglglesctx.surface_height);
+ glViewport (eglglessink->render_region.x,
+ eglglessink->eglglesctx.surface_height -
+ eglglessink->render_region.y -
+ eglglessink->render_region.h,
+ eglglessink->render_region.w, eglglessink->render_region.h);
/* Clear the surface once if its content is preserved */
if (eglglessink->eglglesctx.buffer_preserved) {
@@ -1911,9 +2146,11 @@ gst_eglglessink_render_and_display (GstEglGlesSink * eglglessink,
}
if (!gst_eglglessink_setup_vbo (eglglessink, FALSE)) {
+ GST_OBJECT_UNLOCK (eglglessink);
GST_ERROR_OBJECT (eglglessink, "VBO setup failed");
goto HANDLE_ERROR;
}
+ GST_OBJECT_UNLOCK (eglglessink);
}
if (!eglglessink->eglglesctx.buffer_preserved) {
@@ -1946,13 +2183,26 @@ gst_eglglessink_render_and_display (GstEglGlesSink * eglglessink,
GST_DEBUG_OBJECT (eglglessink, "Drawing video frame");
glUseProgram (eglglessink->eglglesctx.glslprogram[0]);
+ glUniform2f (eglglessink->eglglesctx.tex_scale_loc[0][0],
+ eglglessink->stride[0], 1);
+ glUniform2f (eglglessink->eglglesctx.tex_scale_loc[0][1],
+ eglglessink->stride[1], 1);
+ glUniform2f (eglglessink->eglglesctx.tex_scale_loc[0][2],
+ eglglessink->stride[2], 1);
+
+ for (i = 0; i < eglglessink->eglglesctx.n_textures; i++) {
+ glUniform1i (eglglessink->eglglesctx.tex_loc[0][i], i);
+ if (got_gl_error ("glUniform1i"))
+ goto HANDLE_ERROR;
+ }
+
glVertexAttribPointer (eglglessink->eglglesctx.position_loc[0], 3,
GL_FLOAT, GL_FALSE, sizeof (coord5), (gpointer) (0 * sizeof (coord5)));
if (got_gl_error ("glVertexAttribPointer"))
goto HANDLE_ERROR;
- glVertexAttribPointer (eglglessink->eglglesctx.texpos_loc, 2, GL_FLOAT,
- GL_FALSE, sizeof (coord5), (gpointer) (3 * sizeof (gfloat)));
+ glVertexAttribPointer (eglglessink->eglglesctx.texpos_loc[0], 2,
+ GL_FLOAT, GL_FALSE, sizeof (coord5), (gpointer) (3 * sizeof (gfloat)));
if (got_gl_error ("glVertexAttribPointer"))
goto HANDLE_ERROR;
@@ -1963,10 +2213,11 @@ gst_eglglessink_render_and_display (GstEglGlesSink * eglglessink,
if ((eglSwapBuffers (eglglessink->eglglesctx.display,
eglglessink->eglglesctx.surface))
== EGL_FALSE) {
- show_egl_error ("eglSwapBuffers");
+ got_egl_error ("eglSwapBuffers");
goto HANDLE_ERROR;
}
+
GST_DEBUG_OBJECT (eglglessink, "Succesfully rendered 1 frame");
return GST_FLOW_OK;
@@ -1986,13 +2237,11 @@ gst_eglglessink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
eglglessink = GST_EGLGLESSINK (vsink);
GST_DEBUG_OBJECT (eglglessink, "Got buffer: %p", buf);
- buf = gst_buffer_make_metadata_writable (gst_buffer_ref (buf));
- gst_buffer_set_caps (buf, eglglessink->current_caps);
- return gst_eglglessink_queue_buffer (eglglessink, buf);
+ return gst_eglglessink_queue_object (eglglessink, GST_MINI_OBJECT_CAST (buf));
}
static GstCaps *
-gst_eglglessink_getcaps (GstBaseSink * bsink)
+gst_eglglessink_getcaps (GstBaseSink * bsink, GstCaps * filter)
{
GstEglGlesSink *eglglessink;
GstCaps *ret = NULL;
@@ -2009,49 +2258,46 @@ gst_eglglessink_getcaps (GstBaseSink * bsink)
}
GST_OBJECT_UNLOCK (eglglessink);
+ if (filter) {
+ GstCaps *tmp =
+ gst_caps_intersect_full (filter, ret, GST_CAPS_INTERSECT_FIRST);
+
+ gst_caps_unref (ret);
+ ret = tmp;
+ }
+
return ret;
}
static gboolean
+gst_eglglessink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
+{
+ gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL);
+ gst_query_add_allocation_meta (query, GST_VIDEO_CROP_META_API_TYPE, NULL);
+
+ return TRUE;
+}
+
+static gboolean
gst_eglglessink_configure_caps (GstEglGlesSink * eglglessink, GstCaps * caps)
{
gboolean ret = TRUE;
- gint width, height;
- int par_n, par_d;
- GstEglGlesImageFmt *format;
+ GstVideoInfo info;
- if (!(ret = gst_video_format_parse_caps (caps, &eglglessink->format, &width,
- &height))) {
- GST_ERROR_OBJECT (eglglessink, "Got weird and/or incomplete caps");
+ gst_video_info_init (&info);
+ if (!(ret = gst_video_info_from_caps (&info, caps))) {
+ GST_ERROR_OBJECT (eglglessink, "Couldn't parse caps");
goto HANDLE_ERROR;
}
- if (!(ret = gst_video_parse_caps_pixel_aspect_ratio (caps, &par_n, &par_d))) {
- par_n = 1;
- par_d = 1;
- GST_WARNING_OBJECT (eglglessink,
- "Can't parse PAR from caps. Using default: 1");
- }
-
- format = gst_eglglessink_get_compat_format_from_caps (eglglessink, caps);
- if (!format) {
- GST_ERROR_OBJECT (eglglessink,
- "No supported and compatible EGL/GLES format found for given caps");
- goto HANDLE_ERROR;
- } else
- GST_INFO_OBJECT (eglglessink, "Selected compatible EGL/GLES format %d",
- format->fmt);
-
- eglglessink->selected_fmt = format;
- eglglessink->par_n = par_n;
- eglglessink->par_d = par_d;
- GST_VIDEO_SINK_WIDTH (eglglessink) = width;
- GST_VIDEO_SINK_HEIGHT (eglglessink) = height;
+ eglglessink->configured_info = info;
+ GST_VIDEO_SINK_WIDTH (eglglessink) = info.width;
+ GST_VIDEO_SINK_HEIGHT (eglglessink) = info.height;
if (eglglessink->configured_caps) {
- GST_ERROR_OBJECT (eglglessink, "Caps were already set");
+ GST_DEBUG_OBJECT (eglglessink, "Caps were already set");
if (gst_caps_can_intersect (caps, eglglessink->configured_caps)) {
- GST_INFO_OBJECT (eglglessink, "Caps are compatible anyway");
+ GST_DEBUG_OBJECT (eglglessink, "Caps are compatible anyway");
goto SUCCEED;
}
@@ -2080,7 +2326,9 @@ gst_eglglessink_configure_caps (GstEglGlesSink * eglglessink, GstCaps * caps)
GST_INFO_OBJECT (eglglessink,
"No window. Will attempt internal window creation");
- if (!(window = gst_eglglessink_create_window (eglglessink, width, height))) {
+ if (!(window =
+ gst_eglglessink_create_window (eglglessink, info.width,
+ info.height))) {
GST_ERROR_OBJECT (eglglessink, "Internal window creation failed!");
GST_OBJECT_UNLOCK (eglglessink);
goto HANDLE_ERROR;
@@ -2093,7 +2341,7 @@ gst_eglglessink_configure_caps (GstEglGlesSink * eglglessink, GstCaps * caps)
eglglessink->eglglesctx.window);
eglglessink->eglglesctx.used_window = eglglessink->eglglesctx.window;
GST_OBJECT_UNLOCK (eglglessink);
- gst_x_overlay_got_window_handle (GST_X_OVERLAY (eglglessink),
+ gst_video_overlay_got_window_handle (GST_VIDEO_OVERLAY (eglglessink),
(guintptr) eglglessink->eglglesctx.used_window);
if (!eglglessink->have_surface) {
@@ -2123,19 +2371,17 @@ gst_eglglessink_setcaps (GstBaseSink * bsink, GstCaps * caps)
"Current caps %" GST_PTR_FORMAT ", setting caps %"
GST_PTR_FORMAT, eglglessink->current_caps, caps);
+ if (gst_eglglessink_queue_object (eglglessink,
+ GST_MINI_OBJECT_CAST (caps)) != GST_FLOW_OK) {
+ GST_ERROR_OBJECT (eglglessink, "Failed to configure caps");
+ return FALSE;
+ }
+
gst_caps_replace (&eglglessink->current_caps, caps);
return TRUE;
}
-static void
-gst_eglglessink_wipe_fmt (gpointer data)
-{
- GstEglGlesImageFmt *format = data;
- gst_caps_unref (format->caps);
- g_free (format);
-}
-
static gboolean
gst_eglglessink_open (GstEglGlesSink * eglglessink)
{
@@ -2154,9 +2400,6 @@ gst_eglglessink_close (GstEglGlesSink * eglglessink)
eglglessink->eglglesctx.display = NULL;
}
- eglglessink->selected_fmt = NULL;
- g_list_free_full (eglglessink->supported_fmts, gst_eglglessink_wipe_fmt);
- eglglessink->supported_fmts = NULL;
gst_caps_unref (eglglessink->sinkcaps);
eglglessink->sinkcaps = NULL;
eglglessink->egl_started = FALSE;
@@ -2227,12 +2470,8 @@ gst_eglglessink_finalize (GObject * object)
g_object_unref (eglglessink->queue);
eglglessink->queue = NULL;
- if (eglglessink->render_cond)
- g_cond_free (eglglessink->render_cond);
- eglglessink->render_cond = NULL;
- if (eglglessink->render_lock);
- g_mutex_free (eglglessink->render_lock);
- eglglessink->render_lock = NULL;
+ g_cond_clear (&eglglessink->render_cond);
+ g_mutex_clear (&eglglessink->render_lock);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -2283,22 +2522,6 @@ gst_eglglessink_get_property (GObject * object, guint prop_id,
}
}
-static void
-gst_eglglessink_base_init (gpointer gclass)
-{
- GstElementClass *element_class = GST_ELEMENT_CLASS (gclass);
-
- gst_element_class_set_details_simple (element_class,
- "EGL/GLES vout Sink",
- "Sink/Video",
- "An EGL/GLES Video Output Sink Implementing the XOverlay interface",
- "Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>, "
- "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
-
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_eglglessink_sink_template_factory));
-}
-
/* initialize the eglglessink's class */
static void
gst_eglglessink_class_init (GstEglGlesSinkClass * klass)
@@ -2321,6 +2544,8 @@ gst_eglglessink_class_init (GstEglGlesSinkClass * klass)
gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_eglglessink_setcaps);
gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_eglglessink_getcaps);
+ gstbasesink_class->propose_allocation =
+ GST_DEBUG_FUNCPTR (gst_eglglessink_propose_allocation);
gstvideosink_class->show_frame =
GST_DEBUG_FUNCPTR (gst_eglglessink_show_frame);
@@ -2338,18 +2563,27 @@ gst_eglglessink_class_init (GstEglGlesSinkClass * klass)
"frame's geometry while scaling, taking both the storage's and "
"display's pixel aspect ratio into account",
TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ gst_element_class_set_static_metadata (gstelement_class,
+ "EGL/GLES vout Sink",
+ "Sink/Video",
+ "An EGL/GLES Video Output Sink Implementing the VideoOverlay interface",
+ "Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>, "
+ "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
+
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&gst_eglglessink_sink_template_factory));
}
static gboolean
-queue_check_full_func (GstDataQueue * queue, guint visible, guint bytes,
+queue_check_full_func (EGLGstDataQueue * queue, guint visible, guint bytes,
guint64 time, gpointer checkdata)
{
return visible != 0;
}
static void
-gst_eglglessink_init (GstEglGlesSink * eglglessink,
- GstEglGlesSinkClass * gclass)
+gst_eglglessink_init (GstEglGlesSink * eglglessink)
{
/* Init defaults */
@@ -2365,33 +2599,18 @@ gst_eglglessink_init (GstEglGlesSink * eglglessink,
eglglessink->create_window = TRUE;
eglglessink->force_aspect_ratio = TRUE;
- eglglessink->par_n = 1;
- eglglessink->par_d = 1;
-
- eglglessink->render_lock = g_mutex_new ();
- eglglessink->render_cond = g_cond_new ();
- eglglessink->queue = gst_data_queue_new (queue_check_full_func, NULL);
- eglglessink->last_flow = GST_FLOW_WRONG_STATE;
-}
-
-/* Interface initializations. Used here for initializing the XOverlay
- * Interface.
- */
-static void
-gst_eglglessink_init_interfaces (GType type)
-{
- static const GInterfaceInfo implements_info = {
- (GInterfaceInitFunc) gst_eglglessink_implements_init, NULL, NULL
- };
-
- static const GInterfaceInfo xoverlay_info = {
- (GInterfaceInitFunc) gst_eglglessink_xoverlay_init, NULL, NULL
- };
-
- g_type_add_interface_static (type, GST_TYPE_IMPLEMENTS_INTERFACE,
- &implements_info);
- g_type_add_interface_static (type, GST_TYPE_X_OVERLAY, &xoverlay_info);
-
+ g_mutex_init (&eglglessink->render_lock);
+ g_cond_init (&eglglessink->render_cond);
+ eglglessink->queue =
+ egl_gst_data_queue_new (queue_check_full_func, NULL, NULL, NULL);
+ eglglessink->last_flow = GST_FLOW_FLUSHING;
+
+ eglglessink->render_region.x = 0;
+ eglglessink->render_region.y = 0;
+ eglglessink->render_region.w = -1;
+ eglglessink->render_region.h = -1;
+ eglglessink->render_region_changed = TRUE;
+ eglglessink->render_region_user = FALSE;
}
/* entry point to initialize the plug-in
@@ -2405,6 +2624,11 @@ eglglessink_plugin_init (GstPlugin * plugin)
GST_DEBUG_CATEGORY_INIT (gst_eglglessink_debug, "eglglessink",
0, "Simple EGL/GLES Sink");
+#ifdef USE_EGL_RPI
+ GST_DEBUG ("Initialize BCM host");
+ bcm_host_init ();
+#endif
+
return gst_element_register (plugin, "eglglessink", GST_RANK_PRIMARY,
GST_TYPE_EGLGLESSINK);
}
@@ -2412,7 +2636,7 @@ eglglessink_plugin_init (GstPlugin * plugin)
/* gstreamer looks for this structure to register eglglessinks */
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
- "eglglessink",
+ eglglessink,
"EGL/GLES sink",
eglglessink_plugin_init,
- VERSION, "LGPL", "GStreamer", "http://gstreamer.net/")
+ VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/eglgles/gsteglglessink.h b/ext/eglgles/gsteglglessink.h
index d57a8e11..88a5b465 100644
--- a/ext/eglgles/gsteglglessink.h
+++ b/ext/eglgles/gsteglglessink.h
@@ -47,8 +47,9 @@
#define __GST_EGLGLESSINK_H__
#include <gst/gst.h>
+#include <gst/video/video.h>
#include <gst/video/gstvideosink.h>
-#include <gst/base/gstdataqueue.h>
+#include "gstdataqueue.h"
#include <EGL/egl.h>
#include <EGL/eglext.h>
@@ -66,10 +67,7 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_EGLGLESSINK))
#define GST_IS_EGLGLESSINK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_EGLGLESSINK))
-#define GST_EGLGLESSINK_IMAGE_NOFMT 0
-#define GST_EGLGLESSINK_IMAGE_RGB888 1
-#define GST_EGLGLESSINK_IMAGE_RGB565 2
-#define GST_EGLGLESSINK_IMAGE_RGBA8888 3
+
#define GST_EGLGLESSINK_EGL_MIN_VERSION 1
typedef struct _GstEglGlesSink GstEglGlesSink;
typedef struct _GstEglGlesSinkClass GstEglGlesSinkClass;
@@ -123,8 +121,10 @@ struct _GstEglGlesRenderContext
EGLNativeWindowType window, used_window;
EGLSurface surface;
gboolean buffer_preserved;
- GLuint fragshader[2], vertshader[2], glslprogram[2];
- GLuint texture[3];
+ GLuint fragshader[2]; /* frame, border */
+ GLuint vertshader[2]; /* frame, border */
+ GLuint glslprogram[2]; /* frame, border */
+ GLuint texture[3]; /* RGB/Y, U/UV, V */
EGLint surface_width;
EGLint surface_height;
EGLint pixel_aspect_ratio;
@@ -132,42 +132,24 @@ struct _GstEglGlesRenderContext
gint n_textures;
/* shader vars */
- GLuint position_loc[2], texpos_loc;
- GLuint tex_loc[3];
- coord5 position_array[12]; /* 3 x Frame, 3 x Border1, 3 x Border2 */
+ GLuint position_loc[2]; /* frame, border */
+ GLuint texpos_loc[1]; /* frame */
+ GLuint tex_scale_loc[1][3]; /* [frame] RGB/Y, U/UV, V */
+ GLuint tex_loc[1][3]; /* [frame] RGB/Y, U/UV, V */
+ coord5 position_array[12]; /* 4 x Frame, 4 x Border1, 4 x Border2 */
unsigned short index_array[4];
unsigned int position_buffer, index_buffer;
};
/*
- * GstEglGlesImageFmt:
- * @fmt: Internal identifier for the EGL attribs / GST caps pairing
- * @attribs: Pointer to the set of EGL attributes asociated with this format
- * @caps: Pointer to the GST caps asociated with this format
- *
- * This struct holds a pairing between GST caps and the matching EGL attributes
- * associated with a given pixel format
- */
-struct _GstEglGlesImageFmt
-{
- gint fmt; /* Private identifier */
- const EGLint *attribs; /* EGL Attributes */
- GstCaps *caps; /* Matching caps for the attribs */
-};
-
-/*
* GstEglGlesSink:
- * @par_n: Incoming frame's aspect ratio numerator
- * @par_d: Incoming frame's aspect ratio denominator
* @format: Caps' video format field
* @display_region: Surface region to use as rendering canvas
* @sinkcaps: Full set of suported caps
* @current_caps: Current caps
- * @selected_fmt: Pointer to the GST caps/EGL attribs pairing in use
* @rendering_path: Rendering path (Slow/Fast)
* @eglglesctx: Pointer to the associated EGL/GLESv2 rendering context
* @flow_lock: Simple concurrent access ward to the sink's runtime state
- * @supported_fmts: Pointer to the runtime supported format list
* @have_window: Set if the sink has access to a window to hold it's canvas
* @using_own_window: Set if the sink created its own window
* @have_surface: Set if the EGL surface setup has been performed
@@ -183,18 +165,25 @@ struct _GstEglGlesImageFmt
struct _GstEglGlesSink
{
GstVideoSink videosink; /* Element hook */
- int par_n, par_d; /* Aspect ratio from caps */
- GstVideoFormat format;
+ /* Region of the surface that should be rendered */
+ GstVideoRectangle render_region;
+ gboolean render_region_changed;
+ gboolean render_region_user;
+
+ /* Region of render_region that should be filled
+ * with the video frames */
GstVideoRectangle display_region;
+
+ GstVideoRectangle crop;
+ gboolean crop_changed;
GstCaps *sinkcaps;
GstCaps *current_caps, *configured_caps;
+ GstVideoInfo configured_info;
+ gfloat stride[3];
- GstEglGlesImageFmt *selected_fmt;
GstEglGlesRenderContext eglglesctx;
- GList *supported_fmts;
-
/* Runtime flags */
gboolean have_window;
gboolean using_own_window;
@@ -203,11 +192,13 @@ struct _GstEglGlesSink
gboolean have_texture;
gboolean egl_started;
+ gpointer own_window_data;
+
GThread *thread;
gboolean thread_running;
- GstDataQueue *queue;
- GCond *render_cond;
- GMutex *render_lock;
+ EGLGstDataQueue *queue;
+ GCond render_cond;
+ GMutex render_lock;
GstFlowReturn last_flow;
/* Properties */
diff --git a/ext/eglgles/gstqueuearray.c b/ext/eglgles/gstqueuearray.c
new file mode 100644
index 00000000..55476a92
--- /dev/null
+++ b/ext/eglgles/gstqueuearray.c
@@ -0,0 +1,341 @@
+/* GStreamer
+ * Copyright (C) 2009 Edward Hervey <bilboed@bilboed.com>
+ *
+ * gstqueuearray.c:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:gstqueuearray
+ * @short_description: Array based queue object
+ *
+ * #EGLGstQueueArray is an object that provides standard queue functionality
+ * based on an array instead of linked lists. This reduces the overhead
+ * caused by memory managment by a large factor.
+ */
+
+
+#include <string.h>
+#include <gst/gst.h>
+#include "gstqueuearray.h"
+
+struct _EGLGstQueueArray
+{
+ /* < private > */
+ gpointer *array;
+ guint size;
+ guint head;
+ guint tail;
+ guint length;
+};
+
+/**
+ * egl_gst_queue_array_new:
+ * @initial_size: Initial size of the new queue
+ *
+ * Allocates a new #EGLGstQueueArray object with an initial
+ * queue size of @initial_size.
+ *
+ * Returns: a new #EGLGstQueueArray object
+ *
+ * Since: 1.2.0
+ */
+EGLGstQueueArray *
+egl_gst_queue_array_new (guint initial_size)
+{
+ EGLGstQueueArray *array;
+
+ array = g_slice_new (EGLGstQueueArray);
+ array->size = initial_size;
+ array->array = g_new0 (gpointer, initial_size);
+ array->head = 0;
+ array->tail = 0;
+ array->length = 0;
+ return array;
+}
+
+
+/**
+ * egl_gst_queue_array_free:
+ * @array: a #EGLGstQueueArray object
+ *
+ * Frees queue @array and all memory associated to it.
+ *
+ * Since: 1.2.0
+ */
+void
+egl_gst_queue_array_free (EGLGstQueueArray * array)
+{
+ g_free (array->array);
+ g_slice_free (EGLGstQueueArray, array);
+}
+
+/**
+ * egl_gst_queue_array_pop_head:
+ * @array: a #EGLGstQueueArray object
+ *
+ * Returns and head of the queue @array and removes
+ * it from the queue.
+ *
+ * Returns: The head of the queue
+ *
+ * Since: 1.2.0
+ */
+gpointer
+egl_gst_queue_array_pop_head (EGLGstQueueArray * array)
+{
+ gpointer ret;
+
+ /* empty array */
+ if (G_UNLIKELY (array->length == 0))
+ return NULL;
+ ret = array->array[array->head];
+ array->head++;
+ array->head %= array->size;
+ array->length--;
+ return ret;
+}
+
+/**
+ * egl_gst_queue_array_pop_head:
+ * @array: a #EGLGstQueueArray object
+ *
+ * Returns and head of the queue @array and does not
+ * remove it from the queue.
+ *
+ * Returns: The head of the queue
+ *
+ * Since: 1.2.0
+ */
+gpointer
+egl_gst_queue_array_peek_head (EGLGstQueueArray * array)
+{
+ /* empty array */
+ if (G_UNLIKELY (array->length == 0))
+ return NULL;
+ return array->array[array->head];
+}
+
+/**
+ * egl_gst_queue_array_push_tail:
+ * @array: a #EGLGstQueueArray object
+ * @data: object to push
+ *
+ * Pushes @data to the tail of the queue @array.
+ *
+ * Since: 1.2.0
+ */
+void
+egl_gst_queue_array_push_tail (EGLGstQueueArray * array, gpointer data)
+{
+ /* Check if we need to make room */
+ if (G_UNLIKELY (array->length == array->size)) {
+ /* newsize is 50% bigger */
+ guint newsize = (3 * array->size) / 2;
+
+ /* copy over data */
+ if (array->tail != 0) {
+ gpointer *array2 = g_new0 (gpointer, newsize);
+ guint t1 = array->head;
+ guint t2 = array->size - array->head;
+
+ /* [0-----TAIL][HEAD------SIZE]
+ *
+ * We want to end up with
+ * [HEAD------------------TAIL][----FREEDATA------NEWSIZE]
+ *
+ * 1) move [HEAD-----SIZE] part to beginning of new array
+ * 2) move [0-------TAIL] part new array, after previous part
+ */
+
+ memcpy (array2, &array->array[array->head], t2 * sizeof (gpointer));
+ memcpy (&array2[t2], array->array, t1 * sizeof (gpointer));
+
+ g_free (array->array);
+ array->array = array2;
+ array->head = 0;
+ } else {
+ /* Fast path, we just need to grow the array */
+ array->array = g_renew (gpointer, array->array, newsize);
+ }
+ array->tail = array->size;
+ array->size = newsize;
+ }
+
+ array->array[array->tail] = data;
+ array->tail++;
+ array->tail %= array->size;
+ array->length++;
+}
+
+/**
+ * egl_gst_queue_array_is_empty:
+ * @array: a #EGLGstQueueArray object
+ *
+ * Checks if the queue @array is empty.
+ *
+ * Returns: %TRUE if the queue @array is empty
+ *
+ * Since: 1.2.0
+ */
+gboolean
+egl_gst_queue_array_is_empty (EGLGstQueueArray * array)
+{
+ return (array->length == 0);
+}
+
+/**
+ * egl_gst_queue_array_drop_element:
+ * @array: a #EGLGstQueueArray object
+ * @idx: index to drop
+ *
+ * Drops the queue element at position @idx from queue @array.
+ *
+ * Returns: the dropped element
+ *
+ * Since: 1.2.0
+ */
+gpointer
+egl_gst_queue_array_drop_element (EGLGstQueueArray * array, guint idx)
+{
+ int first_item_index, last_item_index;
+ gpointer element;
+
+ g_return_val_if_fail (array->length > 0, NULL);
+ g_return_val_if_fail (idx < array->size, NULL);
+
+ first_item_index = array->head;
+
+ /* tail points to the first free spot */
+ last_item_index = (array->tail - 1 + array->size) % array->size;
+
+ element = array->array[idx];
+
+ /* simple case idx == first item */
+ if (idx == first_item_index) {
+ /* move the head plus one */
+ array->head++;
+ array->head %= array->size;
+ array->length--;
+ return element;
+ }
+
+ /* simple case idx == last item */
+ if (idx == last_item_index) {
+ /* move tail minus one, potentially wrapping */
+ array->tail = (array->tail - 1 + array->size) % array->size;
+ array->length--;
+ return element;
+ }
+
+ /* non-wrapped case */
+ if (first_item_index < last_item_index) {
+ g_assert (first_item_index < idx && idx < last_item_index);
+ /* move everything beyond idx one step towards zero in array */
+ memmove (&array->array[idx],
+ &array->array[idx + 1], (last_item_index - idx) * sizeof (gpointer));
+ /* tail might wrap, ie if tail == 0 (and last_item_index == size) */
+ array->tail = (array->tail - 1 + array->size) % array->size;
+ array->length--;
+ return element;
+ }
+
+ /* only wrapped cases left */
+ g_assert (first_item_index > last_item_index);
+
+ if (idx < last_item_index) {
+ /* idx is before last_item_index, move data towards zero */
+ memmove (&array->array[idx],
+ &array->array[idx + 1], (last_item_index - idx) * sizeof (gpointer));
+ /* tail should not wrap in this case! */
+ g_assert (array->tail > 0);
+ array->tail--;
+ array->length--;
+ return element;
+ }
+
+ if (idx > first_item_index) {
+ element = array->array[idx];
+ /* idx is after first_item_index, move data to higher indices */
+ memmove (&array->array[first_item_index + 1],
+ &array->array[first_item_index],
+ (idx - first_item_index) * sizeof (gpointer));
+ array->head++;
+ /* head should not wrap in this case! */
+ g_assert (array->head < array->size);
+ array->length--;
+ return element;
+ }
+
+ g_return_val_if_reached (NULL);
+}
+
+/**
+ * egl_gst_queue_array_find:
+ * @array: a #EGLGstQueueArray object
+ * @func: (allow-none): comparison function, or %NULL to find @data by value
+ * @data: data for comparison function
+ *
+ * Finds an element in the queue @array, either by comparing every element
+ * with @func or by looking up @data if no compare function @func is provided,
+ * and returning the index of the found element.
+ *
+ * Note that the index is not 0-based, but an internal index number with a
+ * random offset. The index can be used in connection with
+ * egl_gst_queue_array_drop_element(). FIXME: return index 0-based and make
+ * _drop_element() take a 0-based index.
+ *
+ * Returns: Index of the found element or -1 if nothing was found.
+ *
+ * Since: 1.2.0
+ */
+guint
+egl_gst_queue_array_find (EGLGstQueueArray * array, GCompareFunc func, gpointer data)
+{
+ guint i;
+
+ if (func != NULL) {
+ /* Scan from head to tail */
+ for (i = 0; i < array->length; i++) {
+ if (func (array->array[(i + array->head) % array->size], data) == 0)
+ return (i + array->head) % array->size;
+ }
+ } else {
+ for (i = 0; i < array->length; i++) {
+ if (array->array[(i + array->head) % array->size] == data)
+ return (i + array->head) % array->size;
+ }
+ }
+
+ return -1;
+}
+
+/**
+ * egl_gst_queue_array_get_length:
+ * @array: a #EGLGstQueueArray object
+ *
+ * Returns the length of the queue @array
+ *
+ * Returns: the length of the queue @array.
+ *
+ * Since: 1.2.0
+ */
+guint
+egl_gst_queue_array_get_length (EGLGstQueueArray * array)
+{
+ return array->length;
+}
diff --git a/ext/eglgles/gstqueuearray.h b/ext/eglgles/gstqueuearray.h
new file mode 100644
index 00000000..0d04d14a
--- /dev/null
+++ b/ext/eglgles/gstqueuearray.h
@@ -0,0 +1,52 @@
+/* GStreamer
+ * Copyright (C) 2009-2010 Edward Hervey <bilboed@bilboed.com>
+ *
+ * gstqueuearray.h:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <glib.h>
+
+#ifndef __EGL_GST_QUEUE_ARRAY_H__
+#define __EGL_GST_QUEUE_ARRAY_H__
+
+typedef struct _EGLGstQueueArray EGLGstQueueArray;
+
+G_GNUC_INTERNAL
+EGLGstQueueArray * egl_gst_queue_array_new (guint initial_size);
+G_GNUC_INTERNAL
+void egl_gst_queue_array_free (EGLGstQueueArray * array);
+G_GNUC_INTERNAL
+gpointer egl_gst_queue_array_pop_head (EGLGstQueueArray * array);
+G_GNUC_INTERNAL
+gpointer egl_gst_queue_array_peek_head (EGLGstQueueArray * array);
+G_GNUC_INTERNAL
+void egl_gst_queue_array_push_tail (EGLGstQueueArray * array,
+ gpointer data);
+G_GNUC_INTERNAL
+gboolean egl_gst_queue_array_is_empty (EGLGstQueueArray * array);
+G_GNUC_INTERNAL
+gpointer egl_gst_queue_array_drop_element (EGLGstQueueArray * array,
+ guint idx);
+G_GNUC_INTERNAL
+guint egl_gst_queue_array_find (EGLGstQueueArray * array,
+ GCompareFunc func,
+ gpointer data);
+G_GNUC_INTERNAL
+guint egl_gst_queue_array_get_length (EGLGstQueueArray * array);
+
+#endif
diff --git a/ext/eglgles/video_platform_wrapper.c b/ext/eglgles/video_platform_wrapper.c
index 9ec582c3..e44b7dbe 100644
--- a/ext/eglgles/video_platform_wrapper.c
+++ b/ext/eglgles/video_platform_wrapper.c
@@ -55,10 +55,6 @@
#include <gst/gst.h>
#include "video_platform_wrapper.h"
-#ifndef __BIONIC__
-#include <X11/Xlib.h>
-#endif
-
GST_DEBUG_CATEGORY_STATIC (eglgles_platform_wrapper);
#define GST_CAT_DEFAULT eglgles_platform_wrapper
@@ -67,23 +63,30 @@ gboolean
platform_wrapper_init (void)
{
GST_DEBUG_CATEGORY_INIT (eglgles_platform_wrapper,
- "EglGles Platform Wrapper", 0,
+ "eglglessink-platform", 0,
"Platform dependent native-window utility routines for EglGles");
return TRUE;
}
-#ifndef __BIONIC__
+#ifdef USE_EGL_X11
+#include <X11/Xlib.h>
+
+typedef struct
+{
+ Display *display;
+} X11WindowData;
+
EGLNativeWindowType
-platform_create_native_window (gint width, gint height)
+platform_create_native_window (gint width, gint height, gpointer * window_data)
{
Display *d;
Window w;
- //XEvent e;
int s;
+ X11WindowData *data;
d = XOpenDisplay (NULL);
if (d == NULL) {
- GST_CAT_ERROR (GST_CAT_DEFAULT, "Can't open X11 display");
+ GST_ERROR ("Can't open X11 display");
return (EGLNativeWindowType) 0;
}
@@ -93,49 +96,157 @@ platform_create_native_window (gint width, gint height)
XStoreName (d, w, "eglglessink");
XMapWindow (d, w);
XFlush (d);
+
+ *window_data = data = g_slice_new0 (X11WindowData);
+ data->display = d;
+
return (EGLNativeWindowType) w;
}
gboolean
platform_destroy_native_window (EGLNativeDisplayType display,
- EGLNativeWindowType window)
+ EGLNativeWindowType window, gpointer * window_data)
{
+ X11WindowData *data = *window_data;
+
/* XXX: Should proly catch BadWindow */
- XDestroyWindow (display, window);
+ XDestroyWindow (data->display, (Window) window);
+ XSync (data->display, FALSE);
+ XCloseDisplay (data->display);
+
+ g_slice_free (X11WindowData, data);
+ *window_data = NULL;
return TRUE;
}
+#endif
+
+#ifdef USE_EGL_MALI_FB
+#include <EGL/fbdev_window.h>
-/* XXX: Missing implementation */
-EGLint *
-platform_crate_native_image_buffer (EGLNativeWindowType win, EGLConfig config,
- EGLNativeDisplayType display, const EGLint * egl_attribs)
+EGLNativeWindowType
+platform_create_native_window (gint width, gint height, gpointer * window_data)
{
- return NULL;
+ fbdev_window *w = g_slice_new0 (fbdev_window);
+
+ w->width = width;
+ w->height = height;
+
+ return (EGLNativeWindowType) w;
}
-#else
-/* Android does not support the creation of an egl window surface
- * from native code. Hence, we just return NULL here for the time
- * being. Function is left for reference as implementing it should
- * help us suport other EGL platforms.
- */
-EGLNativeWindowType
-platform_create_native_window (gint width, gint height)
+gboolean
+platform_destroy_native_window (EGLNativeDisplayType display,
+ EGLNativeWindowType window, gpointer * window_data)
{
- /* XXX: There was one example on AOSP that was using something
- * along the lines of window = android_createDisplaySurface();
- * but wasn't working properly.
- */
+ g_slice_free (fbdev_window, ((fbdev_window *) window));
- GST_CAT_ERROR (GST_CAT_DEFAULT, "Android: Can't create native window");
+ return TRUE;
+}
+#endif
+
+#if !defined(USE_EGL_X11) && !defined(USE_EGL_MALI_FB) && !defined(USE_EGL_RPI)
+/* Dummy functions for creating a native Window */
+EGLNativeWindowType
+platform_create_native_window (gint width, gint height, gpointer * window_data)
+{
+ GST_ERROR ("Can't create native window");
return (EGLNativeWindowType) 0;
}
gboolean
platform_destroy_native_window (EGLNativeDisplayType display,
- EGLNativeWindowType window)
+ EGLNativeWindowType window, gpointer * window_data)
+{
+ GST_ERROR ("Can't destroy native window");
+ return TRUE;
+}
+#endif
+
+#ifdef USE_EGL_RPI
+#include <bcm_host.h>
+#include <gst/video/gstvideosink.h>
+
+typedef struct
+{
+ EGL_DISPMANX_WINDOW_T w;
+ DISPMANX_DISPLAY_HANDLE_T d;
+} RPIWindowData;
+
+EGLNativeWindowType
+platform_create_native_window (gint width, gint height, gpointer * window_data)
+{
+ DISPMANX_ELEMENT_HANDLE_T dispman_element;
+ DISPMANX_DISPLAY_HANDLE_T dispman_display;
+ DISPMANX_UPDATE_HANDLE_T dispman_update;
+ RPIWindowData *data;
+ VC_RECT_T dst_rect;
+ VC_RECT_T src_rect;
+ GstVideoRectangle src, dst, res;
+
+ uint32_t dp_height;
+ uint32_t dp_width;
+
+ int ret;
+
+ ret = graphics_get_display_size (0, &dp_width, &dp_height);
+ if (ret < 0) {
+ GST_ERROR ("Can't open display");
+ return (EGLNativeWindowType) 0;
+ }
+ GST_DEBUG ("Got display size: %dx%d\n", dp_width, dp_height);
+ GST_DEBUG ("Source size: %dx%d\n", width, height);
+
+ /* Center width*height frame inside dp_width*dp_height */
+ src.w = width;
+ src.h = height;
+ src.x = src.y = 0;
+ dst.w = dp_width;
+ dst.h = dp_height;
+ dst.x = dst.y = 0;
+ gst_video_sink_center_rect (src, dst, &res, TRUE);
+
+ dst_rect.x = res.x;
+ dst_rect.y = res.y;
+ dst_rect.width = res.w;
+ dst_rect.height = res.h;
+
+ src_rect.x = 0;
+ src_rect.y = 0;
+ src_rect.width = width << 16;
+ src_rect.height = height << 16;
+
+ dispman_display = vc_dispmanx_display_open (0);
+ dispman_update = vc_dispmanx_update_start (0);
+ dispman_element = vc_dispmanx_element_add (dispman_update,
+ dispman_display, 0, &dst_rect, 0, &src_rect,
+ DISPMANX_PROTECTION_NONE, 0, 0, 0);
+
+ *window_data = data = g_slice_new0 (RPIWindowData);
+ data->d = dispman_display;
+ data->w.element = dispman_element;
+ data->w.width = width;
+ data->w.height = height;
+ vc_dispmanx_update_submit_sync (dispman_update);
+
+ return (EGLNativeWindowType) data;
+}
+
+gboolean
+platform_destroy_native_window (EGLNativeDisplayType display,
+ EGLNativeWindowType window, gpointer * window_data)
{
- GST_CAT_ERROR (GST_CAT_DEFAULT, "Android: Can't destroy native window");
+ DISPMANX_DISPLAY_HANDLE_T dispman_display;
+ DISPMANX_UPDATE_HANDLE_T dispman_update;
+ RPIWindowData *data = *window_data;
+
+ dispman_display = data->d;
+ dispman_update = vc_dispmanx_update_start (0);
+ vc_dispmanx_element_remove (dispman_update, data->w.element);
+ vc_dispmanx_update_submit_sync (dispman_update);
+ vc_dispmanx_display_close (dispman_display);
+
+ g_slice_free (RPIWindowData, data);
+ *window_data = NULL;
return TRUE;
}
diff --git a/ext/eglgles/video_platform_wrapper.h b/ext/eglgles/video_platform_wrapper.h
index db27c572..452a4cda 100644
--- a/ext/eglgles/video_platform_wrapper.h
+++ b/ext/eglgles/video_platform_wrapper.h
@@ -54,11 +54,9 @@
#include <EGL/egl.h>
gboolean platform_wrapper_init (void);
-EGLNativeWindowType platform_create_native_window (gint width, gint height);
+EGLNativeWindowType platform_create_native_window (gint width, gint height, gpointer * window_data);
gboolean platform_destroy_native_window (EGLNativeDisplayType display,
- EGLNativeWindowType w);
-EGLint *platform_crate_native_image_buffer (EGLNativeWindowType win,
- EGLConfig config, EGLNativeDisplayType display, const EGLint * egl_attribs);
+ EGLNativeWindowType w, gpointer * window_data);
#endif
diff --git a/ext/faac/Makefile.in b/ext/faac/Makefile.in
index cd0b7919..ff30a47a 100644
--- a/ext/faac/Makefile.in
+++ b/ext/faac/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/faad/Makefile.in b/ext/faad/Makefile.in
index 667bb991..13815893 100644
--- a/ext/faad/Makefile.in
+++ b/ext/faad/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/flite/Makefile.in b/ext/flite/Makefile.in
index 3dcc048b..09399eaf 100644
--- a/ext/flite/Makefile.in
+++ b/ext/flite/Makefile.in
@@ -251,6 +251,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -284,6 +286,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/gme/Makefile.in b/ext/gme/Makefile.in
index 33cdb3a6..d82ef746 100644
--- a/ext/gme/Makefile.in
+++ b/ext/gme/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/gsettings/Makefile.in b/ext/gsettings/Makefile.in
index 6ba0e65a..68e893e6 100644
--- a/ext/gsettings/Makefile.in
+++ b/ext/gsettings/Makefile.in
@@ -263,6 +263,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -296,6 +298,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/gsm/Makefile.in b/ext/gsm/Makefile.in
index dbe8a0d1..bb0b4ea1 100644
--- a/ext/gsm/Makefile.in
+++ b/ext/gsm/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/jasper/Makefile.in b/ext/jasper/Makefile.in
index 2594a193..3fdf4e67 100644
--- a/ext/jasper/Makefile.in
+++ b/ext/jasper/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/kate/Makefile.in b/ext/kate/Makefile.in
index 041e1ffa..e86673a9 100644
--- a/ext/kate/Makefile.in
+++ b/ext/kate/Makefile.in
@@ -264,6 +264,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -297,6 +299,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/ladspa/Makefile.in b/ext/ladspa/Makefile.in
index 46ed7bab..f031cf6e 100644
--- a/ext/ladspa/Makefile.in
+++ b/ext/ladspa/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/libmms/Makefile.in b/ext/libmms/Makefile.in
index 76a1eb80..4d7fa244 100644
--- a/ext/libmms/Makefile.in
+++ b/ext/libmms/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/lv2/Makefile.in b/ext/lv2/Makefile.in
index d9e8dae6..af4d091c 100644
--- a/ext/lv2/Makefile.in
+++ b/ext/lv2/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/mimic/Makefile.in b/ext/mimic/Makefile.in
index a5acb54f..ac78a936 100644
--- a/ext/mimic/Makefile.in
+++ b/ext/mimic/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/modplug/Makefile.in b/ext/modplug/Makefile.in
index dc2253fb..d3cef2df 100644
--- a/ext/modplug/Makefile.in
+++ b/ext/modplug/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/mpeg2enc/Makefile.in b/ext/mpeg2enc/Makefile.in
index aebdb0da..194168f1 100644
--- a/ext/mpeg2enc/Makefile.in
+++ b/ext/mpeg2enc/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/mpg123/Makefile.in b/ext/mpg123/Makefile.in
index 2e5d2d39..8a263b5d 100644
--- a/ext/mpg123/Makefile.in
+++ b/ext/mpg123/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/mplex/Makefile.in b/ext/mplex/Makefile.in
index b051bba4..921a623f 100644
--- a/ext/mplex/Makefile.in
+++ b/ext/mplex/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/musepack/Makefile.in b/ext/musepack/Makefile.in
index fcb25521..7c5c8246 100644
--- a/ext/musepack/Makefile.in
+++ b/ext/musepack/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/musicbrainz/Makefile.in b/ext/musicbrainz/Makefile.in
index d49b7dfa..b6606b52 100644
--- a/ext/musicbrainz/Makefile.in
+++ b/ext/musicbrainz/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/mythtv/Makefile.in b/ext/mythtv/Makefile.in
index f1f6bcc9..2745de9d 100644
--- a/ext/mythtv/Makefile.in
+++ b/ext/mythtv/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/nas/Makefile.in b/ext/nas/Makefile.in
index 2ea58aba..0c7f1728 100644
--- a/ext/nas/Makefile.in
+++ b/ext/nas/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/neon/Makefile.in b/ext/neon/Makefile.in
index 00f9ff9e..46bda66d 100644
--- a/ext/neon/Makefile.in
+++ b/ext/neon/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/ofa/Makefile.in b/ext/ofa/Makefile.in
index f2ac55d5..dce5f0b4 100644
--- a/ext/ofa/Makefile.in
+++ b/ext/ofa/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/openal/Makefile.in b/ext/openal/Makefile.in
index 43a8794c..9151fa25 100644
--- a/ext/openal/Makefile.in
+++ b/ext/openal/Makefile.in
@@ -257,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -290,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/opencv/Makefile.in b/ext/opencv/Makefile.in
index e81685a7..05da4fbb 100644
--- a/ext/opencv/Makefile.in
+++ b/ext/opencv/Makefile.in
@@ -284,6 +284,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -317,6 +319,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/opus/Makefile.in b/ext/opus/Makefile.in
index 9b2aadaa..6dd75456 100644
--- a/ext/opus/Makefile.in
+++ b/ext/opus/Makefile.in
@@ -257,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -290,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c
index bdf0d5c9..079dbc25 100644
--- a/ext/opus/gstopusdec.c
+++ b/ext/opus/gstopusdec.c
@@ -155,13 +155,13 @@ gst_opus_dec_reset (GstOpusDec * dec)
dec->pre_skip = 0;
dec->r128_gain = 0;
+ dec->sample_rate = 0;
+ dec->n_channels = 0;
}
static void
gst_opus_dec_init (GstOpusDec * dec)
{
- dec->sample_rate = 0;
- dec->n_channels = 0;
dec->use_inband_fec = FALSE;
dec->apply_gain = DEFAULT_APPLY_GAIN;
diff --git a/ext/opus/gstopusenc.c b/ext/opus/gstopusenc.c
index 2948754d..1e71cf2f 100644
--- a/ext/opus/gstopusenc.c
+++ b/ext/opus/gstopusenc.c
@@ -996,7 +996,8 @@ gst_opus_enc_set_property (GObject * object, guint prop_id,
/* this one has an opposite meaning to the opus ctl... */
g_mutex_lock (&enc->property_lock);
enc->cbr = g_value_get_boolean (value);
- opus_multistream_encoder_ctl (enc->state, OPUS_SET_VBR (!enc->cbr));
+ if (enc->state)
+ opus_multistream_encoder_ctl (enc->state, OPUS_SET_VBR (!enc->cbr));
g_mutex_unlock (&enc->property_lock);
break;
case PROP_CONSTRAINED_VBR:
diff --git a/ext/opus/gstrtpopuspay.c b/ext/opus/gstrtpopuspay.c
index 5ba3217c..cfac33b2 100644
--- a/ext/opus/gstrtpopuspay.c
+++ b/ext/opus/gstrtpopuspay.c
@@ -107,9 +107,18 @@ gst_rtp_opus_pay_handle_buffer (GstRTPBasePayload * basepayload,
GstBuffer * buffer)
{
GstBuffer *outbuf;
+ GstClockTime pts, dts, duration;
+
+ pts = GST_BUFFER_PTS (buffer);
+ dts = GST_BUFFER_DTS (buffer);
+ duration = GST_BUFFER_DURATION (buffer);
outbuf = gst_rtp_buffer_new_allocate (0, 0, 0);
- outbuf = gst_buffer_append (outbuf, gst_buffer_ref (buffer));
+ outbuf = gst_buffer_append (outbuf, buffer);
+
+ GST_BUFFER_PTS (outbuf) = pts;
+ GST_BUFFER_DTS (outbuf) = dts;
+ GST_BUFFER_DURATION (outbuf) = duration;
/* Push out */
return gst_rtp_base_payload_push (basepayload, outbuf);
diff --git a/ext/resindvd/Makefile.in b/ext/resindvd/Makefile.in
index ce716129..7342c816 100644
--- a/ext/resindvd/Makefile.in
+++ b/ext/resindvd/Makefile.in
@@ -262,6 +262,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -295,6 +297,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/rsvg/Makefile.in b/ext/rsvg/Makefile.in
index 4d41b43c..ee1282fb 100644
--- a/ext/rsvg/Makefile.in
+++ b/ext/rsvg/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/rtmp/Makefile.in b/ext/rtmp/Makefile.in
index d880c2f2..7dbe6231 100644
--- a/ext/rtmp/Makefile.in
+++ b/ext/rtmp/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/schroedinger/Makefile.in b/ext/schroedinger/Makefile.in
index 41608c1e..37671b94 100644
--- a/ext/schroedinger/Makefile.in
+++ b/ext/schroedinger/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/sdl/Makefile.in b/ext/sdl/Makefile.in
index ea0eb728..221c866f 100644
--- a/ext/sdl/Makefile.in
+++ b/ext/sdl/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/sndfile/Makefile.in b/ext/sndfile/Makefile.in
index 5df72c1c..f8e497a8 100644
--- a/ext/sndfile/Makefile.in
+++ b/ext/sndfile/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/sndio/Makefile.in b/ext/sndio/Makefile.in
index 06f9e971..c83dce10 100644
--- a/ext/sndio/Makefile.in
+++ b/ext/sndio/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/soundtouch/Makefile.in b/ext/soundtouch/Makefile.in
index 8fa8a72c..0ef315f1 100644
--- a/ext/soundtouch/Makefile.in
+++ b/ext/soundtouch/Makefile.in
@@ -271,6 +271,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -304,6 +306,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/spandsp/Makefile.in b/ext/spandsp/Makefile.in
index f8bedada..270c1a66 100644
--- a/ext/spandsp/Makefile.in
+++ b/ext/spandsp/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/spc/Makefile.in b/ext/spc/Makefile.in
index 9f9270dd..df7e773e 100644
--- a/ext/spc/Makefile.in
+++ b/ext/spc/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/swfdec/Makefile.in b/ext/swfdec/Makefile.in
index 6a2c865f..2161418f 100644
--- a/ext/swfdec/Makefile.in
+++ b/ext/swfdec/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/teletextdec/Makefile.in b/ext/teletextdec/Makefile.in
index 96a5035f..00cfdfdb 100644
--- a/ext/teletextdec/Makefile.in
+++ b/ext/teletextdec/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/timidity/Makefile.in b/ext/timidity/Makefile.in
index 9835d266..fe20e4a7 100644
--- a/ext/timidity/Makefile.in
+++ b/ext/timidity/Makefile.in
@@ -271,6 +271,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -304,6 +306,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/voaacenc/Makefile.in b/ext/voaacenc/Makefile.in
index 0b229744..375a77de 100644
--- a/ext/voaacenc/Makefile.in
+++ b/ext/voaacenc/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/voamrwbenc/Makefile.in b/ext/voamrwbenc/Makefile.in
index 46c155b9..fd400749 100644
--- a/ext/voamrwbenc/Makefile.in
+++ b/ext/voamrwbenc/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/wayland/Makefile.in b/ext/wayland/Makefile.in
index 3d37501b..2b5e1a44 100644
--- a/ext/wayland/Makefile.in
+++ b/ext/wayland/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/xvid/Makefile.in b/ext/xvid/Makefile.in
index df11e369..b98bd731 100644
--- a/ext/xvid/Makefile.in
+++ b/ext/xvid/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/ext/zbar/Makefile.in b/ext/zbar/Makefile.in
index edcc4870..af89f099 100644
--- a/ext/zbar/Makefile.in
+++ b/ext/zbar/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-libs/Makefile.in b/gst-libs/Makefile.in
index 92cb7515..e001405c 100644
--- a/gst-libs/Makefile.in
+++ b/gst-libs/Makefile.in
@@ -225,6 +225,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -258,6 +260,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-libs/gst/Makefile.in b/gst-libs/gst/Makefile.in
index 64d16a05..8fb647bf 100644
--- a/gst-libs/gst/Makefile.in
+++ b/gst-libs/gst/Makefile.in
@@ -227,6 +227,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -260,6 +262,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-libs/gst/basecamerabinsrc/Makefile.in b/gst-libs/gst/basecamerabinsrc/Makefile.in
index 4b98059d..0cbfcf78 100644
--- a/gst-libs/gst/basecamerabinsrc/Makefile.in
+++ b/gst-libs/gst/basecamerabinsrc/Makefile.in
@@ -261,6 +261,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -294,6 +296,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-libs/gst/codecparsers/Makefile.in b/gst-libs/gst/codecparsers/Makefile.in
index 9000d2ae..b339a048 100644
--- a/gst-libs/gst/codecparsers/Makefile.in
+++ b/gst-libs/gst/codecparsers/Makefile.in
@@ -261,6 +261,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -294,6 +296,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c
index bd7b2587..d52733b7 100644
--- a/gst-libs/gst/codecparsers/gsth264parser.c
+++ b/gst-libs/gst/codecparsers/gsth264parser.c
@@ -1446,6 +1446,7 @@ gst_h264_parse_sps (GstH264NalUnit * nalu, GstH264SPS * sps,
sps->bit_depth_chroma_minus8 = 0;
memset (sps->scaling_lists_4x4, 16, 96);
memset (sps->scaling_lists_8x8, 16, 384);
+ memset (&sps->vui_parameters, 0, sizeof (sps->vui_parameters));
sps->mb_adaptive_frame_field_flag = 0;
sps->frame_crop_left_offset = 0;
sps->frame_crop_right_offset = 0;
@@ -1814,6 +1815,7 @@ gst_h264_parser_parse_slice_hdr (GstH264NalParser * nalparser,
slice->num_ref_idx_l1_active_minus1 = pps->num_ref_idx_l1_active_minus1;
slice->disable_deblocking_filter_idc = 0;
slice->slice_alpha_c0_offset_div2 = 0;
+ slice->slice_beta_offset_div2 = 0;
if (sps->separate_colour_plane_flag)
READ_UINT8 (&nr, slice->colour_plane_id, 2);
diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.c b/gst-libs/gst/codecparsers/gstmpegvideoparser.c
index 31333901..2a5aa3b7 100644
--- a/gst-libs/gst/codecparsers/gstmpegvideoparser.c
+++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.c
@@ -322,7 +322,7 @@ gst_mpeg_video_parse_sequence_header (GstMpegVideoSequenceHdr * seqhdr,
if (load_intra_flag) {
gint i;
for (i = 0; i < 64; i++)
- READ_UINT8 (&br, seqhdr->intra_quantizer_matrix[mpeg_zigzag_8x8[i]], 8);
+ READ_UINT8 (&br, seqhdr->intra_quantizer_matrix[i], 8);
} else
memcpy (seqhdr->intra_quantizer_matrix, default_intra_quantizer_matrix, 64);
@@ -331,8 +331,7 @@ gst_mpeg_video_parse_sequence_header (GstMpegVideoSequenceHdr * seqhdr,
if (load_non_intra_flag) {
gint i;
for (i = 0; i < 64; i++)
- READ_UINT8 (&br, seqhdr->non_intra_quantizer_matrix[mpeg_zigzag_8x8[i]],
- 8);
+ READ_UINT8 (&br, seqhdr->non_intra_quantizer_matrix[i], 8);
} else
memset (seqhdr->non_intra_quantizer_matrix, 16, 64);
@@ -564,31 +563,28 @@ gst_mpeg_video_parse_quant_matrix_extension (GstMpegVideoQuantMatrixExt * quant,
READ_UINT8 (&br, quant->load_intra_quantiser_matrix, 1);
if (quant->load_intra_quantiser_matrix) {
for (i = 0; i < 64; i++) {
- READ_UINT8 (&br, quant->intra_quantiser_matrix[mpeg_zigzag_8x8[i]], 8);
+ READ_UINT8 (&br, quant->intra_quantiser_matrix[i], 8);
}
}
READ_UINT8 (&br, quant->load_non_intra_quantiser_matrix, 1);
if (quant->load_non_intra_quantiser_matrix) {
for (i = 0; i < 64; i++) {
- READ_UINT8 (&br, quant->non_intra_quantiser_matrix[mpeg_zigzag_8x8[i]],
- 8);
+ READ_UINT8 (&br, quant->non_intra_quantiser_matrix[i], 8);
}
}
READ_UINT8 (&br, quant->load_chroma_intra_quantiser_matrix, 1);
if (quant->load_chroma_intra_quantiser_matrix) {
for (i = 0; i < 64; i++) {
- READ_UINT8 (&br, quant->chroma_intra_quantiser_matrix[mpeg_zigzag_8x8[i]],
- 8);
+ READ_UINT8 (&br, quant->chroma_intra_quantiser_matrix[i], 8);
}
}
READ_UINT8 (&br, quant->load_chroma_non_intra_quantiser_matrix, 1);
if (quant->load_chroma_non_intra_quantiser_matrix) {
for (i = 0; i < 64; i++) {
- READ_UINT8 (&br,
- quant->chroma_non_intra_quantiser_matrix[mpeg_zigzag_8x8[i]], 8);
+ READ_UINT8 (&br, quant->chroma_non_intra_quantiser_matrix[i], 8);
}
}
@@ -823,3 +819,53 @@ failed:
GST_WARNING ("error parsing \"GOP\"");
return FALSE;
}
+
+/**
+ * gst_mpeg_video_quant_matrix_get_raster_from_zigzag:
+ * @out_quant: (out): The resulting quantization matrix
+ * @quant: The source quantization matrix
+ *
+ * Converts quantization matrix @quant from zigzag scan order to
+ * raster scan order and store the resulting factors into @out_quant.
+ *
+ * Note: it is an error to pass the same table in both @quant and
+ * @out_quant arguments.
+ *
+ * Since: 1.0.6
+ */
+void
+gst_mpeg_video_quant_matrix_get_raster_from_zigzag (guint8 out_quant[64],
+ const guint8 quant[64])
+{
+ guint i;
+
+ g_return_if_fail (out_quant != quant);
+
+ for (i = 0; i < 64; i++)
+ out_quant[mpeg_zigzag_8x8[i]] = quant[i];
+}
+
+/**
+ * gst_mpeg_video_quant_matrix_get_zigzag_from_raster:
+ * @out_quant: (out): The resulting quantization matrix
+ * @quant: The source quantization matrix
+ *
+ * Converts quantization matrix @quant from raster scan order to
+ * zigzag scan order and store the resulting factors into @out_quant.
+ *
+ * Note: it is an error to pass the same table in both @quant and
+ * @out_quant arguments.
+ *
+ * Since: 1.0.6
+ */
+void
+gst_mpeg_video_quant_matrix_get_zigzag_from_raster (guint8 out_quant[64],
+ const guint8 quant[64])
+{
+ guint i;
+
+ g_return_if_fail (out_quant != quant);
+
+ for (i = 0; i < 64; i++)
+ out_quant[i] = quant[mpeg_zigzag_8x8[i]];
+}
diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.h b/gst-libs/gst/codecparsers/gstmpegvideoparser.h
index 2b13a064..5139b20b 100644
--- a/gst-libs/gst/codecparsers/gstmpegvideoparser.h
+++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.h
@@ -193,8 +193,8 @@ typedef struct _GstMpegVideoPacket GstMpegVideoPacket;
* @bitrate_value: Value of the bitrate as is in the stream (400bps unit)
* @bitrate: the real bitrate of the Mpeg video stream in bits per second, 0 if VBR stream
* @constrained_parameters_flag: %TRUE if this stream uses contrained parameters.
- * @intra_quantizer_matrix: intra-quantization table
- * @non_intra_quantizer_matrix: non-intra quantization table
+ * @intra_quantizer_matrix: intra-quantization table, in zigzag scan order
+ * @non_intra_quantizer_matrix: non-intra quantization table, in zigzag scan order
*
* The Mpeg2 Video Sequence Header structure.
*/
@@ -283,7 +283,9 @@ struct _GstMpegVideoSequenceDisplayExt
* @load_chroma_non_intra_quantiser_matrix:
* @chroma_non_intra_quantiser_matrix:
*
- * The Quant Matrix Extension structure
+ * The Quant Matrix Extension structure that exposes quantization
+ * matrices in zigzag scan order. i.e. the original encoded scan
+ * order.
*/
struct _GstMpegVideoQuantMatrixExt
{
@@ -426,6 +428,12 @@ gboolean gst_mpeg_video_parse_sequence_display_extension (GstMpegVideoSequenceDi
gboolean gst_mpeg_video_parse_quant_matrix_extension (GstMpegVideoQuantMatrixExt * quant,
const guint8 * data, gsize size, guint offset);
+void gst_mpeg_video_quant_matrix_get_raster_from_zigzag (guint8 out_quant[64],
+ const guint8 quant[64]);
+
+void gst_mpeg_video_quant_matrix_get_zigzag_from_raster (guint8 out_quant[64],
+ const guint8 quant[64]);
+
G_END_DECLS
#endif
diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparsers/gstvc1parser.c
index 5145a923..ea55a8e5 100644
--- a/gst-libs/gst/codecparsers/gstvc1parser.c
+++ b/gst-libs/gst/codecparsers/gstvc1parser.c
@@ -435,7 +435,7 @@ bitplane_decoding (GstBitReader * br, guint8 * data,
const guint height = seqhdr->mb_height;
const guint stride = seqhdr->mb_stride;
guint imode, invert, invert_mask;
- guint x, y, v;
+ guint x, y, v, o;
guint8 *pdata = data;
*is_raw = FALSE;
@@ -464,7 +464,8 @@ bitplane_decoding (GstBitReader * br, guint8 * data,
GST_DEBUG ("Parsing IMODE_DIFF2 or IMODE_NORM2 biplane");
x = 0;
- if ((height * width) & 1) {
+ o = (height * width) & 1;
+ if (o) {
GET_BITS (br, 1, &v);
if (pdata) {
*pdata++ = (v ^ invert_mask) & 1;
@@ -475,7 +476,7 @@ bitplane_decoding (GstBitReader * br, guint8 * data,
}
}
- for (y = 0; y < height * width; y += 2) {
+ for (y = o; y < height * width; y += 2) {
if (!decode_vlc (br, &v, vc1_norm2_vlc_table,
G_N_ELEMENTS (vc1_norm2_vlc_table)))
goto failed;
@@ -528,7 +529,7 @@ bitplane_decoding (GstBitReader * br, guint8 * data,
} else { /* decode 3x2 "horizontal" tiles */
if (pdata)
- pdata += (height & 1) * width;
+ pdata += (height & 1) * stride;
for (y = height & 1; y < height; y += 2) {
for (x = width % 3; x < width; x += 3) {
if (!decode_vlc (br, &v, vc1_norm6_vlc_table,
@@ -555,7 +556,7 @@ bitplane_decoding (GstBitReader * br, guint8 * data,
if (x) {
if (data)
- pdata = data + y * stride;
+ pdata = data;
if (!decode_colskip (br, pdata, x, height, stride, invert_mask))
goto failed;
}
@@ -563,7 +564,7 @@ bitplane_decoding (GstBitReader * br, guint8 * data,
if (y) {
if (data)
pdata = data + x;
- if (!decode_rowskip (br, pdata, width, y, stride, invert_mask))
+ if (!decode_rowskip (br, pdata, width - x, y, stride, invert_mask))
goto failed;
}
break;
@@ -625,7 +626,7 @@ parse_vopdquant (GstBitReader * br, GstVC1FrameHdr * framehdr, guint8 dquant)
vopdquant->dqbilevel = 0;
if (dquant == 2) {
- READ_UINT8 (br, vopdquant->dquantfrm, 1);
+ vopdquant->dquantfrm = 0;
READ_UINT8 (br, vopdquant->pqdiff, 3);
@@ -641,7 +642,7 @@ parse_vopdquant (GstBitReader * br, GstVC1FrameHdr * framehdr, guint8 dquant)
vopdquant->dquantfrm);
if (vopdquant->dquantfrm) {
- READ_UINT8 (br, vopdquant->dqprofile, 1);
+ READ_UINT8 (br, vopdquant->dqprofile, 2);
switch (vopdquant->dqprofile) {
case GST_VC1_DQPROFILE_SINGLE_EDGE:
@@ -659,8 +660,12 @@ parse_vopdquant (GstBitReader * br, GstVC1FrameHdr * framehdr, guint8 dquant)
{
READ_UINT8 (br, vopdquant->pqdiff, 3);
- if (vopdquant->pqdiff == 7)
+ if (vopdquant->pqdiff != 7)
+ vopdquant->altpquant = framehdr->pquant + vopdquant->pqdiff + 1;
+ else {
READ_UINT8 (br, vopdquant->abspq, 5);
+ vopdquant->altpquant = vopdquant->abspq;
+ }
}
}
}
diff --git a/gst-libs/gst/interfaces/Makefile.in b/gst-libs/gst/interfaces/Makefile.in
index 6682f05a..0a79cc1b 100644
--- a/gst-libs/gst/interfaces/Makefile.in
+++ b/gst-libs/gst/interfaces/Makefile.in
@@ -272,6 +272,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -305,6 +307,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-libs/gst/signalprocessor/Makefile.in b/gst-libs/gst/signalprocessor/Makefile.in
index 117f5bd2..d97a2cd8 100644
--- a/gst-libs/gst/signalprocessor/Makefile.in
+++ b/gst-libs/gst/signalprocessor/Makefile.in
@@ -257,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -290,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 9276d00b..93ce78df 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -259,6 +259,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -292,6 +294,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index 0598ea9c..63c41e89 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,6 +35,16 @@ real live maintainer, or some actual wide use.
<release>
<Version>
+ <revision>1.0.6</revision>
+ <branch>1.0</branch>
+ <name></name>
+ <created>2013-03-22</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.0.6.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.0.5</revision>
<branch>1.0</branch>
<name></name>
diff --git a/gst-plugins-bad.spec b/gst-plugins-bad.spec
index 2c2808c3..02d91de1 100644
--- a/gst-plugins-bad.spec
+++ b/gst-plugins-bad.spec
@@ -6,7 +6,7 @@
Summary: GStreamer streaming media framework "bad" plug-ins
Name: %{gstreamer}-plugins-bad
-Version: 1.0.5
+Version: 1.0.6
Release: 1.gst
# The freeze and nfs plugins are LGPLv2 (only)
License: LGPLv2+ and LGPLv2
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 9bc44f39..68486e8a 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -230,6 +230,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -263,6 +265,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/adpcmdec/Makefile.in b/gst/adpcmdec/Makefile.in
index 6a2082cc..8a9582cf 100644
--- a/gst/adpcmdec/Makefile.in
+++ b/gst/adpcmdec/Makefile.in
@@ -249,6 +249,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -282,6 +284,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/adpcmenc/Makefile.in b/gst/adpcmenc/Makefile.in
index 3838ce31..3ec29731 100644
--- a/gst/adpcmenc/Makefile.in
+++ b/gst/adpcmenc/Makefile.in
@@ -249,6 +249,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -282,6 +284,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/aiff/Makefile.in b/gst/aiff/Makefile.in
index 7c45cc48..e173429d 100644
--- a/gst/aiff/Makefile.in
+++ b/gst/aiff/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/asfmux/Makefile.in b/gst/asfmux/Makefile.in
index 4b1e9df5..27477d58 100644
--- a/gst/asfmux/Makefile.in
+++ b/gst/asfmux/Makefile.in
@@ -257,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -290,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/audiovisualizers/Makefile.in b/gst/audiovisualizers/Makefile.in
index 1158ad27..db13d5b4 100644
--- a/gst/audiovisualizers/Makefile.in
+++ b/gst/audiovisualizers/Makefile.in
@@ -261,6 +261,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -294,6 +296,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/audiovisualizers/gstaudiovisualizer.c b/gst/audiovisualizers/gstaudiovisualizer.c
index 2150ecde..a286988d 100644
--- a/gst/audiovisualizers/gstaudiovisualizer.c
+++ b/gst/audiovisualizers/gstaudiovisualizer.c
@@ -964,7 +964,11 @@ gst_audio_visualizer_chain (GstPad * pad, GstObject * parent,
gst_video_frame_copy (&outframe, &scope->tempframe);
} else {
/* gst_video_frame_clear() or is output frame already cleared */
- memset (outframe.data, 0, scope->vinfo.size);
+ gint i;
+
+ for (i = 0; i < scope->vinfo.finfo->n_planes; i++) {
+ memset (outframe.data[i], 0, outframe.map[i].size);
+ }
}
gst_buffer_replace_all_memory (inbuf,
diff --git a/gst/autoconvert/Makefile.in b/gst/autoconvert/Makefile.in
index 61691a4c..4d847dc3 100644
--- a/gst/autoconvert/Makefile.in
+++ b/gst/autoconvert/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/bayer/Makefile.in b/gst/bayer/Makefile.in
index 0c3b238b..69a4e697 100644
--- a/gst/bayer/Makefile.in
+++ b/gst/bayer/Makefile.in
@@ -276,6 +276,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
# orc-generated code creates warnings
@@ -311,6 +313,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/camerabin2/Makefile.in b/gst/camerabin2/Makefile.in
index 9fc5fa1a..5245509a 100644
--- a/gst/camerabin2/Makefile.in
+++ b/gst/camerabin2/Makefile.in
@@ -259,6 +259,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -292,6 +294,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/cdxaparse/Makefile.in b/gst/cdxaparse/Makefile.in
index 86138d6b..5674bfd3 100644
--- a/gst/cdxaparse/Makefile.in
+++ b/gst/cdxaparse/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/coloreffects/Makefile.in b/gst/coloreffects/Makefile.in
index 1c44ec4c..c25d1704 100644
--- a/gst/coloreffects/Makefile.in
+++ b/gst/coloreffects/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/dataurisrc/Makefile.in b/gst/dataurisrc/Makefile.in
index 7beeb156..e7f51fd9 100644
--- a/gst/dataurisrc/Makefile.in
+++ b/gst/dataurisrc/Makefile.in
@@ -249,6 +249,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -282,6 +284,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/dccp/Makefile.in b/gst/dccp/Makefile.in
index 3c747af1..d3381242 100644
--- a/gst/dccp/Makefile.in
+++ b/gst/dccp/Makefile.in
@@ -259,6 +259,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -292,6 +294,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/debugutils/Makefile.in b/gst/debugutils/Makefile.in
index 59faa950..0db007a9 100644
--- a/gst/debugutils/Makefile.in
+++ b/gst/debugutils/Makefile.in
@@ -272,6 +272,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -305,6 +307,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/dtmf/Makefile.in b/gst/dtmf/Makefile.in
index 7e0fc42f..b35d16af 100644
--- a/gst/dtmf/Makefile.in
+++ b/gst/dtmf/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/dvbsuboverlay/Makefile.in b/gst/dvbsuboverlay/Makefile.in
index 14148b4e..21dcc239 100644
--- a/gst/dvbsuboverlay/Makefile.in
+++ b/gst/dvbsuboverlay/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/dvdspu/Makefile.in b/gst/dvdspu/Makefile.in
index 32037604..7efefaff 100644
--- a/gst/dvdspu/Makefile.in
+++ b/gst/dvdspu/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/dvdspu/gstdvdspu-render.c b/gst/dvdspu/gstdvdspu-render.c
index f303fa1a..1170d88b 100644
--- a/gst/dvdspu/gstdvdspu-render.c
+++ b/gst/dvdspu/gstdvdspu-render.c
@@ -79,6 +79,8 @@ gstspu_blend_comp_buffers (SpuState * state, guint8 * planes[3])
uv_end = (comp_last_x + 1) / 2;
left = state->comp_left / 2;
+ out_U += left * GST_VIDEO_INFO_COMP_PSTRIDE (&state->info, 1);
+ out_V += left * GST_VIDEO_INFO_COMP_PSTRIDE (&state->info, 2);
for (x = left; x < uv_end; x++) {
guint32 tmp;
/* Each entry in the compositing buffer is 4 summed pixels, so the
diff --git a/gst/faceoverlay/Makefile.in b/gst/faceoverlay/Makefile.in
index 787b16d2..80042930 100644
--- a/gst/faceoverlay/Makefile.in
+++ b/gst/faceoverlay/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/festival/Makefile.in b/gst/festival/Makefile.in
index 5afc6aba..0d68aca8 100644
--- a/gst/festival/Makefile.in
+++ b/gst/festival/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/fieldanalysis/Makefile.in b/gst/fieldanalysis/Makefile.in
index 2faf3e5a..88cee27e 100644
--- a/gst/fieldanalysis/Makefile.in
+++ b/gst/fieldanalysis/Makefile.in
@@ -280,6 +280,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -313,6 +315,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/freeverb/Makefile.in b/gst/freeverb/Makefile.in
index 1ca28f59..78a172e4 100644
--- a/gst/freeverb/Makefile.in
+++ b/gst/freeverb/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/frei0r/Makefile.in b/gst/frei0r/Makefile.in
index d925b74d..35fa94b4 100644
--- a/gst/frei0r/Makefile.in
+++ b/gst/frei0r/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/gaudieffects/Makefile.in b/gst/gaudieffects/Makefile.in
index 51efeec5..aa060cdf 100644
--- a/gst/gaudieffects/Makefile.in
+++ b/gst/gaudieffects/Makefile.in
@@ -286,6 +286,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -319,6 +321,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/gdp/Makefile.in b/gst/gdp/Makefile.in
index a58600ce..af0b8b2e 100644
--- a/gst/gdp/Makefile.in
+++ b/gst/gdp/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/gdp/gstgdppay.c b/gst/gdp/gstgdppay.c
index d26c0a3c..033e39aa 100644
--- a/gst/gdp/gstgdppay.c
+++ b/gst/gdp/gstgdppay.c
@@ -676,9 +676,9 @@ gst_gdp_pay_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
break;
case GST_EVENT_CAPS:{
gst_event_parse_caps (event, &caps);
+ gst_buffer_replace (&outbuffer, NULL);
if (this->caps == NULL || !gst_caps_is_equal (this->caps, caps)) {
GST_INFO_OBJECT (pad, "caps changed to %" GST_PTR_FORMAT, caps);
- gst_buffer_replace (&outbuffer, NULL);
gst_caps_replace (&this->caps, caps);
outbuffer = gst_gdp_buffer_from_caps (this, caps);
if (outbuffer == NULL)
diff --git a/gst/geometrictransform/Makefile.in b/gst/geometrictransform/Makefile.in
index da9fd1c6..1c3f2287 100644
--- a/gst/geometrictransform/Makefile.in
+++ b/gst/geometrictransform/Makefile.in
@@ -274,6 +274,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -307,6 +309,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/hdvparse/Makefile.in b/gst/hdvparse/Makefile.in
index d39d9cc8..f5025b50 100644
--- a/gst/hdvparse/Makefile.in
+++ b/gst/hdvparse/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/hls/Makefile.in b/gst/hls/Makefile.in
index 9b593149..89145bff 100644
--- a/gst/hls/Makefile.in
+++ b/gst/hls/Makefile.in
@@ -257,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -290,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/id3tag/Makefile.in b/gst/id3tag/Makefile.in
index a4bd4817..6a75f1d4 100644
--- a/gst/id3tag/Makefile.in
+++ b/gst/id3tag/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/inter/Makefile.in b/gst/inter/Makefile.in
index db730557..805df1b1 100644
--- a/gst/inter/Makefile.in
+++ b/gst/inter/Makefile.in
@@ -269,6 +269,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -302,6 +304,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/inter/gstintertest.c b/gst/inter/gstintertest.c
index 8b22477f..243e0364 100644
--- a/gst/inter/gstintertest.c
+++ b/gst/inter/gstintertest.c
@@ -108,6 +108,7 @@ main (int argc, char *argv[])
intertest2->main_loop = main_loop;
g_main_loop_run (main_loop);
+ g_main_loop_unref (main_loop);
exit (0);
}
@@ -201,7 +202,7 @@ gst_inter_test_create_pipeline_vts (GstInterTest * intertest)
g_print ("pipeline: %s\n", pipe_desc->str);
pipeline = (GstElement *) gst_parse_launch (pipe_desc->str, &error);
- g_string_free (pipe_desc, FALSE);
+ g_string_free (pipe_desc, TRUE);
if (error) {
g_print ("pipeline parsing error: %s\n", error->message);
@@ -238,7 +239,7 @@ gst_inter_test_create_pipeline_server (GstInterTest * intertest)
g_print ("pipeline: %s\n", pipe_desc->str);
pipeline = (GstElement *) gst_parse_launch (pipe_desc->str, &error);
- g_string_free (pipe_desc, FALSE);
+ g_string_free (pipe_desc, TRUE);
if (error) {
g_print ("pipeline parsing error: %s\n", error->message);
@@ -359,6 +360,8 @@ gst_inter_test_handle_message (GstBus * bus, GstMessage * message,
gst_message_parse_error (message, &error, &debug);
gst_inter_test_handle_error (intertest, error, debug);
+ g_error_free (error);
+ g_free (debug);
}
break;
case GST_MESSAGE_WARNING:
@@ -368,6 +371,8 @@ gst_inter_test_handle_message (GstBus * bus, GstMessage * message,
gst_message_parse_warning (message, &error, &debug);
gst_inter_test_handle_warning (intertest, error, debug);
+ g_error_free (error);
+ g_free (debug);
}
break;
case GST_MESSAGE_INFO:
@@ -377,6 +382,8 @@ gst_inter_test_handle_message (GstBus * bus, GstMessage * message,
gst_message_parse_info (message, &error, &debug);
gst_inter_test_handle_info (intertest, error, debug);
+ g_error_free (error);
+ g_free (debug);
}
break;
case GST_MESSAGE_TAG:
diff --git a/gst/interlace/Makefile.in b/gst/interlace/Makefile.in
index b29f58d9..2f1cdc91 100644
--- a/gst/interlace/Makefile.in
+++ b/gst/interlace/Makefile.in
@@ -249,6 +249,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -282,6 +284,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/interlace/gstinterlace.c b/gst/interlace/gstinterlace.c
index 6e0fcdb5..ee495180 100644
--- a/gst/interlace/gstinterlace.c
+++ b/gst/interlace/gstinterlace.c
@@ -471,6 +471,7 @@ gst_interlace_getcaps (GstPad * pad, GstInterlace * interlace, GstCaps * filter)
GstPad *otherpad;
GstCaps *othercaps, *tcaps;
GstCaps *icaps;
+ const char *mode;
otherpad =
(pad == interlace->srcpad) ? interlace->sinkpad : interlace->srcpad;
@@ -492,8 +493,13 @@ gst_interlace_getcaps (GstPad * pad, GstInterlace * interlace, GstCaps * filter)
}
icaps = gst_caps_make_writable (icaps);
+ if (interlace->pattern > GST_INTERLACE_PATTERN_2_2) {
+ mode = "mixed";
+ } else {
+ mode = "interleaved";
+ }
gst_caps_set_simple (icaps, "interlace-mode", G_TYPE_STRING,
- pad == interlace->srcpad ? "mixed" : "progressive", NULL);
+ pad == interlace->srcpad ? mode : "progressive", NULL);
gst_caps_unref (tcaps);
diff --git a/gst/ivfparse/Makefile.in b/gst/ivfparse/Makefile.in
index d160a9a4..1a383d56 100644
--- a/gst/ivfparse/Makefile.in
+++ b/gst/ivfparse/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/jp2kdecimator/Makefile.in b/gst/jp2kdecimator/Makefile.in
index 514a44c0..f3cdeec3 100644
--- a/gst/jp2kdecimator/Makefile.in
+++ b/gst/jp2kdecimator/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/jpegformat/Makefile.in b/gst/jpegformat/Makefile.in
index 0834bfb0..f6b45744 100644
--- a/gst/jpegformat/Makefile.in
+++ b/gst/jpegformat/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/librfb/Makefile.in b/gst/librfb/Makefile.in
index 5cf028a4..588f3502 100644
--- a/gst/librfb/Makefile.in
+++ b/gst/librfb/Makefile.in
@@ -261,6 +261,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -294,6 +296,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/liveadder/Makefile.in b/gst/liveadder/Makefile.in
index 51f0f5cd..1b66ea37 100644
--- a/gst/liveadder/Makefile.in
+++ b/gst/liveadder/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/mpegdemux/Makefile.in b/gst/mpegdemux/Makefile.in
index ebef933e..d8a606f4 100644
--- a/gst/mpegdemux/Makefile.in
+++ b/gst/mpegdemux/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/mpegpsmux/Makefile.in b/gst/mpegpsmux/Makefile.in
index d93fbdd6..f45938f4 100644
--- a/gst/mpegpsmux/Makefile.in
+++ b/gst/mpegpsmux/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/mpegtsdemux/Makefile.in b/gst/mpegtsdemux/Makefile.in
index a94e4158..dfb42bf0 100644
--- a/gst/mpegtsdemux/Makefile.in
+++ b/gst/mpegtsdemux/Makefile.in
@@ -258,6 +258,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -291,6 +293,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 0e9af64c..6375e99f 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -849,23 +849,28 @@ create_pad_for_stream (MpegTSBase * base, MpegTSBaseStream * bstream,
break;
case ST_PRIVATE_EA: /* Try to detect a VC1 stream */
{
+ gboolean is_vc1 = FALSE;
desc =
mpegts_get_descriptor_from_stream ((MpegTSBaseStream *) stream,
DESC_REGISTRATION);
if (desc) {
if (DESC_LENGTH (desc) >= 4) {
if (DESC_REGISTRATION_format_identifier (desc) == DRF_ID_VC1) {
- GST_WARNING ("0xea private stream type found but no descriptor "
- "for VC1. Assuming plain VC1.");
- template = gst_static_pad_template_get (&video_template);
- name = g_strdup_printf ("video_%04x", bstream->pid);
- caps = gst_caps_new_simple ("video/x-wmv",
- "wmvversion", G_TYPE_INT, 3,
- "format", G_TYPE_STRING, "WVC1", NULL);
+ is_vc1 = TRUE;
}
}
g_free (desc);
}
+ if (!is_vc1) {
+ GST_WARNING ("0xea private stream type found but no descriptor "
+ "for VC1. Assuming plain VC1.");
+ }
+
+ template = gst_static_pad_template_get (&video_template);
+ name = g_strdup_printf ("video_%04x", bstream->pid);
+ caps = gst_caps_new_simple ("video/x-wmv",
+ "wmvversion", G_TYPE_INT, 3, "format", G_TYPE_STRING, "WVC1", NULL);
+
break;
}
case ST_BD_AUDIO_AC3:
diff --git a/gst/mpegtsmux/Makefile.in b/gst/mpegtsmux/Makefile.in
index c51bd01f..0bb5f619 100644
--- a/gst/mpegtsmux/Makefile.in
+++ b/gst/mpegtsmux/Makefile.in
@@ -294,6 +294,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -327,6 +329,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/mpegtsmux/tsmux/Makefile.in b/gst/mpegtsmux/tsmux/Makefile.in
index c0fe03f7..c64501e9 100644
--- a/gst/mpegtsmux/tsmux/Makefile.in
+++ b/gst/mpegtsmux/tsmux/Makefile.in
@@ -223,6 +223,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -256,6 +258,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/mve/Makefile.in b/gst/mve/Makefile.in
index 34961636..693ca6b9 100644
--- a/gst/mve/Makefile.in
+++ b/gst/mve/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/mxf/Makefile.in b/gst/mxf/Makefile.in
index 8c3d0847..8068041f 100644
--- a/gst/mxf/Makefile.in
+++ b/gst/mxf/Makefile.in
@@ -260,6 +260,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -293,6 +295,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/nsf/Makefile.in b/gst/nsf/Makefile.in
index e5114229..b31e1f8c 100644
--- a/gst/nsf/Makefile.in
+++ b/gst/nsf/Makefile.in
@@ -257,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -290,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/nuvdemux/Makefile.in b/gst/nuvdemux/Makefile.in
index 83e92cf7..f57f4814 100644
--- a/gst/nuvdemux/Makefile.in
+++ b/gst/nuvdemux/Makefile.in
@@ -251,6 +251,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -284,6 +286,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/patchdetect/Makefile.in b/gst/patchdetect/Makefile.in
index 47c0372e..4338439f 100644
--- a/gst/patchdetect/Makefile.in
+++ b/gst/patchdetect/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/pcapparse/Makefile.in b/gst/pcapparse/Makefile.in
index d4687c12..03f7ef1f 100644
--- a/gst/pcapparse/Makefile.in
+++ b/gst/pcapparse/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/pnm/Makefile.in b/gst/pnm/Makefile.in
index a3873784..074940d2 100644
--- a/gst/pnm/Makefile.in
+++ b/gst/pnm/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/rawparse/Makefile.in b/gst/rawparse/Makefile.in
index a991a2cb..a87def25 100644
--- a/gst/rawparse/Makefile.in
+++ b/gst/rawparse/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/real/Makefile.in b/gst/real/Makefile.in
index ad65b6ed..90e3f68f 100644
--- a/gst/real/Makefile.in
+++ b/gst/real/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/removesilence/Makefile.in b/gst/removesilence/Makefile.in
index 171ee181..f7df54f5 100644
--- a/gst/removesilence/Makefile.in
+++ b/gst/removesilence/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/rtpmux/Makefile.in b/gst/rtpmux/Makefile.in
index 9303a4e5..b05e5bb6 100644
--- a/gst/rtpmux/Makefile.in
+++ b/gst/rtpmux/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/rtpvp8/Makefile.in b/gst/rtpvp8/Makefile.in
index 401f7366..709ba8f0 100644
--- a/gst/rtpvp8/Makefile.in
+++ b/gst/rtpvp8/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/scaletempo/Makefile.in b/gst/scaletempo/Makefile.in
index c3889f32..d77ae33d 100644
--- a/gst/scaletempo/Makefile.in
+++ b/gst/scaletempo/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/sdi/Makefile.in b/gst/sdi/Makefile.in
index 19edac55..d29dccec 100644
--- a/gst/sdi/Makefile.in
+++ b/gst/sdi/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/sdp/Makefile.in b/gst/sdp/Makefile.in
index 8a7bb942..46f18ab2 100644
--- a/gst/sdp/Makefile.in
+++ b/gst/sdp/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/segmentclip/Makefile.in b/gst/segmentclip/Makefile.in
index 0e202b25..900b5901 100644
--- a/gst/segmentclip/Makefile.in
+++ b/gst/segmentclip/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/siren/Makefile.in b/gst/siren/Makefile.in
index bdae2fde..990dde4a 100644
--- a/gst/siren/Makefile.in
+++ b/gst/siren/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/smooth/Makefile.in b/gst/smooth/Makefile.in
index 1057f801..8272c90f 100644
--- a/gst/smooth/Makefile.in
+++ b/gst/smooth/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/speed/Makefile.in b/gst/speed/Makefile.in
index 573ae9f6..cfe5ddc4 100644
--- a/gst/speed/Makefile.in
+++ b/gst/speed/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/stereo/Makefile.in b/gst/stereo/Makefile.in
index d4776a39..1e9783d8 100644
--- a/gst/stereo/Makefile.in
+++ b/gst/stereo/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/subenc/Makefile.in b/gst/subenc/Makefile.in
index b1d16c70..f109de3e 100644
--- a/gst/subenc/Makefile.in
+++ b/gst/subenc/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/tta/Makefile.in b/gst/tta/Makefile.in
index 801b14cd..70e91353 100644
--- a/gst/tta/Makefile.in
+++ b/gst/tta/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/videofilters/Makefile.in b/gst/videofilters/Makefile.in
index 8422056a..4eebf45e 100644
--- a/gst/videofilters/Makefile.in
+++ b/gst/videofilters/Makefile.in
@@ -258,6 +258,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -291,6 +293,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/videomeasure/Makefile.in b/gst/videomeasure/Makefile.in
index 4132ddbd..12a4e5c3 100644
--- a/gst/videomeasure/Makefile.in
+++ b/gst/videomeasure/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/videoparsers/Makefile.in b/gst/videoparsers/Makefile.in
index d161f332..28b4dc6f 100644
--- a/gst/videoparsers/Makefile.in
+++ b/gst/videoparsers/Makefile.in
@@ -262,6 +262,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -295,6 +297,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/videosignal/Makefile.in b/gst/videosignal/Makefile.in
index 22889afd..49790009 100644
--- a/gst/videosignal/Makefile.in
+++ b/gst/videosignal/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/vmnc/Makefile.in b/gst/vmnc/Makefile.in
index 73be942c..9c686578 100644
--- a/gst/vmnc/Makefile.in
+++ b/gst/vmnc/Makefile.in
@@ -249,6 +249,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -282,6 +284,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/gst/y4m/Makefile.in b/gst/y4m/Makefile.in
index 5d729b02..438c5779 100644
--- a/gst/y4m/Makefile.in
+++ b/gst/y4m/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 6dce39be..014cba01 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -185,6 +185,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -218,6 +220,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index c19394e2..15b5ef55 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -224,6 +224,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -257,6 +259,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/po/af.gmo b/po/af.gmo
index 924c6b9e..76ede704 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 4a2aec2f..a17df845 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2004-03-18 14:16+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/po/az.gmo b/po/az.gmo
index 928cb7d0..e5fb6070 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 31a8773d..f4b7644f 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2004-03-19 18:29+0200\n"
"Last-Translator: Metin Amiroff <metin@karegen.com>\n"
"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index 0f36ffad..53d4ee15 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 4b23b925..3adcae77 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-26 22:30+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index 2dd945e9..8ed33052 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 515b9cb9..82199cd7 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-01-01 14:19+0100\n"
"Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index a8d9d901..322f4454 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index b3888180..06caf125 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2009-08-29 01:48+0200\n"
"Last-Translator: Petr Kovar <pknbe@volny.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
diff --git a/po/da.gmo b/po/da.gmo
index 8dfdd344..5b2df031 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 4690a179..6b8e0f25 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-28 11:28+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
diff --git a/po/de.gmo b/po/de.gmo
index 858b248a..9ad3264a 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index c669c579..82a49e29 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-28 00:04+0200\n"
"Last-Translator: Christian Kirbach <christian.kirbach@googlemail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
diff --git a/po/el.gmo b/po/el.gmo
index d54d3e19..8b8cdd6e 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 0ff0afb3..809bee85 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-05-05 19:17+0100\n"
"Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 1ca9f1cb..220e0066 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index 71e0853b..0cb68ca4 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.8.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2004-04-26 10:41-0400\n"
"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
"Language-Team: English (British) <en_gb@li.org>\n"
diff --git a/po/eo.gmo b/po/eo.gmo
index f2ef9e6f..af46adad 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index a5791963..0289c69d 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-06-04 22:18+0200\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/po/es.gmo b/po/es.gmo
index 1014d092..31688d46 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 85704034..19b2a567 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-10-02 15:47+0200\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index ac9f5980..4fd7b8cc 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 7d9196ac..958705c5 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2010-03-25 12:30+0100\n"
"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index 804ec7e9..2d4db5c9 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index bb43b160..78a697b6 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2009-08-12 22:13+0300\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index ae10c0e9..18bde3fa 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 10d047c3..16f0634c 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-28 09:13+0200\n"
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index 810efb90..24aa5bf5 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 352ef3b9..598ca635 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-09-05 12:50+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\n"
diff --git a/po/gst-plugins-bad-1.0.pot b/po/gst-plugins-bad-1.0.pot
index 5935f329..b5ff2f23 100644
--- a/po/gst-plugins-bad-1.0.pot
+++ b/po/gst-plugins-bad-1.0.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.0.5\n"
+"Project-Id-Version: gst-plugins-bad 1.0.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/po/hr.gmo b/po/hr.gmo
index c2526d5b..369bfc50 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index a8b0e9e6..264edba5 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-04-16 02:06+0200\n"
"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index 7db5533d..4a43e9c5 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 5a226bd5..6136a7bb 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-11-30 15:02+0100\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
diff --git a/po/id.gmo b/po/id.gmo
index 54e80941..d40285c1 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 280d71f8..ac5efd7b 100644
--- a/po/id.po
+++ b/po/id.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-01-28 10:27+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
diff --git a/po/it.gmo b/po/it.gmo
index 23c71206..1ceee134 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index de7b9599..49ee70da 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2009-08-14 00:12+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/po/ja.gmo b/po/ja.gmo
index abf78b10..b18f280b 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 19fcf6fc..bf83c348 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-26 19:38+0900\n"
"Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/ky.gmo b/po/ky.gmo
index 7f47f974..6751a6b6 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index 20a6f6c6..2fc28a9d 100644
--- a/po/ky.po
+++ b/po/ky.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2007-11-13 17:16+0600\n"
"Last-Translator: Ilyas Bakirov <just_ilyas@yahoo.com>\n"
"Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index d06f9da0..7a48229b 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 551f11e8..2b3d1420 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.6.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2008-05-14 02:13+0300\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/lv.gmo b/po/lv.gmo
index eb91647a..a6068256 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index e8f8e031..3c67d0b0 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-09-02 12:04-0000\n"
"Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
diff --git a/po/mt.gmo b/po/mt.gmo
index 9f94b654..975c889d 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index 3438df21..8752d33e 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2008-10-26 20:27+0100\n"
"Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
"Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index 10442227..2876231e 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 812eaff4..b40fc59a 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-07-28 07:10+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index 36835533..81161225 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 22b19f9c..64c87e6f 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-11-30 00:10+0100\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/po/or.gmo b/po/or.gmo
index 7764c44a..4cc7cb3c 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 37a68278..dc754c6b 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2004-09-27 13:32+0530\n"
"Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
"Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index 2294dca8..32832f7d 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 95de5e63..1cd53165 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-26 17:57+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index b0e667d8..7ee6bc4f 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 3772bae5..7f5b188a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.18.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2010-05-26 00:00-0300\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
diff --git a/po/ro.gmo b/po/ro.gmo
index b9c805ca..c0f12ae0 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 54ce2e91..a6b09636 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.18.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2010-08-16 03:11+0300\n"
"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index e28924a4..bc33ea46 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 96c3f47a..d55ca064 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-26 20:31+0400\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@mx.ru>\n"
diff --git a/po/sk.gmo b/po/sk.gmo
index e174c25c..3b6dc290 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index ae3bb923..a3f67180 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2010-03-08 09:20+0100\n"
"Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index d435c875..35d9f1ad 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 3a7baf42..d781c87e 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-26 15:21+0100\n"
"Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.gmo b/po/sq.gmo
index 39e39ca6..0f76d3f3 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 462c26a2..8465d1c8 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2008-08-15 16:07+0200\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
diff --git a/po/sr.gmo b/po/sr.gmo
index ba25af80..9fbe3c99 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index a7bceb56..933f427c 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-12-04 09:59+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnu@prevod.org>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index 70a46ed8..0f64da44 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 13398304..6e6932aa 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2009-08-12 20:29+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index ca189169..dbe8ab58 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index c7ab6e6f..336ee876 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-26 19:21+0200\n"
"Last-Translator: Server Acim <serveracim@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index c9b1e693..3a7b2d65 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index b825c3ee..ea240831 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2011-04-30 14:00+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
diff --git a/po/vi.gmo b/po/vi.gmo
index dd805d00..57bf2a24 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 592ec0ae..e775209d 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2012-12-02 08:03+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 8d021145..a9deda0c 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 435eb026..7829dcd6 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.16.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2013-01-08 01:18+0000\n"
+"POT-Creation-Date: 2013-03-22 10:43+0000\n"
"PO-Revision-Date: 2009-11-20 18:12中国标准时间\n"
"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/sys/Makefile.in b/sys/Makefile.in
index 9a071f28..595b429e 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -230,6 +230,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -263,6 +265,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/acmenc/Makefile.in b/sys/acmenc/Makefile.in
index 7e2d5385..bed854f3 100644
--- a/sys/acmenc/Makefile.in
+++ b/sys/acmenc/Makefile.in
@@ -249,6 +249,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -282,6 +284,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/acmmp3dec/Makefile.in b/sys/acmmp3dec/Makefile.in
index d0d45d6f..710c6001 100644
--- a/sys/acmmp3dec/Makefile.in
+++ b/sys/acmmp3dec/Makefile.in
@@ -249,6 +249,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -282,6 +284,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/androidmedia/Makefile.in b/sys/androidmedia/Makefile.in
index 1e4c0b60..e3b4659d 100644
--- a/sys/androidmedia/Makefile.in
+++ b/sys/androidmedia/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/applemedia/Makefile.in b/sys/applemedia/Makefile.in
index 3d9b8266..dd537168 100644
--- a/sys/applemedia/Makefile.in
+++ b/sys/applemedia/Makefile.in
@@ -308,6 +308,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -341,6 +343,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/avc/Makefile.in b/sys/avc/Makefile.in
index 255b9eb5..0f641f96 100644
--- a/sys/avc/Makefile.in
+++ b/sys/avc/Makefile.in
@@ -253,6 +253,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -286,6 +288,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/d3dvideosink/Makefile.in b/sys/d3dvideosink/Makefile.in
index ffd87f8c..6ce0dc8c 100644
--- a/sys/d3dvideosink/Makefile.in
+++ b/sys/d3dvideosink/Makefile.in
@@ -259,6 +259,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -292,6 +294,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/decklink/Makefile.am b/sys/decklink/Makefile.am
index 8e959957..a790d2ae 100644
--- a/sys/decklink/Makefile.am
+++ b/sys/decklink/Makefile.am
@@ -8,10 +8,9 @@ libgstdecklink_la_CPPFLAGS = \
$(DECKLINK_CXXFLAGS)
libgstdecklink_la_LIBADD = \
$(GST_PLUGINS_BASE_LIBS) \
+ -lgstvideo-@GST_API_VERSION@ \
$(GST_BASE_LIBS) \
$(GST_LIBS) \
- -lgstvideo-@GST_API_VERSION@ \
- -lgstinterfaces-@GST_API_VERSION@ \
$(DECKLINK_LIBS) \
$(LIBM)
libgstdecklink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
@@ -24,8 +23,8 @@ endif
libgstdecklink_la_LIBTOOLFLAGS = --tag=disable-static
libgstdecklink_la_SOURCES = \
- gstdecklinksrc.cpp \
gstdecklinksink.cpp \
+ gstdecklinksrc.cpp \
gstdecklink.cpp \
capture.cpp
diff --git a/sys/decklink/Makefile.in b/sys/decklink/Makefile.in
index cd3443ee..85b0abde 100644
--- a/sys/decklink/Makefile.in
+++ b/sys/decklink/Makefile.in
@@ -139,14 +139,14 @@ am__DEPENDENCIES_1 =
libgstdecklink_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am__libgstdecklink_la_SOURCES_DIST = gstdecklinksrc.cpp \
- gstdecklinksink.cpp gstdecklink.cpp capture.cpp \
+am__libgstdecklink_la_SOURCES_DIST = gstdecklinksink.cpp \
+ gstdecklinksrc.cpp gstdecklink.cpp capture.cpp \
osx/DeckLinkAPIDispatch-osx.cpp linux/DeckLinkAPIDispatch.cpp
@DECKLINK_OSX_TRUE@am__objects_1 = libgstdecklink_la-DeckLinkAPIDispatch-osx.lo
@DECKLINK_OSX_FALSE@am__objects_2 = \
@DECKLINK_OSX_FALSE@ libgstdecklink_la-DeckLinkAPIDispatch.lo
-am_libgstdecklink_la_OBJECTS = libgstdecklink_la-gstdecklinksrc.lo \
- libgstdecklink_la-gstdecklinksink.lo \
+am_libgstdecklink_la_OBJECTS = libgstdecklink_la-gstdecklinksink.lo \
+ libgstdecklink_la-gstdecklinksrc.lo \
libgstdecklink_la-gstdecklink.lo libgstdecklink_la-capture.lo \
$(am__objects_1) $(am__objects_2)
libgstdecklink_la_OBJECTS = $(am_libgstdecklink_la_OBJECTS)
@@ -271,6 +271,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -304,6 +306,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
@@ -640,16 +644,15 @@ libgstdecklink_la_CPPFLAGS = \
libgstdecklink_la_LIBADD = \
$(GST_PLUGINS_BASE_LIBS) \
+ -lgstvideo-@GST_API_VERSION@ \
$(GST_BASE_LIBS) \
$(GST_LIBS) \
- -lgstvideo-@GST_API_VERSION@ \
- -lgstinterfaces-@GST_API_VERSION@ \
$(DECKLINK_LIBS) \
$(LIBM)
libgstdecklink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(am__append_1)
libgstdecklink_la_LIBTOOLFLAGS = --tag=disable-static
-libgstdecklink_la_SOURCES = gstdecklinksrc.cpp gstdecklinksink.cpp \
+libgstdecklink_la_SOURCES = gstdecklinksink.cpp gstdecklinksrc.cpp \
gstdecklink.cpp capture.cpp $(am__append_2) $(am__append_3)
noinst_HEADERS = \
gstdecklink.h \
@@ -775,13 +778,6 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-libgstdecklink_la-gstdecklinksrc.lo: gstdecklinksrc.cpp
-@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstdecklink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstdecklink_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libgstdecklink_la-gstdecklinksrc.lo -MD -MP -MF $(DEPDIR)/libgstdecklink_la-gstdecklinksrc.Tpo -c -o libgstdecklink_la-gstdecklinksrc.lo `test -f 'gstdecklinksrc.cpp' || echo '$(srcdir)/'`gstdecklinksrc.cpp
-@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstdecklink_la-gstdecklinksrc.Tpo $(DEPDIR)/libgstdecklink_la-gstdecklinksrc.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gstdecklinksrc.cpp' object='libgstdecklink_la-gstdecklinksrc.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstdecklink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstdecklink_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgstdecklink_la-gstdecklinksrc.lo `test -f 'gstdecklinksrc.cpp' || echo '$(srcdir)/'`gstdecklinksrc.cpp
-
libgstdecklink_la-gstdecklinksink.lo: gstdecklinksink.cpp
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstdecklink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstdecklink_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libgstdecklink_la-gstdecklinksink.lo -MD -MP -MF $(DEPDIR)/libgstdecklink_la-gstdecklinksink.Tpo -c -o libgstdecklink_la-gstdecklinksink.lo `test -f 'gstdecklinksink.cpp' || echo '$(srcdir)/'`gstdecklinksink.cpp
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstdecklink_la-gstdecklinksink.Tpo $(DEPDIR)/libgstdecklink_la-gstdecklinksink.Plo
@@ -789,6 +785,13 @@ libgstdecklink_la-gstdecklinksink.lo: gstdecklinksink.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstdecklink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstdecklink_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgstdecklink_la-gstdecklinksink.lo `test -f 'gstdecklinksink.cpp' || echo '$(srcdir)/'`gstdecklinksink.cpp
+libgstdecklink_la-gstdecklinksrc.lo: gstdecklinksrc.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstdecklink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstdecklink_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libgstdecklink_la-gstdecklinksrc.lo -MD -MP -MF $(DEPDIR)/libgstdecklink_la-gstdecklinksrc.Tpo -c -o libgstdecklink_la-gstdecklinksrc.lo `test -f 'gstdecklinksrc.cpp' || echo '$(srcdir)/'`gstdecklinksrc.cpp
+@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstdecklink_la-gstdecklinksrc.Tpo $(DEPDIR)/libgstdecklink_la-gstdecklinksrc.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='gstdecklinksrc.cpp' object='libgstdecklink_la-gstdecklinksrc.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstdecklink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstdecklink_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libgstdecklink_la-gstdecklinksrc.lo `test -f 'gstdecklinksrc.cpp' || echo '$(srcdir)/'`gstdecklinksrc.cpp
+
libgstdecklink_la-gstdecklink.lo: gstdecklink.cpp
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstdecklink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstdecklink_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libgstdecklink_la-gstdecklink.lo -MD -MP -MF $(DEPDIR)/libgstdecklink_la-gstdecklink.Tpo -c -o libgstdecklink_la-gstdecklink.lo `test -f 'gstdecklink.cpp' || echo '$(srcdir)/'`gstdecklink.cpp
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstdecklink_la-gstdecklink.Tpo $(DEPDIR)/libgstdecklink_la-gstdecklink.Plo
diff --git a/sys/decklink/capture.cpp b/sys/decklink/capture.cpp
index c2a0bcb3..c923b97e 100644
--- a/sys/decklink/capture.cpp
+++ b/sys/decklink/capture.cpp
@@ -31,44 +31,38 @@
#include <unistd.h>
#include <fcntl.h>
-#include <gst/glib-compat-private.h>
-
#include "gstdecklinksrc.h"
#include "capture.h"
#define GST_CAT_DEFAULT gst_decklink_src_debug_category
-IDeckLink *deckLink;
-IDeckLinkInput *deckLinkInput;
-IDeckLinkDisplayModeIterator *displayModeIterator;
-
static BMDTimecodeFormat g_timecodeFormat = (BMDTimecodeFormat) 0;
DeckLinkCaptureDelegate::DeckLinkCaptureDelegate ():m_refCount (0)
{
- m_mutex = g_mutex_new ();
+ g_mutex_init (&m_mutex);
}
DeckLinkCaptureDelegate::~DeckLinkCaptureDelegate ()
{
- g_mutex_free (m_mutex);
+ g_mutex_clear (&m_mutex);
}
ULONG DeckLinkCaptureDelegate::AddRef (void)
{
- g_mutex_lock (m_mutex);
+ g_mutex_lock (&m_mutex);
m_refCount++;
- g_mutex_unlock (m_mutex);
+ g_mutex_unlock (&m_mutex);
return (ULONG) m_refCount;
}
ULONG DeckLinkCaptureDelegate::Release (void)
{
- g_mutex_lock (m_mutex);
+ g_mutex_lock (&m_mutex);
m_refCount--;
- g_mutex_unlock (m_mutex);
+ g_mutex_unlock (&m_mutex);
if (m_refCount == 0) {
delete
@@ -106,6 +100,7 @@ HRESULT
return S_OK;
}
+ /* FIXME: g_timecodeFormat is inited to 0 and never changed? dead code? */
if (g_timecodeFormat != 0) {
IDeckLinkTimecode *timecode;
if (videoFrame->GetTimecode (g_timecodeFormat, &timecode) == S_OK) {
@@ -121,7 +116,7 @@ HRESULT
if (timecodeString)
FREE_COM_STRING (timecodeString);
- g_mutex_lock (decklinksrc->mutex);
+ g_mutex_lock (&decklinksrc->mutex);
if (decklinksrc->video_frame != NULL) {
decklinksrc->dropped_frames++;
decklinksrc->video_frame->Release();
@@ -139,8 +134,8 @@ HRESULT
/* increment regardless whether frame was dropped or not */
decklinksrc->frame_num++;
- g_cond_signal (decklinksrc->cond);
- g_mutex_unlock (decklinksrc->mutex);
+ g_cond_signal (&decklinksrc->cond);
+ g_mutex_unlock (&decklinksrc->mutex);
return S_OK;
}
diff --git a/sys/decklink/capture.h b/sys/decklink/capture.h
index c501616d..029500f2 100644
--- a/sys/decklink/capture.h
+++ b/sys/decklink/capture.h
@@ -19,7 +19,7 @@ class DeckLinkCaptureDelegate : public IDeckLinkInputCallback
private:
ULONG m_refCount;
- GMutex *m_mutex;
+ GMutex m_mutex;
};
#endif
diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
index 4a0c09f0..847430b8 100644
--- a/sys/decklink/gstdecklink.cpp
+++ b/sys/decklink/gstdecklink.cpp
@@ -152,14 +152,14 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e)
{
const GstDecklinkMode *mode = &modes[e];
- return gst_structure_new ("video/x-raw-yuv",
- "format", GST_TYPE_FOURCC, GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y'),
+ return gst_structure_new ("video/x-raw",
+ "format", G_TYPE_STRING, "UYVY",
"width", G_TYPE_INT, mode->width,
"height", G_TYPE_INT, mode->height,
"framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d,
- "interlaced", G_TYPE_BOOLEAN, mode->interlaced,
+ "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive",
"pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
- "color-matrix", G_TYPE_STRING, mode->is_hdtv ? "hdtv" : "sdtv",
+ "colorimetry", G_TYPE_STRING, mode->is_hdtv ? "bt709" : "bt601",
"chroma-site", G_TYPE_STRING, "mpeg2", NULL);
}
@@ -288,8 +288,10 @@ plugin_init (GstPlugin * plugin)
gst_element_register (plugin, "decklinksrc", GST_RANK_NONE,
gst_decklink_src_get_type ());
+#if 0
gst_element_register (plugin, "decklinksink", GST_RANK_NONE,
gst_decklink_sink_get_type ());
+#endif
return TRUE;
}
diff --git a/sys/decklink/gstdecklinksink.cpp b/sys/decklink/gstdecklinksink.cpp
index 46a71a6f..9abde79f 100644
--- a/sys/decklink/gstdecklinksink.cpp
+++ b/sys/decklink/gstdecklinksink.cpp
@@ -25,7 +25,7 @@
* <refsect2>
* <title>Example launch line</title>
* |[
- * gst-launch -v videotestsrc ! decklinksink
+ * gst-launch-1.0 -v videotestsrc ! decklinksink
* ]|
* </refsect2>
*/
@@ -36,91 +36,42 @@
#include <gst/gst.h>
#include <gst/video/video.h>
-#include <gst/interfaces/propertyprobe.h>
#include "gstdecklink.h"
#include "gstdecklinksink.h"
#include <string.h>
+/* FIXME:
+ * - handle ALLOCATION query
+ * - provide buffer pool with suitable strides/alignment for video
+ * - handle video meta
+ */
GST_DEBUG_CATEGORY_STATIC (gst_decklink_sink_debug_category);
#define GST_CAT_DEFAULT gst_decklink_sink_debug_category
-/* prototypes */
-
-
static void gst_decklink_sink_set_property (GObject * object,
guint property_id, const GValue * value, GParamSpec * pspec);
static void gst_decklink_sink_get_property (GObject * object,
guint property_id, GValue * value, GParamSpec * pspec);
-static void gst_decklink_sink_dispose (GObject * object);
static void gst_decklink_sink_finalize (GObject * object);
static GstStateChangeReturn
gst_decklink_sink_change_state (GstElement * element,
GstStateChange transition);
-static GstClock *gst_decklink_sink_provide_clock (GstElement * element);
-static gboolean gst_decklink_sink_set_clock (GstElement * element,
- GstClock * clock);
-static GstIndex *gst_decklink_sink_get_index (GstElement * element);
-static void gst_decklink_sink_set_index (GstElement * element,
- GstIndex * index);
-static gboolean gst_decklink_sink_send_event (GstElement * element,
- GstEvent * event);
-static gboolean gst_decklink_sink_query (GstElement * element,
- GstQuery * query);
-
-static GstCaps *gst_decklink_sink_videosink_getcaps (GstPad * pad);
-static gboolean gst_decklink_sink_videosink_setcaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_sink_videosink_acceptcaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_sink_videosink_activate (GstPad * pad);
-static gboolean gst_decklink_sink_videosink_activatepush (GstPad * pad,
- gboolean active);
-static gboolean gst_decklink_sink_videosink_activatepull (GstPad * pad,
- gboolean active);
-static GstPadLinkReturn gst_decklink_sink_videosink_link (GstPad * pad,
- GstPad * peer);
+
static GstFlowReturn gst_decklink_sink_videosink_chain (GstPad * pad,
- GstBuffer * buffer);
-static GstFlowReturn gst_decklink_sink_videosink_chainlist (GstPad * pad,
- GstBufferList * bufferlist);
+ GstObject * parent, GstBuffer * buffer);
static gboolean gst_decklink_sink_videosink_event (GstPad * pad,
- GstEvent * event);
+ GstObject * parent, GstEvent * event);
static gboolean gst_decklink_sink_videosink_query (GstPad * pad,
- GstQuery * query);
-static GstFlowReturn gst_decklink_sink_videosink_bufferalloc (GstPad * pad,
- guint64 offset, guint size, GstCaps * caps, GstBuffer ** buf);
-static GstIterator *gst_decklink_sink_videosink_iterintlink (GstPad * pad);
-
-
-static GstCaps *gst_decklink_sink_audiosink_getcaps (GstPad * pad);
-static gboolean gst_decklink_sink_audiosink_setcaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_sink_audiosink_acceptcaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_sink_audiosink_activate (GstPad * pad);
-static gboolean gst_decklink_sink_audiosink_activatepush (GstPad * pad,
- gboolean active);
-static gboolean gst_decklink_sink_audiosink_activatepull (GstPad * pad,
- gboolean active);
-static GstPadLinkReturn gst_decklink_sink_audiosink_link (GstPad * pad,
- GstPad * peer);
+ GstObject * parent, GstQuery * query);
+
static GstFlowReturn gst_decklink_sink_audiosink_chain (GstPad * pad,
- GstBuffer * buffer);
-static GstFlowReturn gst_decklink_sink_audiosink_chainlist (GstPad * pad,
- GstBufferList * bufferlist);
+ GstObject * parent, GstBuffer * buffer);
static gboolean gst_decklink_sink_audiosink_event (GstPad * pad,
- GstEvent * event);
+ GstObject * parent, GstEvent * event);
static gboolean gst_decklink_sink_audiosink_query (GstPad * pad,
- GstQuery * query);
-static GstFlowReturn gst_decklink_sink_audiosink_bufferalloc (GstPad * pad,
- guint64 offset, guint size, GstCaps * caps, GstBuffer ** buf);
-static GstIterator *gst_decklink_sink_audiosink_iterintlink (GstPad * pad);
-
-static void
-gst_decklink_sink_property_probe_interface_init (GstPropertyProbeInterface *
- iface);
+ GstObject * parent, GstQuery * query);
#ifdef _MSC_VER
/* COM initialization/uninitialization thread */
@@ -142,53 +93,12 @@ static GstStaticPadTemplate gst_decklink_sink_audiosink_template =
GST_STATIC_PAD_TEMPLATE ("audiosink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-int,width=16,depth=16,channels=2,rate=48000")
+ GST_STATIC_CAPS ("audio/x-raw, format=S16LE, channels=2, rate=48000, "
+ "layout=interleaved")
);
-
-/* class initialization */
-
-#define DEBUG_INIT(bla) \
- GST_DEBUG_CATEGORY_INIT (gst_decklink_sink_debug_category, "decklinksink", 0, \
- "debug category for decklinksink element");
-
-static void
-gst_decklink_sink_init_interfaces (GType type)
-{
- static const GInterfaceInfo decklink_sink_propertyprobe_info = {
- (GInterfaceInitFunc) gst_decklink_sink_property_probe_interface_init,
- NULL,
- NULL,
- };
-
- GST_DEBUG_CATEGORY_INIT (gst_decklink_sink_debug_category, "decklinksink", 0,
- "debug category for decklinksink element");
-
- g_type_add_interface_static (type, GST_TYPE_PROPERTY_PROBE,
- &decklink_sink_propertyprobe_info);
-}
-
-
-GST_BOILERPLATE_FULL (GstDecklinkSink, gst_decklink_sink, GstElement,
- GST_TYPE_ELEMENT, gst_decklink_sink_init_interfaces);
-
-static void
-gst_decklink_sink_base_init (gpointer g_class)
-{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
- GstPadTemplate *pad_template;
-
- pad_template =
- gst_pad_template_new ("videosink", GST_PAD_SINK, GST_PAD_ALWAYS,
- gst_decklink_mode_get_template_caps ());
- gst_element_class_add_pad_template (element_class, pad_template);
- gst_object_unref (pad_template);
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_decklink_sink_audiosink_template));
-
- gst_element_class_set_static_metadata (element_class, "Decklink Sink",
- "Video/Sink", "Decklink Sink", "David Schleef <ds@entropywave.com>");
-}
+#define parent_class gst_decklink_sink_parent_class
+G_DEFINE_TYPE (GstDecklinkSink, gst_decklink_sink, GST_TYPE_ELEMENT);
static void
gst_decklink_sink_class_init (GstDecklinkSinkClass * klass)
@@ -198,17 +108,10 @@ gst_decklink_sink_class_init (GstDecklinkSinkClass * klass)
gobject_class->set_property = gst_decklink_sink_set_property;
gobject_class->get_property = gst_decklink_sink_get_property;
- gobject_class->dispose = gst_decklink_sink_dispose;
gobject_class->finalize = gst_decklink_sink_finalize;
+
element_class->change_state =
GST_DEBUG_FUNCPTR (gst_decklink_sink_change_state);
- element_class->provide_clock =
- GST_DEBUG_FUNCPTR (gst_decklink_sink_provide_clock);
- element_class->set_clock = GST_DEBUG_FUNCPTR (gst_decklink_sink_set_clock);
- element_class->get_index = GST_DEBUG_FUNCPTR (gst_decklink_sink_get_index);
- element_class->set_index = GST_DEBUG_FUNCPTR (gst_decklink_sink_set_index);
- element_class->send_event = GST_DEBUG_FUNCPTR (gst_decklink_sink_send_event);
- element_class->query = GST_DEBUG_FUNCPTR (gst_decklink_sink_query);
g_object_class_install_property (gobject_class, PROP_MODE,
g_param_spec_enum ("mode", "Playback Mode",
@@ -217,48 +120,45 @@ gst_decklink_sink_class_init (GstDecklinkSinkClass * klass)
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT)));
+ /* FIXME: should be device-number or so, or turned into a string */
+#if 0
g_object_class_install_property (gobject_class, PROP_DEVICE,
g_param_spec_int ("device", "Device", "Capture device instance to use",
0, G_MAXINT, 0,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT)));
+#endif
+
+ gst_element_class_add_pad_template (element_class,
+ gst_pad_template_new ("videosink", GST_PAD_SINK, GST_PAD_ALWAYS,
+ gst_decklink_mode_get_template_caps ()));
+ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&gst_decklink_sink_audiosink_template));
+
+ gst_element_class_set_static_metadata (element_class, "Decklink Sink",
+ "Video/Sink", "Decklink Sink", "David Schleef <ds@entropywave.com>");
+
+ GST_DEBUG_CATEGORY_INIT (gst_decklink_sink_debug_category, "decklinksink", 0,
+ "debug category for decklinksink element");
}
static void
-gst_decklink_sink_init (GstDecklinkSink * decklinksink,
- GstDecklinkSinkClass * decklinksink_class)
+gst_decklink_sink_init (GstDecklinkSink * decklinksink)
{
+ GstDecklinkSinkClass *decklinksink_class;
+
+ decklinksink_class = GST_DECKLINK_SINK_GET_CLASS (decklinksink);
decklinksink->videosinkpad =
gst_pad_new_from_template (gst_element_class_get_pad_template
(GST_ELEMENT_CLASS (decklinksink_class), "videosink"), "videosink");
- gst_pad_set_getcaps_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_getcaps));
- gst_pad_set_setcaps_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_setcaps));
- gst_pad_set_acceptcaps_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_acceptcaps));
- gst_pad_set_activate_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_activate));
- gst_pad_set_activatepush_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_activatepush));
- gst_pad_set_activatepull_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_activatepull));
- gst_pad_set_link_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_link));
gst_pad_set_chain_function (decklinksink->videosinkpad,
GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_chain));
- gst_pad_set_chain_list_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_chainlist));
gst_pad_set_event_function (decklinksink->videosinkpad,
GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_event));
gst_pad_set_query_function (decklinksink->videosinkpad,
GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_query));
- gst_pad_set_bufferalloc_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_bufferalloc));
- gst_pad_set_iterate_internal_links_function (decklinksink->videosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_videosink_iterintlink));
gst_element_add_pad (GST_ELEMENT (decklinksink), decklinksink->videosinkpad);
@@ -266,40 +166,20 @@ gst_decklink_sink_init (GstDecklinkSink * decklinksink,
decklinksink->audiosinkpad =
gst_pad_new_from_static_template (&gst_decklink_sink_audiosink_template,
"audiosink");
- gst_pad_set_getcaps_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_getcaps));
- gst_pad_set_setcaps_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_setcaps));
- gst_pad_set_acceptcaps_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_acceptcaps));
- gst_pad_set_activate_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_activate));
- gst_pad_set_activatepush_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_activatepush));
- gst_pad_set_activatepull_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_activatepull));
- gst_pad_set_link_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_link));
gst_pad_set_chain_function (decklinksink->audiosinkpad,
GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_chain));
- gst_pad_set_chain_list_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_chainlist));
gst_pad_set_event_function (decklinksink->audiosinkpad,
GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_event));
gst_pad_set_query_function (decklinksink->audiosinkpad,
GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_query));
- gst_pad_set_bufferalloc_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_bufferalloc));
- gst_pad_set_iterate_internal_links_function (decklinksink->audiosinkpad,
- GST_DEBUG_FUNCPTR (gst_decklink_sink_audiosink_iterintlink));
gst_element_add_pad (GST_ELEMENT (decklinksink), decklinksink->audiosinkpad);
- GST_OBJECT_FLAG_SET (decklinksink, GST_ELEMENT_IS_SINK);
+ GST_OBJECT_FLAG_SET (decklinksink, GST_ELEMENT_FLAG_SINK);
- decklinksink->cond = g_cond_new ();
- decklinksink->mutex = g_mutex_new ();
- decklinksink->audio_mutex = g_mutex_new ();
- decklinksink->audio_cond = g_cond_new ();
+ g_cond_init (&decklinksink->cond);
+ g_mutex_init (&decklinksink->mutex);
+ g_mutex_init (&decklinksink->audio_mutex);
+ g_cond_init (&decklinksink->audio_cond);
decklinksink->mode = GST_DECKLINK_MODE_NTSC;
decklinksink->device = 0;
@@ -308,21 +188,21 @@ gst_decklink_sink_init (GstDecklinkSink * decklinksink,
decklinksink->callback->decklinksink = decklinksink;
#ifdef _MSC_VER
- decklinksink->com_init_lock = g_mutex_new ();
- decklinksink->com_deinit_lock = g_mutex_new ();
- decklinksink->com_initialized = g_cond_new ();
- decklinksink->com_uninitialize = g_cond_new ();
- decklinksink->com_uninitialized = g_cond_new ();
+ g_mutex_init (&decklinksink->com_init_lock);
+ g_mutex_init (&decklinksink->com_deinit_lock);
+ g_cond_init (&decklinksink->com_initialized);
+ g_cond_init (&decklinksink->com_uninitialize);
+ g_cond_init (&decklinksink->com_uninitialized);
- g_mutex_lock (decklinksink->com_init_lock);
+ g_mutex_lock (&decklinksink->com_init_lock);
/* create the COM initialization thread */
g_thread_create ((GThreadFunc) gst_decklink_sink_com_thread,
decklinksink, FALSE, NULL);
/* wait until the COM thread signals that COM has been initialized */
- g_cond_wait (decklinksink->com_initialized, decklinksink->com_init_lock);
- g_mutex_unlock (decklinksink->com_init_lock);
+ g_cond_wait (&decklinksink->com_initialized, &decklinksink->com_init_lock);
+ g_mutex_unlock (&decklinksink->com_init_lock);
#endif /* _MSC_VER */
}
@@ -411,46 +291,34 @@ gst_decklink_sink_com_thread (GstDecklinkSink * sink)
#endif /* _MSC_VER */
void
-gst_decklink_sink_dispose (GObject * object)
-{
- g_return_if_fail (GST_IS_DECKLINK_SINK (object));
-
- /* clean up as possible. may be called multiple times */
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-void
gst_decklink_sink_finalize (GObject * object)
{
GstDecklinkSink *decklinksink;
- g_return_if_fail (GST_IS_DECKLINK_SINK (object));
decklinksink = GST_DECKLINK_SINK (object);
- /* clean up object here */
- g_cond_free (decklinksink->cond);
- g_mutex_free (decklinksink->mutex);
- g_cond_free (decklinksink->audio_cond);
- g_mutex_free (decklinksink->audio_mutex);
+ g_cond_clear (&decklinksink->cond);
+ g_mutex_clear (&decklinksink->mutex);
+ g_cond_clear (&decklinksink->audio_cond);
+ g_mutex_clear (&decklinksink->audio_mutex);
delete decklinksink->callback;
#ifdef _MSC_VER
/* signal the COM thread that it should uninitialize COM */
if (decklinksink->comInitialized) {
- g_mutex_lock (decklinksink->com_deinit_lock);
- g_cond_signal (decklinksink->com_uninitialize);
- g_cond_wait (decklinksink->com_uninitialized,
- decklinksink->com_deinit_lock);
- g_mutex_unlock (decklinksink->com_deinit_lock);
+ g_mutex_lock (&decklinksink->com_deinit_lock);
+ g_cond_signal (&decklinksink->com_uninitialize);
+ g_cond_wait (&decklinksink->com_uninitialized,
+ &decklinksink->com_deinit_lock);
+ g_mutex_unlock (&decklinksink->com_deinit_lock);
}
- g_mutex_free (decklinksink->com_init_lock);
- g_mutex_free (decklinksink->com_deinit_lock);
- g_cond_free (decklinksink->com_initialized);
- g_cond_free (decklinksink->com_uninitialize);
- g_cond_free (decklinksink->com_uninitialized);
+ g_mutex_clear (&decklinksink->com_init_lock);
+ g_mutex_clear (&decklinksink->com_deinit_lock);
+ g_cond_clear (&decklinksink->com_initialized);
+ g_cond_clear (&decklinksink->com_uninitialize);
+ g_cond_clear (&decklinksink->com_uninitialized);
#endif /* _MSC_VER */
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -503,14 +371,14 @@ gst_decklink_sink_start (GstDecklinkSink * decklinksink)
static gboolean
gst_decklink_sink_force_stop (GstDecklinkSink * decklinksink)
{
- g_mutex_lock (decklinksink->mutex);
+ g_mutex_lock (&decklinksink->mutex);
decklinksink->stop = TRUE;
- g_cond_signal (decklinksink->cond);
- g_mutex_unlock (decklinksink->mutex);
+ g_cond_signal (&decklinksink->cond);
+ g_mutex_unlock (&decklinksink->mutex);
- g_mutex_lock (decklinksink->audio_mutex);
- g_cond_signal (decklinksink->audio_cond);
- g_mutex_unlock (decklinksink->audio_mutex);
+ g_mutex_lock (&decklinksink->audio_mutex);
+ g_cond_signal (&decklinksink->audio_cond);
+ g_mutex_unlock (&decklinksink->audio_mutex);
return TRUE;
}
@@ -531,8 +399,6 @@ gst_decklink_sink_change_state (GstElement * element, GstStateChange transition)
GstDecklinkSink *decklinksink;
GstStateChangeReturn ret;
- g_return_val_if_fail (GST_IS_DECKLINK_SINK (element),
- GST_STATE_CHANGE_FAILURE);
decklinksink = GST_DECKLINK_SINK (element);
switch (transition) {
@@ -569,170 +435,9 @@ out:
return ret;
}
-static GstClock *
-gst_decklink_sink_provide_clock (GstElement * element)
-{
-
- return NULL;
-}
-
-static gboolean
-gst_decklink_sink_set_clock (GstElement * element, GstClock * clock)
-{
-
- return GST_ELEMENT_CLASS (parent_class)->set_clock (element, clock);
-}
-
-static GstIndex *
-gst_decklink_sink_get_index (GstElement * element)
-{
-
- return NULL;
-}
-
-static void
-gst_decklink_sink_set_index (GstElement * element, GstIndex * index)
-{
-
-}
-
-static gboolean
-gst_decklink_sink_send_event (GstElement * element, GstEvent * event)
-{
-
- return TRUE;
-}
-
-static gboolean
-gst_decklink_sink_query (GstElement * element, GstQuery * query)
-{
-
- return FALSE;
-}
-
-static GstCaps *
-gst_decklink_sink_videosink_getcaps (GstPad * pad)
-{
- GstDecklinkSink *decklinksink;
- GstCaps *caps;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "getcaps");
-
- caps = gst_decklink_mode_get_caps (decklinksink->mode);
-
- gst_object_unref (decklinksink);
- return caps;
-}
-
-static gboolean
-gst_decklink_sink_videosink_setcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSink *decklinksink;
- gboolean ret;
- GstVideoFormat format;
- int width;
- int height;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "setcaps");
-
- ret = gst_video_format_parse_caps (caps, &format, &width, &height);
- if (ret) {
- if (format == GST_VIDEO_FORMAT_v210) {
- decklinksink->pixel_format = bmdFormat10BitYUV;
- } else {
- decklinksink->pixel_format = bmdFormat8BitYUV;
- }
- }
-
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_sink_videosink_acceptcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "acceptcaps");
-
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_sink_videosink_activate (GstPad * pad)
-{
- GstDecklinkSink *decklinksink;
- gboolean ret;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "activate");
-
- if (gst_pad_check_pull_range (pad)) {
- GST_DEBUG_OBJECT (pad, "activating pull");
- ret = gst_pad_activate_pull (pad, TRUE);
- } else {
- GST_DEBUG_OBJECT (pad, "activating push");
- ret = gst_pad_activate_push (pad, TRUE);
- }
-
- gst_object_unref (decklinksink);
- return ret;
-}
-
-static gboolean
-gst_decklink_sink_videosink_activatepush (GstPad * pad, gboolean active)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "activatepush");
-
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_sink_videosink_activatepull (GstPad * pad, gboolean active)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "activatepull");
-
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static GstPadLinkReturn
-gst_decklink_sink_videosink_link (GstPad * pad, GstPad * peer)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "link");
-
-
- gst_object_unref (decklinksink);
- return GST_PAD_LINK_OK;
-}
-
static GstFlowReturn
-gst_decklink_sink_videosink_chain (GstPad * pad, GstBuffer * buffer)
+gst_decklink_sink_videosink_chain (GstPad * pad, GstObject * parent,
+ GstBuffer * buffer)
{
GstDecklinkSink *decklinksink;
IDeckLinkMutableVideoFrame *frame;
@@ -740,9 +445,7 @@ gst_decklink_sink_videosink_chain (GstPad * pad, GstBuffer * buffer)
GstFlowReturn ret;
const GstDecklinkMode *mode;
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "chain");
+ decklinksink = GST_DECKLINK_SINK (parent);
#if 0
if (!decklinksink->video_enabled) {
@@ -764,17 +467,17 @@ gst_decklink_sink_videosink_chain (GstPad * pad, GstBuffer * buffer)
bmdFrameFlagDefault, &frame);
frame->GetBytes (&data);
- memcpy (data, GST_BUFFER_DATA (buffer), GST_BUFFER_SIZE (buffer));
+ gst_buffer_extract (buffer, 0, data, gst_buffer_get_size (buffer));
gst_buffer_unref (buffer);
- g_mutex_lock (decklinksink->mutex);
+ g_mutex_lock (&decklinksink->mutex);
while (decklinksink->queued_frames > 2 && !decklinksink->stop) {
- g_cond_wait (decklinksink->cond, decklinksink->mutex);
+ g_cond_wait (&decklinksink->cond, &decklinksink->mutex);
}
if (!decklinksink->stop) {
decklinksink->queued_frames++;
}
- g_mutex_unlock (decklinksink->mutex);
+ g_mutex_unlock (&decklinksink->mutex);
if (!decklinksink->stop) {
decklinksink->output->ScheduleVideoFrame (frame,
@@ -793,36 +496,40 @@ gst_decklink_sink_videosink_chain (GstPad * pad, GstBuffer * buffer)
frame->Release ();
- gst_object_unref (decklinksink);
return ret;
}
-static GstFlowReturn
-gst_decklink_sink_videosink_chainlist (GstPad * pad, GstBufferList * bufferlist)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "chainlist");
-
-
- gst_object_unref (decklinksink);
- return GST_FLOW_OK;
-}
-
static gboolean
-gst_decklink_sink_videosink_event (GstPad * pad, GstEvent * event)
+gst_decklink_sink_videosink_event (GstPad * pad, GstObject * parent,
+ GstEvent * event)
{
gboolean res;
GstDecklinkSink *decklinksink;
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
+ decklinksink = GST_DECKLINK_SINK (parent);
- GST_DEBUG_OBJECT (decklinksink, "event");
+ GST_DEBUG_OBJECT (pad, "event: %" GST_PTR_FORMAT, event);
switch (GST_EVENT_TYPE (event)) {
+ /* FIXME: this makes no sense, template caps don't contain v210 */
+#if 0
+ case GST_EVENT_CAPS:{
+ GstCaps *caps;
+
+ gst_event_parse_caps (event, &caps);
+ ret = gst_video_format_parse_caps (caps, &format, &width, &height);
+ if (ret) {
+ if (format == GST_VIDEO_FORMAT_v210) {
+ decklinksink->pixel_format = bmdFormat10BitYUV;
+ } else {
+ decklinksink->pixel_format = bmdFormat8BitYUV;
+ }
+ }
+ break;
+ }
+#endif
case GST_EVENT_EOS:
+ /* FIXME: EOS aggregation with audio pad looks wrong */
decklinksink->video_eos = TRUE;
decklinksink->video_seqnum = gst_event_get_seqnum (event);
{
@@ -832,311 +539,127 @@ gst_decklink_sink_videosink_event (GstPad * pad, GstEvent * event)
gst_message_set_seqnum (message, decklinksink->video_seqnum);
gst_element_post_message (GST_ELEMENT_CAST (decklinksink), message);
}
-
+ res = gst_pad_event_default (pad, parent, event);
break;
default:
- res = gst_pad_event_default (pad, event);
+ res = gst_pad_event_default (pad, parent, event);
break;
}
- gst_object_unref (decklinksink);
return res;
}
static gboolean
-gst_decklink_sink_videosink_query (GstPad * pad, GstQuery * query)
+gst_decklink_sink_videosink_query (GstPad * pad, GstObject * parent,
+ GstQuery * query)
{
gboolean res;
GstDecklinkSink *decklinksink;
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
+ decklinksink = GST_DECKLINK_SINK (parent);
GST_DEBUG_OBJECT (decklinksink, "query");
switch (GST_QUERY_TYPE (query)) {
+ case GST_QUERY_CAPS:{
+ GstCaps *mode_caps, *filter, *caps;
+
+ /* FIXME: do we change mode if incoming caps change? If yes, we
+ * should probably return the template caps instead */
+ mode_caps = gst_decklink_mode_get_caps (decklinksink->mode);
+ gst_query_parse_caps (query, &filter);
+ caps = gst_caps_intersect (mode_caps, filter);
+ gst_caps_unref (mode_caps);
+ gst_query_set_caps_result (query, caps);
+ gst_caps_unref (caps);
+ res = TRUE;
+ break;
+ }
default:
- res = gst_pad_query_default (pad, query);
+ res = gst_pad_query_default (pad, parent, query);
break;
}
- gst_object_unref (decklinksink);
return res;
}
static GstFlowReturn
-gst_decklink_sink_videosink_bufferalloc (GstPad * pad, guint64 offset,
- guint size, GstCaps * caps, GstBuffer ** buf)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "bufferalloc");
-
-
- *buf = gst_buffer_new_and_alloc (size);
- gst_buffer_set_caps (*buf, caps);
-
- gst_object_unref (decklinksink);
- return GST_FLOW_OK;
-}
-
-static GstIterator *
-gst_decklink_sink_videosink_iterintlink (GstPad * pad)
-{
- GstDecklinkSink *decklinksink;
- GstIterator *iter;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "iterintlink");
-
- iter = gst_pad_iterate_internal_links_default (pad);
-
- gst_object_unref (decklinksink);
- return iter;
-}
-
-
-static GstCaps *
-gst_decklink_sink_audiosink_getcaps (GstPad * pad)
-{
- GstDecklinkSink *decklinksink;
- GstCaps *caps;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "getcaps");
-
- caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
-
- gst_object_unref (decklinksink);
- return caps;
-}
-
-static gboolean
-gst_decklink_sink_audiosink_setcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "setcaps");
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_sink_audiosink_acceptcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "acceptcaps");
-
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_sink_audiosink_activate (GstPad * pad)
-{
- GstDecklinkSink *decklinksink;
- gboolean ret;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "activate");
-
- if (gst_pad_check_pull_range (pad)) {
- GST_DEBUG_OBJECT (pad, "activating pull");
- ret = gst_pad_activate_pull (pad, TRUE);
- } else {
- GST_DEBUG_OBJECT (pad, "activating push");
- ret = gst_pad_activate_push (pad, TRUE);
- }
-
- gst_object_unref (decklinksink);
- return ret;
-}
-
-static gboolean
-gst_decklink_sink_audiosink_activatepush (GstPad * pad, gboolean active)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "activatepush");
-
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_sink_audiosink_activatepull (GstPad * pad, gboolean active)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "activatepull");
-
-
- gst_object_unref (decklinksink);
- return TRUE;
-}
-
-static GstPadLinkReturn
-gst_decklink_sink_audiosink_link (GstPad * pad, GstPad * peer)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "link");
-
-
- gst_object_unref (decklinksink);
- return GST_PAD_LINK_OK;
-}
-
-static GstFlowReturn
-gst_decklink_sink_audiosink_chain (GstPad * pad, GstBuffer * buffer)
+gst_decklink_sink_audiosink_chain (GstPad * pad, GstObject * parent,
+ GstBuffer * buffer)
{
GstDecklinkSink *decklinksink;
GstFlowReturn ret;
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
+ decklinksink = GST_DECKLINK_SINK (parent);
- GST_DEBUG_OBJECT (decklinksink, "chain");
+ if (decklinksink->stop)
+ return GST_FLOW_FLUSHING;
- if (decklinksink->stop) {
- return GST_FLOW_WRONG_STATE;
- }
-
- g_mutex_lock (decklinksink->audio_mutex);
+ g_mutex_lock (&decklinksink->audio_mutex);
while (!decklinksink->stop &&
gst_adapter_available (decklinksink->audio_adapter) > 1600 * 4 * 2) {
- g_cond_wait (decklinksink->audio_cond, decklinksink->audio_mutex);
+ g_cond_wait (&decklinksink->audio_cond, &decklinksink->audio_mutex);
}
gst_adapter_push (decklinksink->audio_adapter, buffer);
- g_mutex_unlock (decklinksink->audio_mutex);
-
- gst_object_unref (decklinksink);
+ g_mutex_unlock (&decklinksink->audio_mutex);
ret = GST_FLOW_OK;
return ret;
}
-static GstFlowReturn
-gst_decklink_sink_audiosink_chainlist (GstPad * pad, GstBufferList * bufferlist)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "chainlist");
-
-
- gst_object_unref (decklinksink);
- return GST_FLOW_OK;
-}
-
static gboolean
-gst_decklink_sink_audiosink_event (GstPad * pad, GstEvent * event)
+gst_decklink_sink_audiosink_event (GstPad * pad, GstObject * parent,
+ GstEvent * event)
{
gboolean res;
GstDecklinkSink *decklinksink;
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
+ decklinksink = GST_DECKLINK_SINK (parent);
- GST_DEBUG_OBJECT (decklinksink, "event");
+ GST_DEBUG_OBJECT (pad, "event: %" GST_PTR_FORMAT, event);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_EOS:
+ /* FIXME: EOS aggregation with video pad looks wrong */
decklinksink->audio_eos = TRUE;
decklinksink->audio_seqnum = gst_event_get_seqnum (event);
+ res = gst_pad_event_default (pad, parent, event);
break;
default:
- res = gst_pad_event_default (pad, event);
+ res = gst_pad_event_default (pad, parent, event);
break;
}
- gst_object_unref (decklinksink);
return res;
}
static gboolean
-gst_decklink_sink_audiosink_query (GstPad * pad, GstQuery * query)
+gst_decklink_sink_audiosink_query (GstPad * pad, GstObject * parent,
+ GstQuery * query)
{
gboolean res;
- GstDecklinkSink *decklinksink;
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "query");
+ GST_DEBUG_OBJECT (pad, "query: %" GST_PTR_FORMAT, query);
switch (GST_QUERY_TYPE (query)) {
default:
- res = gst_pad_query_default (pad, query);
+ res = gst_pad_query_default (pad, parent, query);
break;
}
- gst_object_unref (decklinksink);
return res;
}
-static GstFlowReturn
-gst_decklink_sink_audiosink_bufferalloc (GstPad * pad, guint64 offset,
- guint size, GstCaps * caps, GstBuffer ** buf)
-{
- GstDecklinkSink *decklinksink;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "bufferalloc");
-
-
- *buf = gst_buffer_new_and_alloc (size);
- gst_buffer_set_caps (*buf, caps);
-
- gst_object_unref (decklinksink);
- return GST_FLOW_OK;
-}
-
-static GstIterator *
-gst_decklink_sink_audiosink_iterintlink (GstPad * pad)
-{
- GstDecklinkSink *decklinksink;
- GstIterator *iter;
-
- decklinksink = GST_DECKLINK_SINK (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksink, "iterintlink");
-
- iter = gst_pad_iterate_internal_links_default (pad);
-
- gst_object_unref (decklinksink);
- return iter;
-}
-
-
-
HRESULT
Output::ScheduledFrameCompleted (IDeckLinkVideoFrame * completedFrame,
BMDOutputFrameCompletionResult result)
{
GST_DEBUG ("ScheduledFrameCompleted");
- g_mutex_lock (decklinksink->mutex);
- g_cond_signal (decklinksink->cond);
+ g_mutex_lock (&decklinksink->mutex);
+ g_cond_signal (&decklinksink->cond);
decklinksink->queued_frames--;
- g_mutex_unlock (decklinksink->mutex);
+ g_mutex_unlock (&decklinksink->mutex);
return S_OK;
}
@@ -1160,22 +683,23 @@ Output::RenderAudioSamples (bool preroll)
decklinksink->output->BeginAudioPreroll ();
// running = true;
} else {
+ gconstpointer data;
int n;
- const guint8 *data;
- g_mutex_lock (decklinksink->audio_mutex);
+ g_mutex_lock (&decklinksink->audio_mutex);
n = gst_adapter_available (decklinksink->audio_adapter);
if (n > 0) {
- data = gst_adapter_peek (decklinksink->audio_adapter, n);
+ data = gst_adapter_map (decklinksink->audio_adapter, n);
decklinksink->output->ScheduleAudioSamples ((void *) data, n / 4,
0, 0, &samplesWritten);
+ gst_adapter_unmap (decklinksink->audio_adapter);
gst_adapter_flush (decklinksink->audio_adapter, samplesWritten * 4);
GST_DEBUG ("wrote %d samples, %d available", samplesWritten, n / 4);
- g_cond_signal (decklinksink->audio_cond);
+ g_cond_signal (&decklinksink->audio_cond);
} else {
if (decklinksink->audio_eos) {
GstMessage *message;
@@ -1185,7 +709,7 @@ Output::RenderAudioSamples (bool preroll)
gst_element_post_message (GST_ELEMENT_CAST (decklinksink), message);
}
}
- g_mutex_unlock (decklinksink->audio_mutex);
+ g_mutex_unlock (&decklinksink->audio_mutex);
}
@@ -1193,122 +717,3 @@ Output::RenderAudioSamples (bool preroll)
return S_OK;
}
-
-
-static const GList *
-gst_decklink_sink_probe_get_properties (GstPropertyProbe * probe)
-{
- GObjectClass *klass = G_OBJECT_GET_CLASS (probe);
- static GList *list = NULL;
- static gsize init = 0;
-
- if (g_once_init_enter (&init)) {
- list = g_list_append (NULL, g_object_class_find_property (klass, "device"));
-
- g_once_init_leave (&init, 1);
- }
-
- return list;
-}
-
-
-static gboolean probed = FALSE;
-static int n_devices;
-
-static void
-gst_decklink_sink_class_probe_devices (GstElementClass * klass)
-{
- IDeckLinkIterator *iterator;
- IDeckLink *decklink;
-
- n_devices = 0;
- iterator = CreateDeckLinkIteratorInstance ();
- if (iterator) {
- while (iterator->Next (&decklink) == S_OK) {
- n_devices++;
- }
- }
-
- probed = TRUE;
-}
-
-static void
-gst_decklink_sink_probe_probe_property (GstPropertyProbe * probe,
- guint prop_id, const GParamSpec * pspec)
-{
- GstElementClass *klass = GST_ELEMENT_GET_CLASS (probe);
-
- switch (prop_id) {
- case PROP_DEVICE:
- gst_decklink_sink_class_probe_devices (klass);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
- break;
- }
-}
-
-static gboolean
-gst_decklink_sink_probe_needs_probe (GstPropertyProbe * probe,
- guint prop_id, const GParamSpec * pspec)
-{
- gboolean ret = FALSE;
-
- switch (prop_id) {
- case PROP_DEVICE:
- ret = !probed;
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
- break;
- }
- return ret;
-}
-
-static GValueArray *
-gst_decklink_sink_class_list_devices (GstElementClass * klass)
-{
- GValueArray *array;
- GValue value = {
- 0};
- int i;
-
- array = g_value_array_new (n_devices);
- g_value_init (&value, G_TYPE_INT);
- for (i = 0; i < n_devices; i++) {
- g_value_set_int (&value, i);
- g_value_array_append (array, &value);
- }
- g_value_unset (&value);
-
- return array;
-}
-
-static GValueArray *
-gst_decklink_sink_probe_get_values (GstPropertyProbe * probe,
- guint prop_id, const GParamSpec * pspec)
-{
- GstElementClass *klass = GST_ELEMENT_GET_CLASS (probe);
- GValueArray *array = NULL;
-
- switch (prop_id) {
- case PROP_DEVICE:
- array = gst_decklink_sink_class_list_devices (klass);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
- break;
- }
-
- return array;
-}
-
-static void
-gst_decklink_sink_property_probe_interface_init (GstPropertyProbeInterface *
- iface)
-{
- iface->get_properties = gst_decklink_sink_probe_get_properties;
- iface->probe_property = gst_decklink_sink_probe_probe_property;
- iface->needs_probe = gst_decklink_sink_probe_needs_probe;
- iface->get_values = gst_decklink_sink_probe_get_values;
-}
diff --git a/sys/decklink/gstdecklinksink.h b/sys/decklink/gstdecklinksink.h
index 8969303e..c2654f4d 100644
--- a/sys/decklink/gstdecklinksink.h
+++ b/sys/decklink/gstdecklinksink.h
@@ -29,6 +29,7 @@ G_BEGIN_DECLS
#define GST_TYPE_DECKLINK_SINK (gst_decklink_sink_get_type())
#define GST_DECKLINK_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DECKLINK_SINK,GstDecklinkSink))
#define GST_DECKLINK_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DECKLINK_SINK,GstDecklinkSinkClass))
+#define GST_DECKLINK_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DECKLINK_SINK, GstDecklinkSinkClass))
#define GST_IS_DECKLINK_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DECKLINK_SINK))
#define GST_IS_DECKLINK_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DECKLINK_SINK))
@@ -57,10 +58,10 @@ struct _GstDecklinkSink
GstPad *videosinkpad;
GstPad *audiosinkpad;
- GMutex *mutex;
- GCond *cond;
- GMutex *audio_mutex;
- GCond *audio_cond;
+ GMutex mutex;
+ GCond cond;
+ GMutex audio_mutex;
+ GCond audio_cond;
int queued_frames;
gboolean stop;
gboolean video_eos;
@@ -84,11 +85,11 @@ struct _GstDecklinkSink
#ifdef _MSC_VER
gboolean comInitialized;
- GMutex *com_init_lock;
- GMutex *com_deinit_lock;
- GCond *com_initialized;
- GCond *com_uninitialize;
- GCond *com_uninitialized;
+ GMutex com_init_lock;
+ GMutex com_deinit_lock;
+ GCond com_initialized;
+ GCond com_uninitialize;
+ GCond com_uninitialized;
#endif /* _MSC_VER */
};
diff --git a/sys/decklink/gstdecklinksrc.cpp b/sys/decklink/gstdecklinksrc.cpp
index c3ec84bb..d9cb6724 100644
--- a/sys/decklink/gstdecklinksrc.cpp
+++ b/sys/decklink/gstdecklinksrc.cpp
@@ -25,7 +25,7 @@
* <refsect2>
* <title>Example launch line</title>
* |[
- * gst-launch -v decklinksrc ! xvimagesink
+ * gst-launch-1.0 -v decklinksrc ! videoconvert ! xvimagesink
* ]|
*
* </refsect2>
@@ -35,24 +35,16 @@
#include "config.h"
#endif
-/* FIXME 0.11: suppress warnings for deprecated API such as GStaticRecMutex
- * with newer GLib versions (>= 2.31.0) */
-#define GLIB_DISABLE_DEPRECATION_WARNINGS
-
#include <gst/gst.h>
-#include <gst/glib-compat-private.h>
#include "gstdecklink.h"
#include "gstdecklinksrc.h"
#include "capture.h"
#include <string.h>
-#include <gst/interfaces/propertyprobe.h>
GST_DEBUG_CATEGORY (gst_decklink_src_debug_category);
#define GST_CAT_DEFAULT gst_decklink_src_debug_category
-/* prototypes */
-
typedef struct _VideoFrame VideoFrame;
struct _VideoFrame
{
@@ -60,76 +52,19 @@ struct _VideoFrame
IDeckLinkInput *input;
};
-
static void gst_decklink_src_set_property (GObject * object,
guint property_id, const GValue * value, GParamSpec * pspec);
static void gst_decklink_src_get_property (GObject * object,
guint property_id, GValue * value, GParamSpec * pspec);
-static void gst_decklink_src_dispose (GObject * object);
static void gst_decklink_src_finalize (GObject * object);
-static GstPad *gst_decklink_src_request_new_pad (GstElement * element,
- GstPadTemplate * templ, const gchar * name);
-static void gst_decklink_src_release_pad (GstElement * element, GstPad * pad);
static GstStateChangeReturn
gst_decklink_src_change_state (GstElement * element, GstStateChange transition);
-static GstClock *gst_decklink_src_provide_clock (GstElement * element);
-static gboolean gst_decklink_src_set_clock (GstElement * element,
- GstClock * clock);
-static GstIndex *gst_decklink_src_get_index (GstElement * element);
-static void gst_decklink_src_set_index (GstElement * element, GstIndex * index);
-static gboolean gst_decklink_src_send_event (GstElement * element,
- GstEvent * event);
-static gboolean gst_decklink_src_query (GstElement * element, GstQuery * query);
-
-static GstCaps *gst_decklink_src_audio_src_getcaps (GstPad * pad);
-static gboolean gst_decklink_src_audio_src_setcaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_src_audio_src_acceptcaps (GstPad * pad,
- GstCaps * caps);
-static void gst_decklink_src_audio_src_fixatecaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_src_audio_src_activate (GstPad * pad);
-static gboolean gst_decklink_src_audio_src_activatepush (GstPad * pad,
- gboolean active);
-static gboolean gst_decklink_src_audio_src_activatepull (GstPad * pad,
- gboolean active);
-static GstPadLinkReturn gst_decklink_src_audio_src_link (GstPad * pad,
- GstPad * peer);
-static GstFlowReturn gst_decklink_src_audio_src_getrange (GstPad * pad,
- guint64 offset, guint length, GstBuffer ** buffer);
-static gboolean gst_decklink_src_audio_src_event (GstPad * pad,
- GstEvent * event);
+
static gboolean gst_decklink_src_audio_src_query (GstPad * pad,
- GstQuery * query);
-static GstIterator *gst_decklink_src_audio_src_iterintlink (GstPad * pad);
-
-
-static GstCaps *gst_decklink_src_video_src_getcaps (GstPad * pad);
-static gboolean gst_decklink_src_video_src_setcaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_src_video_src_acceptcaps (GstPad * pad,
- GstCaps * caps);
-static void gst_decklink_src_video_src_fixatecaps (GstPad * pad,
- GstCaps * caps);
-static gboolean gst_decklink_src_video_src_activate (GstPad * pad);
-static gboolean gst_decklink_src_video_src_activatepush (GstPad * pad,
- gboolean active);
-static gboolean gst_decklink_src_video_src_activatepull (GstPad * pad,
- gboolean active);
-static GstPadLinkReturn gst_decklink_src_video_src_link (GstPad * pad,
- GstPad * peer);
-static GstFlowReturn gst_decklink_src_video_src_getrange (GstPad * pad,
- guint64 offset, guint length, GstBuffer ** buffer);
-static gboolean gst_decklink_src_video_src_event (GstPad * pad,
- GstEvent * event);
+ GstObject * parent, GstQuery * query);
static gboolean gst_decklink_src_video_src_query (GstPad * pad,
- GstQuery * query);
-static GstIterator *gst_decklink_src_video_src_iterintlink (GstPad * pad);
-
-static void
-gst_decklinksrc_property_probe_interface_init (GstPropertyProbeInterface *
- iface);
+ GstObject * parent, GstQuery * query);
static void gst_decklink_src_task (void *priv);
@@ -147,52 +82,18 @@ enum
PROP_DEVICE
};
-/* pad templates */
-
static GstStaticPadTemplate gst_decklink_src_audio_src_template =
GST_STATIC_PAD_TEMPLATE ("audiosrc",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-int,width=16,depth=16,channels=2,rate=48000")
+ GST_STATIC_CAPS ("audio/x-raw, format=S16LE, channels=2, rate=48000, "
+ "layout=interleaved")
);
/* the video source pad template is created on the fly */
-/* class initialization */
-
-static void
-gst_decklinksrc_init_interfaces (GType type)
-{
- static const GInterfaceInfo decklinksrc_propertyprobe_info = {
- (GInterfaceInitFunc) gst_decklinksrc_property_probe_interface_init,
- NULL,
- NULL,
- };
-
- GST_DEBUG_CATEGORY_INIT (gst_decklink_src_debug_category, "decklinksrc", 0,
- "debug category for decklinksrc element");
-
- g_type_add_interface_static (type, GST_TYPE_PROPERTY_PROBE,
- &decklinksrc_propertyprobe_info);
-}
-
-GST_BOILERPLATE_FULL (GstDecklinkSrc, gst_decklink_src, GstElement,
- GST_TYPE_ELEMENT, gst_decklinksrc_init_interfaces);
-
-static void
-gst_decklink_src_base_init (gpointer g_class)
-{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&gst_decklink_src_audio_src_template));
- gst_element_class_add_pad_template (element_class,
- gst_pad_template_new ("videosrc", GST_PAD_SRC, GST_PAD_ALWAYS,
- gst_decklink_mode_get_template_caps ()));
-
- gst_element_class_set_static_metadata (element_class, "Decklink source",
- "Source/Video", "DeckLink Source", "David Schleef <ds@entropywave.com>");
-}
+#define parent_class gst_decklink_src_parent_class
+G_DEFINE_TYPE (GstDecklinkSrc, gst_decklink_src, GST_TYPE_ELEMENT);
static void
gst_decklink_src_class_init (GstDecklinkSrcClass * klass)
@@ -202,84 +103,67 @@ gst_decklink_src_class_init (GstDecklinkSrcClass * klass)
gobject_class->set_property = gst_decklink_src_set_property;
gobject_class->get_property = gst_decklink_src_get_property;
- gobject_class->dispose = gst_decklink_src_dispose;
gobject_class->finalize = gst_decklink_src_finalize;
- element_class->request_new_pad =
- GST_DEBUG_FUNCPTR (gst_decklink_src_request_new_pad);
- element_class->release_pad = GST_DEBUG_FUNCPTR (gst_decklink_src_release_pad);
element_class->change_state =
GST_DEBUG_FUNCPTR (gst_decklink_src_change_state);
- element_class->provide_clock =
- GST_DEBUG_FUNCPTR (gst_decklink_src_provide_clock);
- element_class->set_clock = GST_DEBUG_FUNCPTR (gst_decklink_src_set_clock);
- element_class->get_index = GST_DEBUG_FUNCPTR (gst_decklink_src_get_index);
- element_class->set_index = GST_DEBUG_FUNCPTR (gst_decklink_src_set_index);
- element_class->send_event = GST_DEBUG_FUNCPTR (gst_decklink_src_send_event);
- element_class->query = GST_DEBUG_FUNCPTR (gst_decklink_src_query);
g_object_class_install_property (gobject_class, PROP_MODE,
- g_param_spec_enum ("mode", "Mode", "Video Mode to use for capture",
+ g_param_spec_enum ("mode", "Mode", "Video mode to use for capture",
GST_TYPE_DECKLINK_MODE, GST_DECKLINK_MODE_NTSC,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT)));
g_object_class_install_property (gobject_class, PROP_CONNECTION,
g_param_spec_enum ("connection", "Connection",
- "Video Input Connection to use",
+ "Video input connection to use",
GST_TYPE_DECKLINK_CONNECTION, GST_DECKLINK_CONNECTION_SDI,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT)));
g_object_class_install_property (gobject_class, PROP_AUDIO_INPUT,
g_param_spec_enum ("audio-input", "Audio Input",
- "Audio Input Connection",
+ "Audio input connection",
GST_TYPE_DECKLINK_AUDIO_CONNECTION,
GST_DECKLINK_AUDIO_CONNECTION_AUTO,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT)));
+ /* FIXME: should be device-number or so, or turned into a string */
+#if 0
g_object_class_install_property (gobject_class, PROP_DEVICE,
g_param_spec_int ("device", "Device", "Capture device instance to use",
0, G_MAXINT, 0,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT)));
+#endif
+
+ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&gst_decklink_src_audio_src_template));
+
+ gst_element_class_add_pad_template (element_class,
+ gst_pad_template_new ("videosrc", GST_PAD_SRC, GST_PAD_ALWAYS,
+ gst_decklink_mode_get_template_caps ()));
+
+ gst_element_class_set_static_metadata (element_class, "Decklink source",
+ "Source/Video", "DeckLink Source", "David Schleef <ds@entropywave.com>");
}
static void
-gst_decklink_src_init (GstDecklinkSrc * decklinksrc,
- GstDecklinkSrcClass * decklinksrc_class)
+gst_decklink_src_init (GstDecklinkSrc * decklinksrc)
{
- g_static_rec_mutex_init (&decklinksrc->task_mutex);
- decklinksrc->task = gst_task_create (gst_decklink_src_task, decklinksrc);
+ GstDecklinkSrcClass *decklinksrc_class;
+
+ decklinksrc_class = GST_DECKLINK_SRC_GET_CLASS (decklinksrc);
+
+ g_rec_mutex_init (&decklinksrc->task_mutex);
+ decklinksrc->task = gst_task_new (gst_decklink_src_task, decklinksrc, NULL);
gst_task_set_lock (decklinksrc->task, &decklinksrc->task_mutex);
decklinksrc->audiosrcpad =
gst_pad_new_from_static_template (&gst_decklink_src_audio_src_template,
"audiosrc");
- gst_pad_set_getcaps_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_getcaps));
- gst_pad_set_setcaps_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_setcaps));
- gst_pad_set_acceptcaps_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_acceptcaps));
- gst_pad_set_fixatecaps_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_fixatecaps));
- gst_pad_set_activate_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_activate));
- gst_pad_set_activatepush_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_activatepush));
- gst_pad_set_activatepull_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_activatepull));
- gst_pad_set_link_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_link));
- gst_pad_set_getrange_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_getrange));
- gst_pad_set_event_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_event));
gst_pad_set_query_function (decklinksrc->audiosrcpad,
GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_query));
- gst_pad_set_iterate_internal_links_function (decklinksrc->audiosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_audio_src_iterintlink));
gst_element_add_pad (GST_ELEMENT (decklinksrc), decklinksrc->audiosrcpad);
@@ -287,36 +171,15 @@ gst_decklink_src_init (GstDecklinkSrc * decklinksrc,
decklinksrc->videosrcpad =
gst_pad_new_from_template (gst_element_class_get_pad_template
(GST_ELEMENT_CLASS (decklinksrc_class), "videosrc"), "videosrc");
- gst_pad_set_getcaps_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_getcaps));
- gst_pad_set_setcaps_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_setcaps));
- gst_pad_set_acceptcaps_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_acceptcaps));
- gst_pad_set_fixatecaps_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_fixatecaps));
- gst_pad_set_activate_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_activate));
- gst_pad_set_activatepush_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_activatepush));
- gst_pad_set_activatepull_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_activatepull));
- gst_pad_set_link_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_link));
- gst_pad_set_getrange_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_getrange));
- gst_pad_set_event_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_event));
gst_pad_set_query_function (decklinksrc->videosrcpad,
GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_query));
- gst_pad_set_iterate_internal_links_function (decklinksrc->videosrcpad,
- GST_DEBUG_FUNCPTR (gst_decklink_src_video_src_iterintlink));
gst_element_add_pad (GST_ELEMENT (decklinksrc), decklinksrc->videosrcpad);
- decklinksrc->cond = g_cond_new ();
- decklinksrc->mutex = g_mutex_new ();
+ g_cond_init (&decklinksrc->cond);
+ g_mutex_init (&decklinksrc->mutex);
+ /* FIXME: turn this into a property? */
decklinksrc->copy_data = TRUE;
decklinksrc->mode = GST_DECKLINK_MODE_NTSC;
decklinksrc->connection = GST_DECKLINK_CONNECTION_SDI;
@@ -329,22 +192,25 @@ gst_decklink_src_init (GstDecklinkSrc * decklinksrc,
decklinksrc->frame_num = -1; /* -1 so will be 0 after incrementing */
#ifdef _MSC_VER
- decklinksrc->com_init_lock = g_mutex_new ();
- decklinksrc->com_deinit_lock = g_mutex_new ();
- decklinksrc->com_initialized = g_cond_new ();
- decklinksrc->com_uninitialize = g_cond_new ();
- decklinksrc->com_uninitialized = g_cond_new ();
+ g_mutex_init (&decklinksrc->com_init_lock);
+ g_mutex_init (&decklinksrc->com_deinit_lock);
+ g_cond_init (&decklinksrc->com_initialized);
+ g_cond_init (&decklinksrc->com_uninitialize);
+ g_cond_init (&decklinksrc->com_uninitialized);
- g_mutex_lock (decklinksrc->com_init_lock);
+ g_mutex_lock (&decklinksrc->com_init_lock);
/* create the COM initialization thread */
g_thread_create ((GThreadFunc) gst_decklink_src_com_thread,
decklinksrc, FALSE, NULL);
/* wait until the COM thread signals that COM has been initialized */
- g_cond_wait (decklinksrc->com_initialized, decklinksrc->com_init_lock);
- g_mutex_unlock (decklinksrc->com_init_lock);
+ g_cond_wait (&decklinksrc->com_initialized, &decklinksrc->com_init_lock);
+ g_mutex_unlock (&decklinksrc->com_init_lock);
#endif /* _MSC_VER */
+
+ GST_DEBUG_CATEGORY_INIT (gst_decklink_src_debug_category, "decklinksrc", 0,
+ "debug category for decklinksrc element");
}
void
@@ -353,7 +219,6 @@ gst_decklink_src_set_property (GObject * object, guint property_id,
{
GstDecklinkSrc *decklinksrc;
- g_return_if_fail (GST_IS_DECKLINK_SRC (object));
decklinksrc = GST_DECKLINK_SRC (object);
switch (property_id) {
@@ -383,7 +248,6 @@ gst_decklink_src_get_property (GObject * object, guint property_id,
{
GstDecklinkSrc *decklinksrc;
- g_return_if_fail (GST_IS_DECKLINK_SRC (object));
decklinksrc = GST_DECKLINK_SRC (object);
switch (property_id) {
@@ -446,16 +310,6 @@ gst_decklink_src_com_thread (GstDecklinkSrc * src)
#endif /* _MSC_VER */
void
-gst_decklink_src_dispose (GObject * object)
-{
- g_return_if_fail (GST_IS_DECKLINK_SRC (object));
-
- /* clean up as possible. may be called multiple times */
-
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-void
gst_decklink_src_finalize (GObject * object)
{
GstDecklinkSrc *decklinksrc;
@@ -465,51 +319,33 @@ gst_decklink_src_finalize (GObject * object)
/* clean up object here */
- g_cond_free (decklinksrc->cond);
- g_mutex_free (decklinksrc->mutex);
+ g_cond_clear (&decklinksrc->cond);
+ g_mutex_clear (&decklinksrc->mutex);
gst_task_set_lock (decklinksrc->task, NULL);
g_object_unref (decklinksrc->task);
- if (decklinksrc->audio_caps) {
- gst_caps_unref (decklinksrc->audio_caps);
- }
- if (decklinksrc->video_caps) {
- gst_caps_unref (decklinksrc->video_caps);
- }
+
#ifdef _MSC_VER
/* signal the COM thread that it should uninitialize COM */
if (decklinksrc->comInitialized) {
- g_mutex_lock (decklinksrc->com_deinit_lock);
- g_cond_signal (decklinksrc->com_uninitialize);
- g_cond_wait (decklinksrc->com_uninitialized, decklinksrc->com_deinit_lock);
- g_mutex_unlock (decklinksrc->com_deinit_lock);
+ g_mutex_lock (&decklinksrc->com_deinit_lock);
+ g_cond_signal (&decklinksrc->com_uninitialize);
+ g_cond_wait (&decklinksrc->com_uninitialized, &decklinksrc->com_deinit_lock);
+ g_mutex_unlock (&decklinksrc->com_deinit_lock);
}
- g_mutex_free (decklinksrc->com_init_lock);
- g_mutex_free (decklinksrc->com_deinit_lock);
- g_cond_free (decklinksrc->com_initialized);
- g_cond_free (decklinksrc->com_uninitialize);
- g_cond_free (decklinksrc->com_uninitialized);
+ g_mutex_clear (&decklinksrc->com_init_lock);
+ g_mutex_clear (&decklinksrc->com_deinit_lock);
+ g_cond_clear (&decklinksrc->com_initialized);
+ g_cond_clear (&decklinksrc->com_uninitialize);
+ g_cond_clear (&decklinksrc->com_uninitialized);
#endif /* _MSC_VER */
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-
-
-static GstPad *
-gst_decklink_src_request_new_pad (GstElement * element, GstPadTemplate * templ,
- const gchar * name)
-{
-
- return NULL;
-}
-
-static void
-gst_decklink_src_release_pad (GstElement * element, GstPad * pad)
-{
+ g_rec_mutex_clear (&decklinksrc->task_mutex);
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
+/* FIXME: post error messages for the misc. failures */
static gboolean
gst_decklink_src_start (GstElement * element)
{
@@ -630,9 +466,9 @@ gst_decklink_src_start (GstElement * element)
return FALSE;
}
- g_static_rec_mutex_lock (&decklinksrc->task_mutex);
+ g_rec_mutex_lock (&decklinksrc->task_mutex);
gst_task_start (decklinksrc->task);
- g_static_rec_mutex_unlock (&decklinksrc->task_mutex);
+ g_rec_mutex_unlock (&decklinksrc->task_mutex);
return TRUE;
}
@@ -641,14 +477,13 @@ static gboolean
gst_decklink_src_stop (GstElement * element)
{
GstDecklinkSrc *decklinksrc = GST_DECKLINK_SRC (element);
- //int refcount;
gst_task_stop (decklinksrc->task);
- g_mutex_lock (decklinksrc->mutex);
+ g_mutex_lock (&decklinksrc->mutex);
decklinksrc->stop = TRUE;
- g_cond_signal (decklinksrc->cond);
- g_mutex_unlock (decklinksrc->mutex);
+ g_cond_signal (&decklinksrc->cond);
+ g_mutex_unlock (&decklinksrc->mutex);
gst_task_join (decklinksrc->task);
@@ -665,9 +500,6 @@ gst_decklink_src_change_state (GstElement * element, GstStateChange transition)
GstStateChangeReturn ret;
gboolean no_preroll = FALSE;
- g_return_val_if_fail (GST_IS_DECKLINK_SRC (element),
- GST_STATE_CHANGE_FAILURE);
-
switch (transition) {
case GST_STATE_CHANGE_NULL_TO_READY:
if (!gst_decklink_src_start (element)) {
@@ -706,436 +538,38 @@ out:
return ret;
}
-static GstClock *
-gst_decklink_src_provide_clock (GstElement * element)
-{
-
- return NULL;
-}
-
-static gboolean
-gst_decklink_src_set_clock (GstElement * element, GstClock * clock)
-{
-
- return GST_ELEMENT_CLASS (parent_class)->set_clock (element, clock);
-}
-
-static GstIndex *
-gst_decklink_src_get_index (GstElement * element)
-{
-
- return NULL;
-}
-
-static void
-gst_decklink_src_set_index (GstElement * element, GstIndex * index)
-{
-
-}
-
-static gboolean
-gst_decklink_src_send_event (GstElement * element, GstEvent * event)
-{
-
- return TRUE;
-}
-
-static gboolean
-gst_decklink_src_query (GstElement * element, GstQuery * query)
-{
- GstDecklinkSrc *decklinksrc = GST_DECKLINK_SRC (element);
- gboolean ret;
-
- GST_DEBUG_OBJECT (decklinksrc, "query");
-
- switch (GST_QUERY_TYPE (query)) {
- default:
- ret = GST_ELEMENT_CLASS (parent_class)->query (element, query);
- break;
- }
-
- return ret;
-}
-
-static GstCaps *
-gst_decklink_src_audio_src_getcaps (GstPad * pad)
-{
- GstDecklinkSrc *decklinksrc;
- GstCaps *caps;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "getcaps");
-
- caps = gst_caps_copy (gst_pad_get_pad_template_caps (pad));
-
- gst_object_unref (decklinksrc);
- return caps;
-}
-
-static gboolean
-gst_decklink_src_audio_src_setcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSrc *decklinksrc;
- GstCaps *pad_caps;
- gboolean can_intersect;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- pad_caps = gst_pad_get_caps (pad);
- can_intersect = gst_caps_can_intersect (pad_caps, caps);
- gst_caps_unref (pad_caps);
-
- GST_DEBUG_OBJECT (decklinksrc, "setcaps");
-
-
- gst_object_unref (decklinksrc);
- return can_intersect;
-}
-
-static gboolean
-gst_decklink_src_audio_src_acceptcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSrc *decklinksrc;
- GstCaps *pad_caps;
- gboolean can_intersect;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- pad_caps = gst_pad_get_caps (pad);
- can_intersect = gst_caps_can_intersect (pad_caps, caps);
- gst_caps_unref (pad_caps);
-
- GST_DEBUG_OBJECT (decklinksrc, "acceptcaps");
-
- gst_object_unref (decklinksrc);
- return can_intersect;
-}
-
-static void
-gst_decklink_src_audio_src_fixatecaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "fixatecaps");
-
-
- gst_object_unref (decklinksrc);
-}
-
-static gboolean
-gst_decklink_src_audio_src_activate (GstPad * pad)
-{
- GstDecklinkSrc *decklinksrc;
- gboolean ret;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "activate");
-
- if (gst_pad_check_pull_range (pad)) {
- GST_DEBUG_OBJECT (pad, "activating pull");
- ret = gst_pad_activate_pull (pad, TRUE);
- } else {
- GST_DEBUG_OBJECT (pad, "activating push");
- ret = gst_pad_activate_push (pad, TRUE);
- }
-
- gst_object_unref (decklinksrc);
- return ret;
-}
-
static gboolean
-gst_decklink_src_audio_src_activatepush (GstPad * pad, gboolean active)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "activatepush");
-
-
- gst_object_unref (decklinksrc);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_src_audio_src_activatepull (GstPad * pad, gboolean active)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "activatepull");
-
- gst_object_unref (decklinksrc);
- return FALSE;
-}
-
-static GstPadLinkReturn
-gst_decklink_src_audio_src_link (GstPad * pad, GstPad * peer)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "link");
-
-
- gst_object_unref (decklinksrc);
- return GST_PAD_LINK_OK;
-}
-
-static GstFlowReturn
-gst_decklink_src_audio_src_getrange (GstPad * pad, guint64 offset, guint length,
- GstBuffer ** buffer)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "getrange");
-
-
- gst_object_unref (decklinksrc);
- return GST_FLOW_OK;
-}
-
-static gboolean
-gst_decklink_src_audio_src_event (GstPad * pad, GstEvent * event)
+gst_decklink_src_audio_src_query (GstPad * pad, GstObject * parent,
+ GstQuery * query)
{
gboolean res;
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
- GST_DEBUG_OBJECT (decklinksrc, "event");
-
- switch (GST_EVENT_TYPE (event)) {
- default:
- res = gst_pad_event_default (pad, event);
- break;
- }
-
- gst_object_unref (decklinksrc);
- return res;
-}
-
-static gboolean
-gst_decklink_src_audio_src_query (GstPad * pad, GstQuery * query)
-{
- gboolean res;
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "query");
+ GST_DEBUG_OBJECT (pad, "query: %" GST_PTR_FORMAT, query);
switch (GST_QUERY_TYPE (query)) {
- default:
- res = gst_pad_query_default (pad, query);
+ /* FIXME: report live-ness and latency for audio too */
+ case GST_QUERY_LATENCY:
+ GST_FIXME_OBJECT (parent, "should report live-ness and audio latency");
+ res = gst_pad_query_default (pad, parent, query);
break;
- }
-
- gst_object_unref (decklinksrc);
- return res;
-}
-
-static GstIterator *
-gst_decklink_src_audio_src_iterintlink (GstPad * pad)
-{
- GstDecklinkSrc *decklinksrc;
- GstIterator *iter;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "iterintlink");
-
- iter = gst_pad_iterate_internal_links_default (pad);
-
- gst_object_unref (decklinksrc);
- return iter;
-}
-
-
-static GstCaps *
-gst_decklink_src_video_src_getcaps (GstPad * pad)
-{
- GstDecklinkSrc *decklinksrc;
- GstCaps *caps;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "getcaps");
-
- caps = gst_decklink_mode_get_caps (decklinksrc->mode);
-
- gst_object_unref (decklinksrc);
- return caps;
-}
-
-static gboolean
-gst_decklink_src_video_src_setcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSrc *decklinksrc;
- GstCaps *mode_caps;
- gboolean can_intersect;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "setcaps");
-
- mode_caps = gst_decklink_mode_get_caps (decklinksrc->mode);
- can_intersect = gst_caps_can_intersect (mode_caps, caps);
- gst_caps_unref (mode_caps);
-
- gst_object_unref (decklinksrc);
- return can_intersect;
-}
-
-static gboolean
-gst_decklink_src_video_src_acceptcaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSrc *decklinksrc;
- GstCaps *mode_caps;
- gboolean can_intersect;
-
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "acceptcaps");
-
- mode_caps = gst_decklink_mode_get_caps (decklinksrc->mode);
- can_intersect = gst_caps_can_intersect (mode_caps, caps);
- gst_caps_unref (mode_caps);
-
- gst_object_unref (decklinksrc);
- return can_intersect;
-}
-
-static void
-gst_decklink_src_video_src_fixatecaps (GstPad * pad, GstCaps * caps)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "fixatecaps");
-
-
- gst_object_unref (decklinksrc);
-}
-
-static gboolean
-gst_decklink_src_video_src_activate (GstPad * pad)
-{
- GstDecklinkSrc *decklinksrc;
- gboolean ret;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "activate");
-
- if (gst_pad_check_pull_range (pad)) {
- GST_DEBUG_OBJECT (pad, "activating pull");
- ret = gst_pad_activate_pull (pad, TRUE);
- } else {
- GST_DEBUG_OBJECT (pad, "activating push");
- ret = gst_pad_activate_push (pad, TRUE);
- }
-
- gst_object_unref (decklinksrc);
- return ret;
-}
-
-static gboolean
-gst_decklink_src_video_src_activatepush (GstPad * pad, gboolean active)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "activatepush");
-
-
- gst_object_unref (decklinksrc);
- return TRUE;
-}
-
-static gboolean
-gst_decklink_src_video_src_activatepull (GstPad * pad, gboolean active)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "activatepull");
-
-
- gst_object_unref (decklinksrc);
- return FALSE;
-}
-
-static GstPadLinkReturn
-gst_decklink_src_video_src_link (GstPad * pad, GstPad * peer)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "link");
-
-
- gst_object_unref (decklinksrc);
- return GST_PAD_LINK_OK;
-}
-
-static GstFlowReturn
-gst_decklink_src_video_src_getrange (GstPad * pad, guint64 offset, guint length,
- GstBuffer ** buffer)
-{
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "getrange");
-
-
- gst_object_unref (decklinksrc);
- return GST_FLOW_OK;
-}
-
-static gboolean
-gst_decklink_src_video_src_event (GstPad * pad, GstEvent * event)
-{
- gboolean res;
- GstDecklinkSrc *decklinksrc;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "event");
-
- switch (GST_EVENT_TYPE (event)) {
default:
- res = gst_pad_event_default (pad, event);
+ res = gst_pad_query_default (pad, parent, query);
break;
}
- gst_object_unref (decklinksrc);
return res;
}
static gboolean
-gst_decklink_src_video_src_query (GstPad * pad, GstQuery * query)
+gst_decklink_src_video_src_query (GstPad * pad, GstObject * parent,
+ GstQuery * query)
{
- gboolean ret = FALSE;
GstDecklinkSrc *decklinksrc;
+ gboolean ret = FALSE;
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
+ decklinksrc = GST_DECKLINK_SRC (parent);
- GST_DEBUG_OBJECT (decklinksrc, "query");
+ GST_DEBUG_OBJECT (pad, "query: %" GST_PTR_FORMAT, query);
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_LATENCY:{
@@ -1170,31 +604,14 @@ gst_decklink_src_video_src_query (GstPad * pad, GstQuery * query)
break;
}
default:
- ret = gst_pad_query_default (pad, query);
+ ret = gst_pad_query_default (pad, parent, query);
break;
}
done:
- gst_object_unref (decklinksrc);
return ret;
}
-static GstIterator *
-gst_decklink_src_video_src_iterintlink (GstPad * pad)
-{
- GstDecklinkSrc *decklinksrc;
- GstIterator *iter;
-
- decklinksrc = GST_DECKLINK_SRC (gst_pad_get_parent (pad));
-
- GST_DEBUG_OBJECT (decklinksrc, "iterintlink");
-
- iter = gst_pad_iterate_internal_links_default (pad);
-
- gst_object_unref (decklinksrc);
- return iter;
-}
-
static void
video_frame_free (void *data)
{
@@ -1206,6 +623,43 @@ video_frame_free (void *data)
}
static void
+gst_decklink_src_send_initial_events (GstDecklinkSrc * src)
+{
+ GstSegment segment;
+ GstEvent *event;
+ guint32 audio_id, video_id;
+ gchar stream_id[9];
+
+ /* stream-start */
+ audio_id = g_random_int ();
+ video_id = g_random_int ();
+ while (video_id == audio_id)
+ video_id = g_random_int ();
+
+ g_snprintf (stream_id, sizeof (stream_id), "%08x", audio_id);
+ gst_pad_push_event (src->audiosrcpad, gst_event_new_stream_start (stream_id));
+
+ g_snprintf (stream_id, sizeof (stream_id), "%08x", video_id);
+ gst_pad_push_event (src->videosrcpad, gst_event_new_stream_start (stream_id));
+
+ /* segment */
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+ event = gst_event_new_segment (&segment);
+ gst_pad_push_event (src->videosrcpad, gst_event_ref (event));
+ gst_pad_push_event (src->audiosrcpad, event);
+
+ /* caps */
+ gst_pad_push_event (src->audiosrcpad,
+ gst_event_new_caps (gst_caps_new_simple ("audio/x-raw",
+ "format", G_TYPE_STRING, "S16LE", "channels", G_TYPE_INT, 2,
+ "rate", G_TYPE_INT, 48000, "layout", G_TYPE_STRING, "interleaved",
+ NULL)));
+
+ gst_pad_push_event (src->videosrcpad,
+ gst_event_new_caps (gst_decklink_mode_get_caps (src->mode)));
+}
+
+static void
gst_decklink_src_task (void *priv)
{
GstDecklinkSrc *decklinksrc = GST_DECKLINK_SRC (priv);
@@ -1214,21 +668,23 @@ gst_decklink_src_task (void *priv)
IDeckLinkVideoInputFrame *video_frame;
IDeckLinkAudioInputPacket *audio_frame;
void *data;
+ gsize data_size;
int n_samples;
GstFlowReturn ret;
const GstDecklinkMode *mode;
+ gboolean discont = FALSE;
GST_DEBUG_OBJECT (decklinksrc, "task");
- g_mutex_lock (decklinksrc->mutex);
+ g_mutex_lock (&decklinksrc->mutex);
while (decklinksrc->video_frame == NULL && !decklinksrc->stop) {
- g_cond_wait (decklinksrc->cond, decklinksrc->mutex);
+ g_cond_wait (&decklinksrc->cond, &decklinksrc->mutex);
}
video_frame = decklinksrc->video_frame;
audio_frame = decklinksrc->audio_frame;
decklinksrc->video_frame = NULL;
decklinksrc->audio_frame = NULL;
- g_mutex_unlock (decklinksrc->mutex);
+ g_mutex_unlock (&decklinksrc->mutex);
if (decklinksrc->stop) {
if (video_frame)
@@ -1240,49 +696,41 @@ gst_decklink_src_task (void *priv)
}
/* warning on dropped frames */
+ /* FIXME: post QoS message */
if (decklinksrc->dropped_frames - decklinksrc->dropped_frames_old > 0) {
GST_ELEMENT_WARNING (decklinksrc, RESOURCE, READ,
("Dropped %d frame(s), for a total of %d frame(s)",
decklinksrc->dropped_frames - decklinksrc->dropped_frames_old,
decklinksrc->dropped_frames), (NULL));
decklinksrc->dropped_frames_old = decklinksrc->dropped_frames;
+ /* FIXME: discont = TRUE; ? */
}
- if (!decklinksrc->video_new_segment) {
- GstEvent *event;
- gboolean ret;
-
- event = gst_event_new_new_segment (FALSE, 1.0, GST_FORMAT_TIME,
- 0, GST_CLOCK_TIME_NONE, 0);
-
- ret = gst_pad_push_event (decklinksrc->videosrcpad, event);
- if (!ret) {
- GST_WARNING ("new segment event not handled");
- }
-
- decklinksrc->video_new_segment = TRUE;
+ if (!decklinksrc->started) {
+ gst_decklink_src_send_initial_events (decklinksrc);
+ decklinksrc->started = TRUE;
}
mode = gst_decklink_get_mode (decklinksrc->mode);
video_frame->GetBytes (&data);
+
+ data_size = mode->width * mode->height * 2;
+
if (decklinksrc->copy_data) {
- buffer = gst_buffer_new_and_alloc (mode->width * mode->height * 2);
+ buffer = gst_buffer_new_and_alloc (data_size);
- memcpy (GST_BUFFER_DATA (buffer), data, mode->width * mode->height * 2);
+ gst_buffer_fill (buffer, 0, data, data_size);
video_frame->Release ();
} else {
VideoFrame *vf;
vf = (VideoFrame *) g_malloc0 (sizeof (VideoFrame));
- buffer = gst_buffer_new ();
- GST_BUFFER_SIZE (buffer) = mode->width * mode->height * 2;
- GST_BUFFER_DATA (buffer) = (guint8 *) data;
+ buffer = gst_buffer_new_wrapped_full ((GstMemoryFlags) 0, data, data_size,
+ 0, data_size, vf, (GDestroyNotify) video_frame_free);
- GST_BUFFER_FREE_FUNC (buffer) = video_frame_free;
- GST_BUFFER_MALLOCDATA (buffer) = (guint8 *) vf;
vf->frame = video_frame;
vf->input = decklinksrc->input;
vf->input->AddRef ();
@@ -1295,128 +743,104 @@ gst_decklink_src_task (void *priv)
gst_util_uint64_scale_int ((decklinksrc->frame_num + 1) * GST_SECOND,
mode->fps_d, mode->fps_n) - GST_BUFFER_TIMESTAMP (buffer);
GST_BUFFER_OFFSET (buffer) = decklinksrc->frame_num;
- GST_BUFFER_OFFSET_END (buffer) = decklinksrc->frame_num;
- if (decklinksrc->frame_num == 0) {
- GstEvent *event;
- gboolean ret;
+ GST_BUFFER_OFFSET_END (buffer) = decklinksrc->frame_num; /* FIXME: +1? */
- GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+ /* FIXME: set video meta */
- event = gst_event_new_new_segment (FALSE, 1.0, GST_FORMAT_TIME, 0,
- GST_CLOCK_TIME_NONE, 0);
+ if (decklinksrc->frame_num == 0)
+ discont = TRUE;
- if (gst_pad_is_linked (decklinksrc->videosrcpad)) {
- gst_event_ref (event);
- ret = gst_pad_push_event (decklinksrc->videosrcpad, event);
- if (!ret) {
- GST_ERROR_OBJECT (decklinksrc, "new segment event ret=%d", ret);
- gst_event_unref (event);
- return;
- }
- } else {
- gst_event_unref (event);
- }
-
- if (gst_pad_is_linked (decklinksrc->audiosrcpad)) {
- ret = gst_pad_push_event (decklinksrc->audiosrcpad, event);
- if (!ret) {
- GST_ERROR_OBJECT (decklinksrc, "new segment event ret=%d", ret);
- gst_event_unref (event);
- }
- } else {
- gst_event_unref (event);
- }
-
- }
-
- if (decklinksrc->video_caps == NULL) {
- decklinksrc->video_caps = gst_decklink_mode_get_caps (decklinksrc->mode);
- }
- gst_buffer_set_caps (buffer, decklinksrc->video_caps);
+ if (discont)
+ GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+ else
+ GST_BUFFER_FLAG_UNSET (buffer, GST_BUFFER_FLAG_DISCONT);
+ /* FIXME: proper flow aggregation with audio flow */
ret = gst_pad_push (decklinksrc->videosrcpad, buffer);
if (!(ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED ||
- ret == GST_FLOW_WRONG_STATE)) {
+ ret == GST_FLOW_FLUSHING)) {
GST_ELEMENT_ERROR (decklinksrc, STREAM, FAILED,
("Internal data stream error."),
("stream stopped, reason %s", gst_flow_get_name (ret)));
+ goto pause;
}
if (gst_pad_is_linked (decklinksrc->audiosrcpad)) {
- if (!decklinksrc->audio_new_segment) {
- GstEvent *event;
- gboolean ret;
-
- event = gst_event_new_new_segment (FALSE, 1.0, GST_FORMAT_TIME,
- 0, GST_CLOCK_TIME_NONE, 0);
-
- ret = gst_pad_push_event (decklinksrc->audiosrcpad, event);
- if (!ret) {
- GST_WARNING ("new segment event not handled");
- }
-
- decklinksrc->audio_new_segment = TRUE;
- }
-
n_samples = audio_frame->GetSampleFrameCount ();
audio_frame->GetBytes (&data);
audio_buffer = gst_buffer_new_and_alloc (n_samples * 2 * 2);
- memcpy (GST_BUFFER_DATA (audio_buffer), data, n_samples * 2 * 2);
+ gst_buffer_fill (audio_buffer, 0, data, n_samples * 2 * 2);
GST_BUFFER_TIMESTAMP (audio_buffer) =
gst_util_uint64_scale_int (decklinksrc->num_audio_samples * GST_SECOND,
1, 48000);
+ /* FIXME: should be next_timestamp - timestamp for perfect stream */
GST_BUFFER_DURATION (audio_buffer) =
gst_util_uint64_scale_int (n_samples * GST_SECOND, 1, 48000);
- decklinksrc->num_audio_samples += n_samples;
+ GST_BUFFER_OFFSET (audio_buffer) = decklinksrc->num_audio_samples;
+ GST_BUFFER_OFFSET_END (audio_buffer) =
+ GST_BUFFER_OFFSET (audio_buffer) + n_samples;
- if (decklinksrc->audio_caps == NULL) {
- decklinksrc->audio_caps = gst_caps_new_simple ("audio/x-raw-int",
- "endianness", G_TYPE_INT, G_LITTLE_ENDIAN,
- "signed", G_TYPE_BOOLEAN, TRUE,
- "depth", G_TYPE_INT, 16,
- "width", G_TYPE_INT, 16,
- "channels", G_TYPE_INT, 2, "rate", G_TYPE_INT, 48000, NULL);
- }
- gst_buffer_set_caps (audio_buffer, decklinksrc->audio_caps);
+ decklinksrc->num_audio_samples += n_samples;
+ /* FIXME: proper flow aggregation with video flow */
ret = gst_pad_push (decklinksrc->audiosrcpad, audio_buffer);
if (!(ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED ||
- ret == GST_FLOW_WRONG_STATE)) {
+ ret == GST_FLOW_FLUSHING)) {
GST_ELEMENT_ERROR (decklinksrc, STREAM, FAILED,
("Internal data stream error."),
("stream stopped, reason %s", gst_flow_get_name (ret)));
+ goto pause;
}
}
- if (audio_frame)
- audio_frame->Release ();
-}
-
-static const GList *
-gst_decklinksrc_probe_get_properties (GstPropertyProbe * probe)
-{
- GObjectClass *klass = G_OBJECT_GET_CLASS (probe);
- static GList *list = NULL;
- static gsize init = 0;
+done:
- if (g_once_init_enter (&init)) {
- list = g_list_append (NULL, g_object_class_find_property (klass, "device"));
+ if (audio_frame)
+ audio_frame->Release ();
- g_once_init_leave (&init, 1);
+ return;
+
+pause:
+ {
+ const gchar *reason = gst_flow_get_name (ret);
+ GstEvent *event = NULL;
+
+ GST_DEBUG_OBJECT (decklinksrc, "pausing task, reason %s", reason);
+ gst_task_pause (decklinksrc->task);
+ if (ret == GST_FLOW_EOS) {
+ /* perform EOS logic (very crude, we don't even keep a GstSegment) */
+ event = gst_event_new_eos ();
+ } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) {
+ event = gst_event_new_eos ();
+ /* for fatal errors we post an error message, post the error
+ * first so the app knows about the error first.
+ * Also don't do this for FLUSHING because it happens
+ * due to flushing and posting an error message because of
+ * that is the wrong thing to do, e.g. when we're doing
+ * a flushing seek. */
+ GST_ELEMENT_ERROR (decklinksrc, STREAM, FAILED,
+ ("Internal data flow error."),
+ ("streaming task paused, reason %s (%d)", reason, ret));
+ }
+ if (event != NULL) {
+ GST_INFO_OBJECT (decklinksrc->videosrcpad, "pushing EOS event");
+ gst_pad_push_event (decklinksrc->videosrcpad, gst_event_ref (event));
+ GST_INFO_OBJECT (decklinksrc->audiosrcpad, "pushing EOS event");
+ gst_pad_push_event (decklinksrc->audiosrcpad, event);
+ }
+ goto done;
}
-
- return list;
}
-static gboolean probed = FALSE;
-static int n_devices;
-
+#if 0
+/* former device probe code, redux */
static void
-gst_decklinksrc_class_probe_devices (GstElementClass * klass)
+gst_decklinksrc_list_devices (void)
{
IDeckLinkIterator *iterator;
IDeckLink *decklink;
+ int n_devices;
n_devices = 0;
iterator = CreateDeckLinkIteratorInstance ();
@@ -1427,85 +851,6 @@ gst_decklinksrc_class_probe_devices (GstElementClass * klass)
}
iterator->Release();
- probed = TRUE;
-}
-
-static void
-gst_decklinksrc_probe_probe_property (GstPropertyProbe * probe,
- guint prop_id, const GParamSpec * pspec)
-{
- GstElementClass *klass = GST_ELEMENT_GET_CLASS (probe);
-
- switch (prop_id) {
- case PROP_DEVICE:
- gst_decklinksrc_class_probe_devices (klass);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
- break;
- }
-}
-
-static gboolean
-gst_decklinksrc_probe_needs_probe (GstPropertyProbe * probe,
- guint prop_id, const GParamSpec * pspec)
-{
- gboolean ret = FALSE;
-
- switch (prop_id) {
- case PROP_DEVICE:
- ret = !probed;
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
- break;
- }
- return ret;
-}
-
-static GValueArray *
-gst_decklinksrc_class_list_devices (GstElementClass * klass)
-{
- GValueArray *array;
- GValue value = { 0 };
- int i;
-
- array = g_value_array_new (n_devices);
- g_value_init (&value, G_TYPE_INT);
- for (i = 0; i < n_devices; i++) {
- g_value_set_int (&value, i);
- g_value_array_append (array, &value);
- }
- g_value_unset (&value);
-
- return array;
-}
-
-static GValueArray *
-gst_decklinksrc_probe_get_values (GstPropertyProbe * probe,
- guint prop_id, const GParamSpec * pspec)
-{
- GstElementClass *klass = GST_ELEMENT_GET_CLASS (probe);
- GValueArray *array = NULL;
-
- switch (prop_id) {
- case PROP_DEVICE:
- array = gst_decklinksrc_class_list_devices (klass);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
- break;
- }
-
- return array;
-}
-
-static void
-gst_decklinksrc_property_probe_interface_init (GstPropertyProbeInterface *
- iface)
-{
- iface->get_properties = gst_decklinksrc_probe_get_properties;
- iface->probe_property = gst_decklinksrc_probe_probe_property;
- iface->needs_probe = gst_decklinksrc_probe_needs_probe;
- iface->get_values = gst_decklinksrc_probe_get_values;
+ g_print ("%d devices\n", n_devices);
}
+#endif
diff --git a/sys/decklink/gstdecklinksrc.h b/sys/decklink/gstdecklinksrc.h
index f64a4e64..e6290ca7 100644
--- a/sys/decklink/gstdecklinksrc.h
+++ b/sys/decklink/gstdecklinksrc.h
@@ -24,10 +24,13 @@
#include "gstdecklink.h"
G_BEGIN_DECLS
+
GST_DEBUG_CATEGORY_EXTERN (gst_decklink_src_debug_category);
+
#define GST_TYPE_DECKLINK_SRC (gst_decklink_src_get_type())
#define GST_DECKLINK_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DECKLINK_SRC,GstDecklinkSrc))
#define GST_DECKLINK_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DECKLINK_SRC,GstDecklinkSrcClass))
+#define GST_DECKLINK_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_DECKLINK_SRC, GstDecklinkSrcClass))
#define GST_IS_DECKLINK_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DECKLINK_SRC))
#define GST_IS_DECKLINK_SRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DECKLINK_SRC))
@@ -41,14 +44,12 @@ struct _GstDecklinkSrc
GstPad *audiosrcpad;
GstPad *videosrcpad;
- GstCaps *audio_caps;
-
IDeckLink *decklink;
IDeckLinkInput *input;
IDeckLinkConfiguration *config;
- GMutex *mutex;
- GCond *cond;
+ GMutex mutex;
+ GCond cond;
int dropped_frames;
int dropped_frames_old;
gboolean stop;
@@ -56,11 +57,10 @@ struct _GstDecklinkSrc
IDeckLinkAudioInputPacket * audio_frame;
GstTask *task;
- GStaticRecMutex task_mutex;
+ GRecMutex task_mutex;
guint64 num_audio_samples;
- GstCaps *video_caps;
guint64 frame_num;
int fps_n;
int fps_d;
@@ -68,8 +68,9 @@ struct _GstDecklinkSrc
int height;
gboolean interlaced;
BMDDisplayMode bmd_mode;
- gboolean video_new_segment;
- gboolean audio_new_segment;
+
+ /* so we send a stream-start, caps, and newsegment events before buffers */
+ gboolean started;
/* properties */
gboolean copy_data;
diff --git a/sys/directdraw/Makefile.in b/sys/directdraw/Makefile.in
index 719e0130..021a16e5 100644
--- a/sys/directdraw/Makefile.in
+++ b/sys/directdraw/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/directsound/Makefile.in b/sys/directsound/Makefile.in
index b0194290..c433fff1 100644
--- a/sys/directsound/Makefile.in
+++ b/sys/directsound/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/dshowdecwrapper/Makefile.in b/sys/dshowdecwrapper/Makefile.in
index c33550fe..4e355b9c 100644
--- a/sys/dshowdecwrapper/Makefile.in
+++ b/sys/dshowdecwrapper/Makefile.in
@@ -258,6 +258,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -291,6 +293,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/dshowsrcwrapper/Makefile.in b/sys/dshowsrcwrapper/Makefile.in
index b7664dde..fb995487 100644
--- a/sys/dshowsrcwrapper/Makefile.in
+++ b/sys/dshowsrcwrapper/Makefile.in
@@ -188,6 +188,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -221,6 +223,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/dshowvideosink/Makefile.in b/sys/dshowvideosink/Makefile.in
index 5ba9cd21..50970ef9 100644
--- a/sys/dshowvideosink/Makefile.in
+++ b/sys/dshowvideosink/Makefile.in
@@ -188,6 +188,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -221,6 +223,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/dvb/Makefile.in b/sys/dvb/Makefile.in
index 5bdf3ee9..44b8b851 100644
--- a/sys/dvb/Makefile.in
+++ b/sys/dvb/Makefile.in
@@ -261,6 +261,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -294,6 +296,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index 84aca09f..02503295 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -944,6 +944,8 @@ gst_dvbsrc_read_device (GstDvbSrc * object, int size, GstBuffer ** buffer)
if (G_UNLIKELY (ret_val < 0)) {
if (errno == EBUSY)
goto stopped;
+ else if (errno == EINTR)
+ continue;
else
goto select_error;
} else if (G_UNLIKELY (ret_val == 0)) {
diff --git a/sys/fbdev/Makefile.in b/sys/fbdev/Makefile.in
index f4c18f9c..59ea98c0 100644
--- a/sys/fbdev/Makefile.in
+++ b/sys/fbdev/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/linsys/Makefile.in b/sys/linsys/Makefile.in
index b673c1b0..6759a3e8 100644
--- a/sys/linsys/Makefile.in
+++ b/sys/linsys/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/opensles/Makefile.am b/sys/opensles/Makefile.am
index dda50327..c0ef4ec9 100644
--- a/sys/opensles/Makefile.am
+++ b/sys/opensles/Makefile.am
@@ -9,13 +9,12 @@ libgstopensles_la_SOURCES = openslesringbuffer.c \
libgstopensles_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
-Wno-deprecated-declarations
libgstopensles_la_LIBADD = \
- -lgstinterfaces-@GST_MAJORMINOR@ \
- -lgstaudio-@GST_MAJORMINOR@ \
+ -lgstaudio-@GST_API_VERSION@ \
$(GST_PLUGINS_BASE_LIBS) \
$(GST_BASE_LIBS) \
$(GST_LIBS)
libgstopensles_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -lOpenSLES
-libgstopensles_la_LIBTOOLFLAGS = --tag=disable-static --tag=CC
+libgstopensles_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
noinst_HEADERS = openslesringbuffer.h \
openslessink.h \
diff --git a/sys/opensles/Makefile.in b/sys/opensles/Makefile.in
index 424a47e0..444a3954 100644
--- a/sys/opensles/Makefile.in
+++ b/sys/opensles/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
@@ -624,14 +628,13 @@ libgstopensles_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
-Wno-deprecated-declarations
libgstopensles_la_LIBADD = \
- -lgstinterfaces-@GST_MAJORMINOR@ \
- -lgstaudio-@GST_MAJORMINOR@ \
+ -lgstaudio-@GST_API_VERSION@ \
$(GST_PLUGINS_BASE_LIBS) \
$(GST_BASE_LIBS) \
$(GST_LIBS)
libgstopensles_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -lOpenSLES
-libgstopensles_la_LIBTOOLFLAGS = --tag=disable-static --tag=CC
+libgstopensles_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
noinst_HEADERS = openslesringbuffer.h \
openslessink.h \
openslessrc.h
diff --git a/sys/opensles/opensles.c b/sys/opensles/opensles.c
index 03af1d3a..9351783c 100644
--- a/sys/opensles/opensles.c
+++ b/sys/opensles/opensles.c
@@ -21,12 +21,67 @@
#include "config.h"
#endif
+#include <gst/gst.h>
+#include <SLES/OpenSLES.h>
+
+#include "opensles.h"
#include "openslessink.h"
#include "openslessrc.h"
+static GMutex engine_mutex;
+static SLObjectItf engine_object = NULL;
+static gint engine_object_refcount = 0;
+
+SLObjectItf
+gst_opensles_get_engine (void)
+{
+ g_mutex_lock (&engine_mutex);
+ if (!engine_object) {
+ SLresult result;
+ result = slCreateEngine (&engine_object, 0, NULL, 0, NULL, NULL);
+ if (result != SL_RESULT_SUCCESS) {
+ GST_ERROR ("slCreateEngine failed(0x%08x)", (guint32) result);
+ engine_object = NULL;
+ }
+
+ result = (*engine_object)->Realize (engine_object, SL_BOOLEAN_FALSE);
+ if (result != SL_RESULT_SUCCESS) {
+ GST_ERROR ("engine.Realize failed(0x%08x)", (guint32) result);
+ (*engine_object)->Destroy (engine_object);
+ engine_object = NULL;
+ }
+ }
+
+ if (engine_object) {
+ engine_object_refcount++;
+ }
+ g_mutex_unlock (&engine_mutex);
+
+ return engine_object;
+}
+
+void
+gst_opensles_release_engine (SLObjectItf engine_object_parameter)
+{
+ g_mutex_lock (&engine_mutex);
+ g_assert (engine_object == engine_object_parameter);
+
+ if (engine_object) {
+ engine_object_refcount--;
+
+ if (engine_object_refcount == 0) {
+ (*engine_object)->Destroy (engine_object);
+ engine_object = NULL;
+ }
+ }
+ g_mutex_unlock (&engine_mutex);
+}
+
static gboolean
plugin_init (GstPlugin * plugin)
{
+ g_mutex_init (&engine_mutex);
+
if (!gst_element_register (plugin, "openslessink", GST_RANK_PRIMARY,
GST_TYPE_OPENSLES_SINK)) {
return FALSE;
@@ -39,7 +94,7 @@ plugin_init (GstPlugin * plugin)
return TRUE;
}
-GST_PLUGIN_DEFINE2 (GST_VERSION_MAJOR,
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
opensles,
"OpenSL ES support for GStreamer",
diff --git a/sys/opensles/openslesringbuffer.c b/sys/opensles/openslesringbuffer.c
index 8038821a..56de5a8a 100644
--- a/sys/opensles/openslesringbuffer.c
+++ b/sys/opensles/openslesringbuffer.c
@@ -21,22 +21,21 @@
# include <config.h>
#endif
+#include <string.h>
+
+#include "opensles.h"
#include "openslesringbuffer.h"
GST_DEBUG_CATEGORY_STATIC (opensles_ringbuffer_debug);
#define GST_CAT_DEFAULT opensles_ringbuffer_debug
-static GstRingBufferClass *ring_parent_class = NULL;
-
-static void
-_do_init (GType type)
-{
- GST_DEBUG_CATEGORY_INIT (opensles_ringbuffer_debug,
+#define _do_init \
+ GST_DEBUG_CATEGORY_INIT (opensles_ringbuffer_debug, \
"opensles_ringbuffer", 0, "OpenSL ES ringbuffer");
-}
-GST_BOILERPLATE_FULL (GstOpenSLESRingBuffer, gst_opensles_ringbuffer,
- GstRingBuffer, GST_TYPE_RING_BUFFER, _do_init);
+#define parent_class gst_opensles_ringbuffer_parent_class
+G_DEFINE_TYPE_WITH_CODE (GstOpenSLESRingBuffer, gst_opensles_ringbuffer,
+ GST_TYPE_AUDIO_RING_BUFFER, _do_init);
/*
* Some generic helper functions
@@ -78,9 +77,9 @@ _opensles_sample_rate (guint rate)
}
static inline SLuint32
-_opensles_channel_mask (GstRingBufferSpec * spec)
+_opensles_channel_mask (GstAudioRingBufferSpec * spec)
{
- switch (spec->channels) {
+ switch (spec->info.channels) {
case 1:
return (SL_SPEAKER_FRONT_CENTER);
case 2:
@@ -91,16 +90,17 @@ _opensles_channel_mask (GstRingBufferSpec * spec)
}
static inline void
-_opensles_format (GstRingBufferSpec * spec, SLDataFormat_PCM * format)
+_opensles_format (GstAudioRingBufferSpec * spec, SLDataFormat_PCM * format)
{
format->formatType = SL_DATAFORMAT_PCM;
- format->numChannels = spec->channels;
- format->samplesPerSec = _opensles_sample_rate (spec->rate);
- format->bitsPerSample = spec->depth;
- format->containerSize = spec->width;
+ format->numChannels = spec->info.channels;
+ format->samplesPerSec = _opensles_sample_rate (spec->info.rate);
+ format->bitsPerSample = spec->info.finfo->depth;
+ format->containerSize = spec->info.finfo->width;
format->channelMask = _opensles_channel_mask (spec);
format->endianness =
- (spec->bigend ? SL_BYTEORDER_BIGENDIAN : SL_BYTEORDER_LITTLEENDIAN);
+ ((spec->info.finfo->endianness ==
+ G_BIG_ENDIAN) ? SL_BYTEORDER_BIGENDIAN : SL_BYTEORDER_LITTLEENDIAN);
}
/*
@@ -108,7 +108,8 @@ _opensles_format (GstRingBufferSpec * spec, SLDataFormat_PCM * format)
*/
static gboolean
-_opensles_recorder_acquire (GstRingBuffer * rb, GstRingBufferSpec * spec)
+_opensles_recorder_acquire (GstAudioRingBuffer * rb,
+ GstAudioRingBufferSpec * spec)
{
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
@@ -185,7 +186,7 @@ failed:
static void
_opensles_recorder_cb (SLAndroidSimpleBufferQueueItf bufferQueue, void *context)
{
- GstRingBuffer *rb = GST_RING_BUFFER_CAST (context);
+ GstAudioRingBuffer *rb = GST_AUDIO_RING_BUFFER_CAST (context);
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
guint8 *ptr;
@@ -194,11 +195,11 @@ _opensles_recorder_cb (SLAndroidSimpleBufferQueueItf bufferQueue, void *context)
/* Advance only when we are called by the callback function */
if (bufferQueue) {
- gst_ring_buffer_advance (rb, 1);
+ gst_audio_ring_buffer_advance (rb, 1);
}
/* Get a segment form the GStreamer ringbuffer to write in */
- if (!gst_ring_buffer_prepare_read (rb, &seg, &ptr, &len)) {
+ if (!gst_audio_ring_buffer_prepare_read (rb, &seg, &ptr, &len)) {
GST_WARNING_OBJECT (rb, "No segment available");
return;
}
@@ -215,7 +216,7 @@ _opensles_recorder_cb (SLAndroidSimpleBufferQueueItf bufferQueue, void *context)
}
static gboolean
-_opensles_recorder_start (GstRingBuffer * rb)
+_opensles_recorder_start (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
@@ -249,7 +250,7 @@ _opensles_recorder_start (GstRingBuffer * rb)
}
static gboolean
-_opensles_recorder_stop (GstRingBuffer * rb)
+_opensles_recorder_stop (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
@@ -290,7 +291,7 @@ _opensles_recorder_stop (GstRingBuffer * rb)
*/
static gboolean
-_opensles_player_change_volume (GstRingBuffer * rb)
+_opensles_player_change_volume (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
SLresult result;
@@ -313,7 +314,7 @@ _opensles_player_change_volume (GstRingBuffer * rb)
}
static gboolean
-_opensles_player_change_mute (GstRingBuffer * rb)
+_opensles_player_change_mute (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
SLresult result;
@@ -338,20 +339,17 @@ _opensles_player_change_mute (GstRingBuffer * rb)
static void
_opensles_player_event_cb (SLPlayItf caller, void *context, SLuint32 event)
{
- GstOpenSLESRingBuffer *thiz;
-
- thiz = GST_OPENSLES_RING_BUFFER_CAST (context);
-
if (event & SL_PLAYEVENT_HEADATNEWPOS) {
SLmillisecond position;
(*caller)->GetPosition (caller, &position);
- GST_LOG_OBJECT (thiz, "at position=%u ms", (guint) position);
+ GST_LOG_OBJECT (context, "at position=%u ms", (guint) position);
}
}
static gboolean
-_opensles_player_acquire (GstRingBuffer * rb, GstRingBufferSpec * spec)
+_opensles_player_acquire (GstAudioRingBuffer * rb,
+ GstAudioRingBufferSpec * spec)
{
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
@@ -478,7 +476,7 @@ failed:
static void
_opensles_player_cb (SLAndroidSimpleBufferQueueItf bufferQueue, void *context)
{
- GstRingBuffer *rb = GST_RING_BUFFER_CAST (context);
+ GstAudioRingBuffer *rb = GST_AUDIO_RING_BUFFER_CAST (context);
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
guint8 *ptr, *cur;
@@ -486,7 +484,7 @@ _opensles_player_cb (SLAndroidSimpleBufferQueueItf bufferQueue, void *context)
gint len;
/* Get a segment form the GStreamer ringbuffer to read some samples */
- if (!gst_ring_buffer_prepare_read (rb, &seg, &ptr, &len)) {
+ if (!gst_audio_ring_buffer_prepare_read (rb, &seg, &ptr, &len)) {
GST_WARNING_OBJECT (rb, "No segment available");
return;
}
@@ -510,13 +508,13 @@ _opensles_player_cb (SLAndroidSimpleBufferQueueItf bufferQueue, void *context)
}
/* Fill with silence samples the segment of the GStreamer ringbuffer */
- gst_ring_buffer_clear (rb, seg);
+ gst_audio_ring_buffer_clear (rb, seg);
/* Make the segment reusable */
- gst_ring_buffer_advance (rb, 1);
+ gst_audio_ring_buffer_advance (rb, 1);
}
static gboolean
-_opensles_player_start (GstRingBuffer * rb)
+_opensles_player_start (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
@@ -556,7 +554,7 @@ _opensles_player_start (GstRingBuffer * rb)
}
static gboolean
-_opensles_player_pause (GstRingBuffer * rb)
+_opensles_player_pause (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
@@ -573,7 +571,7 @@ _opensles_player_pause (GstRingBuffer * rb)
}
static gboolean
-_opensles_player_stop (GstRingBuffer * rb)
+_opensles_player_stop (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
SLresult result;
@@ -617,7 +615,7 @@ _opensles_player_stop (GstRingBuffer * rb)
* OpenSL ES ringbuffer wrapper
*/
-GstRingBuffer *
+GstAudioRingBuffer *
gst_opensles_ringbuffer_new (RingBufferMode mode)
{
GstOpenSLESRingBuffer *thiz;
@@ -645,11 +643,11 @@ gst_opensles_ringbuffer_new (RingBufferMode mode)
GST_DEBUG_OBJECT (thiz, "ringbuffer created");
- return GST_RING_BUFFER (thiz);
+ return GST_AUDIO_RING_BUFFER (thiz);
}
void
-gst_opensles_ringbuffer_set_volume (GstRingBuffer * rb, gfloat volume)
+gst_opensles_ringbuffer_set_volume (GstAudioRingBuffer * rb, gfloat volume)
{
GstOpenSLESRingBuffer *thiz;
@@ -663,7 +661,7 @@ gst_opensles_ringbuffer_set_volume (GstRingBuffer * rb, gfloat volume)
}
void
-gst_opensles_ringbuffer_set_mute (GstRingBuffer * rb, gboolean mute)
+gst_opensles_ringbuffer_set_mute (GstAudioRingBuffer * rb, gboolean mute)
{
GstOpenSLESRingBuffer *thiz;
@@ -677,25 +675,17 @@ gst_opensles_ringbuffer_set_mute (GstRingBuffer * rb, gboolean mute)
}
static gboolean
-gst_opensles_ringbuffer_open_device (GstRingBuffer * rb)
+gst_opensles_ringbuffer_open_device (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
SLresult result;
thiz = GST_OPENSLES_RING_BUFFER_CAST (rb);
- /* Create the engine object */
- result = slCreateEngine (&thiz->engineObject, 0, NULL, 0, NULL, NULL);
- if (result != SL_RESULT_SUCCESS) {
- GST_ERROR_OBJECT (thiz, "slCreateEngine failed(0x%08x)", (guint32) result);
- goto failed;
- }
-
- /* Realize the engine object */
- result = (*thiz->engineObject)->Realize (thiz->engineObject,
- SL_BOOLEAN_FALSE);
- if (result != SL_RESULT_SUCCESS) {
- GST_ERROR_OBJECT (thiz, "engine.Realize failed(0x%08x)", (guint32) result);
+ /* Create and realize the engine object */
+ thiz->engineObject = gst_opensles_get_engine ();
+ if (!thiz->engineObject) {
+ GST_ERROR_OBJECT (thiz, "Failed to get engine object");
goto failed;
}
@@ -758,7 +748,7 @@ failed:
}
static gboolean
-gst_opensles_ringbuffer_close_device (GstRingBuffer * rb)
+gst_opensles_ringbuffer_close_device (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
@@ -772,7 +762,7 @@ gst_opensles_ringbuffer_close_device (GstRingBuffer * rb)
/* Destroy the engine object and invalidate all associated interfaces */
if (thiz->engineObject) {
- (*thiz->engineObject)->Destroy (thiz->engineObject);
+ gst_opensles_release_engine (thiz->engineObject);
thiz->engineObject = NULL;
thiz->engineEngine = NULL;
}
@@ -784,7 +774,8 @@ gst_opensles_ringbuffer_close_device (GstRingBuffer * rb)
}
static gboolean
-gst_opensles_ringbuffer_acquire (GstRingBuffer * rb, GstRingBufferSpec * spec)
+gst_opensles_ringbuffer_acquire (GstAudioRingBuffer * rb,
+ GstAudioRingBufferSpec * spec)
{
GstOpenSLESRingBuffer *thiz;
@@ -796,15 +787,15 @@ gst_opensles_ringbuffer_acquire (GstRingBuffer * rb, GstRingBufferSpec * spec)
}
/* Initialize our ringbuffer memory region */
- rb->data = gst_buffer_new_and_alloc (spec->segtotal * spec->segsize);
- memset (GST_BUFFER_DATA (rb->data), 0, GST_BUFFER_SIZE (rb->data));
+ rb->size = spec->segtotal * spec->segsize;
+ rb->memory = g_malloc0 (rb->size);
GST_DEBUG_OBJECT (thiz, "ringbuffer acquired");
return TRUE;
}
static gboolean
-gst_opensles_ringbuffer_release (GstRingBuffer * rb)
+gst_opensles_ringbuffer_release (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
@@ -830,9 +821,10 @@ gst_opensles_ringbuffer_release (GstRingBuffer * rb)
thiz->data = NULL;
}
- if (rb->data) {
- gst_buffer_unref (rb->data);
- rb->data = NULL;
+ if (rb->memory) {
+ g_free (rb->memory);
+ rb->memory = NULL;
+ rb->size = 0;
}
GST_DEBUG_OBJECT (thiz, "ringbuffer released");
@@ -840,7 +832,7 @@ gst_opensles_ringbuffer_release (GstRingBuffer * rb)
}
static gboolean
-gst_opensles_ringbuffer_start (GstRingBuffer * rb)
+gst_opensles_ringbuffer_start (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
gboolean res;
@@ -853,7 +845,7 @@ gst_opensles_ringbuffer_start (GstRingBuffer * rb)
}
static gboolean
-gst_opensles_ringbuffer_pause (GstRingBuffer * rb)
+gst_opensles_ringbuffer_pause (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
gboolean res;
@@ -866,7 +858,7 @@ gst_opensles_ringbuffer_pause (GstRingBuffer * rb)
}
static gboolean
-gst_opensles_ringbuffer_stop (GstRingBuffer * rb)
+gst_opensles_ringbuffer_stop (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
gboolean res;
@@ -879,7 +871,7 @@ gst_opensles_ringbuffer_stop (GstRingBuffer * rb)
}
static guint
-gst_opensles_ringbuffer_delay (GstRingBuffer * rb)
+gst_opensles_ringbuffer_delay (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
guint res = 0;
@@ -893,7 +885,8 @@ gst_opensles_ringbuffer_delay (GstRingBuffer * rb)
(*thiz->playerPlay)->GetPlayState (thiz->playerPlay, &state);
if (state == SL_PLAYSTATE_PLAYING) {
(*thiz->playerPlay)->GetPosition (thiz->playerPlay, &position);
- playedpos = gst_util_uint64_scale_round (position, rb->spec.rate, 1000);
+ playedpos =
+ gst_util_uint64_scale_round (position, rb->spec.info.rate, 1000);
queuedpos = g_atomic_int_get (&thiz->segqueued) * rb->samples_per_seg;
res = queuedpos - playedpos;
}
@@ -907,7 +900,7 @@ gst_opensles_ringbuffer_delay (GstRingBuffer * rb)
}
static void
-gst_opensles_ringbuffer_clear_all (GstRingBuffer * rb)
+gst_opensles_ringbuffer_clear_all (GstAudioRingBuffer * rb)
{
GstOpenSLESRingBuffer *thiz;
@@ -928,37 +921,29 @@ gst_opensles_ringbuffer_clear_all (GstRingBuffer * rb)
g_atomic_int_set (&thiz->is_prerolled, 0);
}
- GST_CALL_PARENT (GST_RING_BUFFER_CLASS, clear_all, (rb));
+ GST_CALL_PARENT (GST_AUDIO_RING_BUFFER_CLASS, clear_all, (rb));
}
static void
gst_opensles_ringbuffer_dispose (GObject * object)
{
- G_OBJECT_CLASS (ring_parent_class)->dispose (object);
+ G_OBJECT_CLASS (parent_class)->dispose (object);
}
static void
gst_opensles_ringbuffer_finalize (GObject * object)
{
- G_OBJECT_CLASS (ring_parent_class)->finalize (object);
-}
-
-static void
-gst_opensles_ringbuffer_base_init (gpointer g_class)
-{
- /* Nothing to do right now */
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
gst_opensles_ringbuffer_class_init (GstOpenSLESRingBufferClass * klass)
{
GObjectClass *gobject_class;
- GstRingBufferClass *gstringbuffer_class;
+ GstAudioRingBufferClass *gstringbuffer_class;
gobject_class = (GObjectClass *) klass;
- gstringbuffer_class = (GstRingBufferClass *) klass;
-
- ring_parent_class = g_type_class_peek_parent (klass);
+ gstringbuffer_class = (GstAudioRingBufferClass *) klass;
gobject_class->dispose = gst_opensles_ringbuffer_dispose;
gobject_class->finalize = gst_opensles_ringbuffer_finalize;
@@ -985,8 +970,7 @@ gst_opensles_ringbuffer_class_init (GstOpenSLESRingBufferClass * klass)
}
static void
-gst_opensles_ringbuffer_init (GstOpenSLESRingBuffer * thiz,
- GstOpenSLESRingBufferClass * g_class)
+gst_opensles_ringbuffer_init (GstOpenSLESRingBuffer * thiz)
{
thiz->mode = RB_MODE_NONE;
thiz->engineObject = NULL;
diff --git a/sys/opensles/openslesringbuffer.h b/sys/opensles/openslesringbuffer.h
index 7da6563d..6343bd79 100644
--- a/sys/opensles/openslesringbuffer.h
+++ b/sys/opensles/openslesringbuffer.h
@@ -21,7 +21,7 @@
#define __OPENSLESRINGBUFFER_H__
#include <gst/gst.h>
-#include <gst/audio/gstringbuffer.h>
+#include <gst/audio/gstaudioringbuffer.h>
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
@@ -54,15 +54,15 @@ typedef enum
RB_MODE_LAST
} RingBufferMode;
-typedef gboolean (*AcquireFunc) (GstRingBuffer * rb, GstRingBufferSpec * spec);
-typedef gboolean (*StateFunc) (GstRingBuffer * rb);
+typedef gboolean (*AcquireFunc) (GstAudioRingBuffer * rb, GstAudioRingBufferSpec * spec);
+typedef gboolean (*StateFunc) (GstAudioRingBuffer * rb);
typedef struct _GstOpenSLESRingBuffer GstOpenSLESRingBuffer;
typedef struct _GstOpenSLESRingBufferClass GstOpenSLESRingBufferClass;
struct _GstOpenSLESRingBuffer
{
- GstRingBuffer object;
+ GstAudioRingBuffer object;
RingBufferMode mode;
@@ -105,13 +105,13 @@ struct _GstOpenSLESRingBuffer
struct _GstOpenSLESRingBufferClass
{
- GstRingBufferClass parent_class;
+ GstAudioRingBufferClass parent_class;
};
GType gst_opensles_ringbuffer_get_type (void);
-GstRingBuffer *gst_opensles_ringbuffer_new (RingBufferMode mode);
-void gst_opensles_ringbuffer_set_volume (GstRingBuffer * rb, gfloat volume);
-void gst_opensles_ringbuffer_set_mute (GstRingBuffer * rb, gboolean mute);
+GstAudioRingBuffer *gst_opensles_ringbuffer_new (RingBufferMode mode);
+void gst_opensles_ringbuffer_set_volume (GstAudioRingBuffer * rb, gfloat volume);
+void gst_opensles_ringbuffer_set_mute (GstAudioRingBuffer * rb, gboolean mute);
G_END_DECLS
#endif /* __OPENSLESRINGBUFFER_H__ */
diff --git a/sys/opensles/openslessink.c b/sys/opensles/openslessink.c
index 625fc091..e679db18 100644
--- a/sys/opensles/openslessink.c
+++ b/sys/opensles/openslessink.c
@@ -36,6 +36,7 @@
# include <config.h>
#endif
+#include "opensles.h"
#include "openslessink.h"
GST_DEBUG_CATEGORY_STATIC (opensles_sink_debug);
@@ -62,49 +63,23 @@ enum
static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-int, "
- "endianness = (int) {" G_STRINGIFY (G_BYTE_ORDER) " }, "
- "signed = (boolean) { TRUE }, "
- "width = (int) 16, "
- "depth = (int) 16, "
- "rate = (int) { " RATES "}, "
- "channels = (int) [1, 2];"
- "audio/x-raw-int, "
- "endianness = (int) {" G_STRINGIFY (G_BYTE_ORDER) " }, "
- "signed = (boolean) { FALSE }, "
- "width = (int) 8, "
- "depth = (int) 8, "
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) { " GST_AUDIO_NE (S16) ", " GST_AUDIO_NE (U8) "}, "
"rate = (int) { " RATES "}, " "channels = (int) [1, 2]")
);
-static void
-_do_init (GType type)
-{
- GST_DEBUG_CATEGORY_INIT (opensles_sink_debug, "opensles_sink", 0,
+#define _do_init \
+ GST_DEBUG_CATEGORY_INIT (opensles_sink_debug, "opensles_sink", 0, \
"OpenSL ES Sink");
-}
-
-GST_BOILERPLATE_FULL (GstOpenSLESSink, gst_opensles_sink, GstBaseAudioSink,
- GST_TYPE_BASE_AUDIO_SINK, _do_init);
-
-static void
-gst_opensles_sink_base_init (gpointer g_class)
-{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
- gst_element_class_add_static_pad_template (element_class, &sink_factory);
-
- gst_element_class_set_details_simple (element_class, "OpenSL ES Sink",
- "Sink/Audio",
- "Output sound using the OpenSL ES APIs",
- "Josep Torra <support@fluendo.com>");
-}
+#define parent_class gst_opensles_sink_parent_class
+G_DEFINE_TYPE_WITH_CODE (GstOpenSLESSink, gst_opensles_sink,
+ GST_TYPE_AUDIO_BASE_SINK, _do_init);
-static GstRingBuffer *
-gst_opensles_sink_create_ringbuffer (GstBaseAudioSink * base)
+static GstAudioRingBuffer *
+gst_opensles_sink_create_ringbuffer (GstAudioBaseSink * base)
{
GstOpenSLESSink *sink = GST_OPENSLES_SINK (base);
- GstRingBuffer *rb;
+ GstAudioRingBuffer *rb;
rb = gst_opensles_ringbuffer_new (RB_MODE_SINK_PCM);
gst_opensles_ringbuffer_set_volume (rb, sink->volume);
@@ -135,17 +110,10 @@ _opensles_query_capabilities (GstOpenSLESSink * sink)
SLuint32 outputDeviceIDs[MAX_NUMBER_OUTPUT_DEVICES];
SLAudioOutputDescriptor audioOutputDescriptor;
- /* Create engine */
- result = slCreateEngine (&engineObject, 0, NULL, 0, NULL, NULL);
- if (result != SL_RESULT_SUCCESS) {
- GST_ERROR_OBJECT (sink, "slCreateEngine failed(0x%08x)", (guint32) result);
- goto beach;
- }
-
- /* Realize the engine */
- result = (*engineObject)->Realize (engineObject, SL_BOOLEAN_FALSE);
- if (result != SL_RESULT_SUCCESS) {
- GST_ERROR_OBJECT (sink, "engine.Realize failed(0x%08x)", (guint32) result);
+ /* Create and realize engine */
+ engineObject = gst_opensles_get_engine ();
+ if (!engineObject) {
+ GST_ERROR_OBJECT (sink, "Getting engine failed");
goto beach;
}
@@ -197,7 +165,7 @@ _opensles_query_capabilities (GstOpenSLESSink * sink)
beach:
/* Destroy the engine object */
if (engineObject) {
- (*engineObject)->Destroy (engineObject);
+ gst_opensles_release_engine (engineObject);
}
return res;
@@ -208,7 +176,7 @@ gst_opensles_sink_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
{
GstOpenSLESSink *sink = GST_OPENSLES_SINK (object);
- GstRingBuffer *rb = GST_BASE_AUDIO_SINK (sink)->ringbuffer;
+ GstAudioRingBuffer *rb = GST_AUDIO_BASE_SINK (sink)->ringbuffer;
switch (prop_id) {
case PROP_VOLUME:
@@ -251,12 +219,12 @@ static void
gst_opensles_sink_class_init (GstOpenSLESSinkClass * klass)
{
GObjectClass *gobject_class;
- GstBaseAudioSinkClass *gstbaseaudiosink_class;
+ GstElementClass *gstelement_class;
+ GstAudioBaseSinkClass *gstbaseaudiosink_class;
gobject_class = (GObjectClass *) klass;
- gstbaseaudiosink_class = (GstBaseAudioSinkClass *) klass;
-
- parent_class = g_type_class_peek_parent (klass);
+ gstelement_class = (GstElementClass *) klass;
+ gstbaseaudiosink_class = (GstAudioBaseSinkClass *) klass;
gobject_class->set_property = gst_opensles_sink_set_property;
gobject_class->get_property = gst_opensles_sink_get_property;
@@ -269,21 +237,29 @@ gst_opensles_sink_class_init (GstOpenSLESSinkClass * klass)
g_param_spec_boolean ("mute", "Mute", "Mute state of this stream",
DEFAULT_MUTE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&sink_factory));
+
+ gst_element_class_set_static_metadata (gstelement_class, "OpenSL ES Sink",
+ "Sink/Audio",
+ "Output sound using the OpenSL ES APIs",
+ "Josep Torra <support@fluendo.com>");
+
gstbaseaudiosink_class->create_ringbuffer =
GST_DEBUG_FUNCPTR (gst_opensles_sink_create_ringbuffer);
}
static void
-gst_opensles_sink_init (GstOpenSLESSink * sink, GstOpenSLESSinkClass * gclass)
+gst_opensles_sink_init (GstOpenSLESSink * sink)
{
sink->volume = DEFAULT_VOLUME;
sink->mute = DEFAULT_MUTE;
_opensles_query_capabilities (sink);
- gst_base_audio_sink_set_provide_clock (GST_BASE_AUDIO_SINK (sink), TRUE);
+ gst_audio_base_sink_set_provide_clock (GST_AUDIO_BASE_SINK (sink), TRUE);
/* Override some default values to fit on the AudioFlinger behaviour of
* processing 20ms buffers as minimum buffer size. */
- GST_BASE_AUDIO_SINK (sink)->buffer_time = 400000;
- GST_BASE_AUDIO_SINK (sink)->latency_time = 20000;
+ GST_AUDIO_BASE_SINK (sink)->buffer_time = 400000;
+ GST_AUDIO_BASE_SINK (sink)->latency_time = 20000;
}
diff --git a/sys/opensles/openslessink.h b/sys/opensles/openslessink.h
index da9e6064..0a176024 100644
--- a/sys/opensles/openslessink.h
+++ b/sys/opensles/openslessink.h
@@ -21,7 +21,7 @@
#define __OPENSLESSINK_H__
#include <gst/gst.h>
-#include <gst/audio/gstbaseaudiosink.h>
+#include <gst/audio/gstaudiobasesink.h>
#include "openslesringbuffer.h"
G_BEGIN_DECLS
@@ -38,7 +38,7 @@ typedef struct _GstOpenSLESSinkClass GstOpenSLESSinkClass;
struct _GstOpenSLESSink
{
- GstBaseAudioSink sink;
+ GstAudioBaseSink sink;
gfloat volume;
gboolean mute;
@@ -46,7 +46,7 @@ struct _GstOpenSLESSink
struct _GstOpenSLESSinkClass
{
- GstBaseAudioSinkClass parent_class;
+ GstAudioBaseSinkClass parent_class;
};
GType gst_opensles_sink_get_type (void);
diff --git a/sys/opensles/openslessrc.c b/sys/opensles/openslessrc.c
index df697aba..748e4f0a 100644
--- a/sys/opensles/openslessrc.c
+++ b/sys/opensles/openslessrc.c
@@ -45,43 +45,24 @@ GST_DEBUG_CATEGORY_STATIC (opensles_src_debug);
static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw-int, "
- "endianness = (int) {" G_STRINGIFY (G_BYTE_ORDER) " }, "
- "signed = (boolean) { TRUE }, "
- "width = (int) 16, "
- "depth = (int) 16, "
- "rate = (int) 16000, "
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) " GST_AUDIO_NE (S16) ", "
+ "rate = (int) { 16000 }, "
"channels = (int) 1")
);
/* *INDENT-ON* */
-static void
-_do_init (GType type)
-{
- GST_DEBUG_CATEGORY_INIT (opensles_src_debug, "opensles_src", 0,
+#define _do_init \
+ GST_DEBUG_CATEGORY_INIT (opensles_src_debug, "opensles_src", 0, \
"OpenSL ES Src");
-}
+#define parent_class gst_opensles_src_parent_class
+G_DEFINE_TYPE_WITH_CODE (GstOpenSLESSrc, gst_opensles_src,
+ GST_TYPE_AUDIO_BASE_SRC, _do_init);
-GST_BOILERPLATE_FULL (GstOpenSLESSrc, gst_opensles_src, GstBaseAudioSrc,
- GST_TYPE_BASE_AUDIO_SRC, _do_init);
-
-static void
-gst_opensles_src_base_init (gpointer g_class)
+static GstAudioRingBuffer *
+gst_opensles_src_create_ringbuffer (GstAudioBaseSrc * base)
{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
- gst_element_class_add_static_pad_template (element_class, &src_factory);
-
- gst_element_class_set_details_simple (element_class, "OpenSL ES Src",
- "Src/Audio",
- "Input sound using the OpenSL ES APIs",
- "Josep Torra <support@fluendo.com>");
-}
-
-static GstRingBuffer *
-gst_opensles_src_create_ringbuffer (GstBaseAudioSrc * base)
-{
- GstRingBuffer *rb;
+ GstAudioRingBuffer *rb;
rb = gst_opensles_ringbuffer_new (RB_MODE_SRC);
@@ -91,21 +72,29 @@ gst_opensles_src_create_ringbuffer (GstBaseAudioSrc * base)
static void
gst_opensles_src_class_init (GstOpenSLESSrcClass * klass)
{
- GstBaseAudioSrcClass *gstbaseaudiosrc_class;
+ GstElementClass *gstelement_class;
+ GstAudioBaseSrcClass *gstaudiobasesrc_class;
- gstbaseaudiosrc_class = (GstBaseAudioSrcClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
+ gstaudiobasesrc_class = (GstAudioBaseSrcClass *) klass;
- parent_class = g_type_class_peek_parent (klass);
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&src_factory));
+
+ gst_element_class_set_static_metadata (gstelement_class, "OpenSL ES Src",
+ "Src/Audio",
+ "Input sound using the OpenSL ES APIs",
+ "Josep Torra <support@fluendo.com>");
- gstbaseaudiosrc_class->create_ringbuffer =
+ gstaudiobasesrc_class->create_ringbuffer =
GST_DEBUG_FUNCPTR (gst_opensles_src_create_ringbuffer);
}
static void
-gst_opensles_src_init (GstOpenSLESSrc * src, GstOpenSLESSrcClass * gclass)
+gst_opensles_src_init (GstOpenSLESSrc * src)
{
/* Override some default values to fit on the AudioFlinger behaviour of
* processing 20ms buffers as minimum buffer size. */
- GST_BASE_AUDIO_SRC (src)->buffer_time = 400000;
- GST_BASE_AUDIO_SRC (src)->latency_time = 20000;
+ GST_AUDIO_BASE_SRC (src)->buffer_time = 400000;
+ GST_AUDIO_BASE_SRC (src)->latency_time = 20000;
}
diff --git a/sys/opensles/openslessrc.h b/sys/opensles/openslessrc.h
index 9f57c933..ed75a3ed 100644
--- a/sys/opensles/openslessrc.h
+++ b/sys/opensles/openslessrc.h
@@ -21,7 +21,7 @@
#define __OPENSLESSRC_H__
#include <gst/gst.h>
-#include <gst/audio/gstbaseaudiosrc.h>
+#include <gst/audio/gstaudiobasesrc.h>
#include "openslesringbuffer.h"
G_BEGIN_DECLS
@@ -38,12 +38,12 @@ typedef struct _GstOpenSLESSrcClass GstOpenSLESSrcClass;
struct _GstOpenSLESSrc
{
- GstBaseAudioSrc src;
+ GstAudioBaseSrc src;
};
struct _GstOpenSLESSrcClass
{
- GstBaseAudioSrcClass parent_class;
+ GstAudioBaseSrcClass parent_class;
};
GType gst_opensles_src_get_type (void);
diff --git a/sys/osxvideo/Makefile.in b/sys/osxvideo/Makefile.in
index 9c93c2c7..223a9433 100644
--- a/sys/osxvideo/Makefile.in
+++ b/sys/osxvideo/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/pvr2d/Makefile.in b/sys/pvr2d/Makefile.in
index 28811bd8..89cf5480 100644
--- a/sys/pvr2d/Makefile.in
+++ b/sys/pvr2d/Makefile.in
@@ -256,6 +256,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -289,6 +291,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/qtwrapper/Makefile.in b/sys/qtwrapper/Makefile.in
index 7518b7b3..07559e9e 100644
--- a/sys/qtwrapper/Makefile.in
+++ b/sys/qtwrapper/Makefile.in
@@ -257,6 +257,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -290,6 +292,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/shm/Makefile.in b/sys/shm/Makefile.in
index 1e899237..5dab72c1 100644
--- a/sys/shm/Makefile.in
+++ b/sys/shm/Makefile.in
@@ -254,6 +254,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -287,6 +289,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/uvch264/Makefile.in b/sys/uvch264/Makefile.in
index b6e9659f..a122a146 100644
--- a/sys/uvch264/Makefile.in
+++ b/sys/uvch264/Makefile.in
@@ -258,6 +258,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -291,6 +293,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/vcd/Makefile.in b/sys/vcd/Makefile.in
index 24825eda..d463b9b0 100644
--- a/sys/vcd/Makefile.in
+++ b/sys/vcd/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/vdpau/Makefile.in b/sys/vdpau/Makefile.in
index c9523eeb..02bf0765 100644
--- a/sys/vdpau/Makefile.in
+++ b/sys/vdpau/Makefile.in
@@ -300,6 +300,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -333,6 +335,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/vdpau/basevideodecoder/Makefile.in b/sys/vdpau/basevideodecoder/Makefile.in
index 7027ee57..0b42058f 100644
--- a/sys/vdpau/basevideodecoder/Makefile.in
+++ b/sys/vdpau/basevideodecoder/Makefile.in
@@ -227,6 +227,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -260,6 +262,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/vdpau/gstvdp/Makefile.in b/sys/vdpau/gstvdp/Makefile.in
index 181f6377..d3acc09b 100644
--- a/sys/vdpau/gstvdp/Makefile.in
+++ b/sys/vdpau/gstvdp/Makefile.in
@@ -268,6 +268,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -301,6 +303,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/wasapi/Makefile.in b/sys/wasapi/Makefile.in
index f09be096..6904b07c 100644
--- a/sys/wasapi/Makefile.in
+++ b/sys/wasapi/Makefile.in
@@ -185,6 +185,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -218,6 +220,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/wininet/Makefile.in b/sys/wininet/Makefile.in
index a57f0f22..24936e74 100644
--- a/sys/wininet/Makefile.in
+++ b/sys/wininet/Makefile.in
@@ -252,6 +252,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -285,6 +287,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/winks/Makefile.in b/sys/winks/Makefile.in
index b5d9f1d0..8e209b27 100644
--- a/sys/winks/Makefile.in
+++ b/sys/winks/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/sys/winscreencap/Makefile.in b/sys/winscreencap/Makefile.in
index 92a183e4..9d06fe75 100644
--- a/sys/winscreencap/Makefile.in
+++ b/sys/winscreencap/Makefile.in
@@ -255,6 +255,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -288,6 +290,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/Makefile.in b/tests/Makefile.in
index d3662a89..cef29b26 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -224,6 +224,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -257,6 +259,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index b3119673..3f5e6162 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -613,6 +613,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -646,6 +648,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/check/orc/bayer.c b/tests/check/orc/bayer.c
index 77058263..0b128287 100644
--- a/tests/check/orc/bayer.c
+++ b/tests/check/orc/bayer.c
@@ -61,6 +61,19 @@ typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16
#define ORC_RESTRICT
#endif
#endif
+
+#ifndef ORC_INTERNAL
+#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+#define ORC_INTERNAL __hidden
+#elif defined (__GNUC__)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#else
+#define ORC_INTERNAL
+#endif
+#endif
+
#include <orc/orc.h>
#include <orc-test/orctest.h>
diff --git a/tests/check/orc/cog.c b/tests/check/orc/cog.c
index 89b3fedd..18b65ca7 100644
--- a/tests/check/orc/cog.c
+++ b/tests/check/orc/cog.c
@@ -61,6 +61,19 @@ typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16
#define ORC_RESTRICT
#endif
#endif
+
+#ifndef ORC_INTERNAL
+#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
+#define ORC_INTERNAL __hidden
+#elif defined (__GNUC__)
+#define ORC_INTERNAL __attribute__((visibility("hidden")))
+#else
+#define ORC_INTERNAL
+#endif
+#endif
+
#include <orc/orc.h>
#include <orc-test/orctest.h>
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index e1c681a9..91c6fca9 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -230,6 +230,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -263,6 +265,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/examples/camerabin2/Makefile.in b/tests/examples/camerabin2/Makefile.in
index f11a24fe..2de0fcdd 100644
--- a/tests/examples/camerabin2/Makefile.in
+++ b/tests/examples/camerabin2/Makefile.in
@@ -239,6 +239,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -272,6 +274,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/examples/directfb/Makefile.in b/tests/examples/directfb/Makefile.in
index d63189bd..725b44de 100644
--- a/tests/examples/directfb/Makefile.in
+++ b/tests/examples/directfb/Makefile.in
@@ -219,6 +219,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -252,6 +254,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/examples/mxf/Makefile.in b/tests/examples/mxf/Makefile.in
index 0fe5a758..72343566 100644
--- a/tests/examples/mxf/Makefile.in
+++ b/tests/examples/mxf/Makefile.in
@@ -224,6 +224,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -257,6 +259,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/examples/opencv/Makefile.in b/tests/examples/opencv/Makefile.in
index aa7e1250..f5bf3267 100644
--- a/tests/examples/opencv/Makefile.in
+++ b/tests/examples/opencv/Makefile.in
@@ -225,6 +225,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -258,6 +260,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/examples/scaletempo/Makefile.in b/tests/examples/scaletempo/Makefile.in
index 7876d0f0..a1949d02 100644
--- a/tests/examples/scaletempo/Makefile.in
+++ b/tests/examples/scaletempo/Makefile.in
@@ -225,6 +225,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
# FIXME 0.11: ignore GValueArray warnings for now until this is sorted
@@ -260,6 +262,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/examples/uvch264/Makefile.in b/tests/examples/uvch264/Makefile.in
index 9e185c61..ec91e879 100644
--- a/tests/examples/uvch264/Makefile.in
+++ b/tests/examples/uvch264/Makefile.in
@@ -227,6 +227,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -260,6 +262,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index edec65d1..01c19f70 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -185,6 +185,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -218,6 +220,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index 2d5458f1..41fc09a7 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -224,6 +224,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -257,6 +259,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 5b57cc46..70367903 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -185,6 +185,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
@@ -218,6 +220,8 @@ GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
diff --git a/tools/element-templates/basetransform b/tools/element-templates/basetransform
index e5fd24cf..51633e56 100644
--- a/tools/element-templates/basetransform
+++ b/tools/element-templates/basetransform
@@ -6,95 +6,152 @@ GST_TYPE_BASE_TRANSFORM
% pads
sinkpad-simple srcpad-simple
% pkg-config
-gstreamer-base-0.10
+gstreamer-base-1.0
% pads
sinkpad-simple srcpad-simple
% includes
#include <gst/base/gstbasetransform.h>
% prototypes
-static GstCaps *gst_replace_transform_caps (GstBaseTransform * trans,
- GstPadDirection direction, GstCaps * caps);
-static void
+static GstCaps *gst_replace_transform_caps (GstBaseTransform *trans,
+ GstPadDirection direction, GstCaps *caps, GstCaps *filter);
+static GstCaps *
gst_replace_fixate_caps (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
-static gboolean
-gst_replace_transform_size (GstBaseTransform * trans,
+static gboolean gst_replace_accept_caps (GstBaseTransform *trans,
+ GstPadDirection direction, GstCaps *caps);
+static gboolean gst_replace_set_caps (GstBaseTransform *trans, GstCaps *incaps,
+ GstCaps *outcaps);
+static gboolean gst_replace_query (GstBaseTransform *trans, GstPadDirection direction,
+ GstQuery *query);
+static gboolean gst_replace_decide_allocation (GstBaseTransform *trans,
+ GstQuery *query);
+static gboolean gst_replace_filter_meta (GstBaseTransform *trans, GstQuery *query,
+ GType api, const GstStructure *params);
+static gboolean gst_replace_propose_allocation (GstBaseTransform *trans,
+ GstQuery *decide_query, GstQuery *query);
+static gboolean gst_replace_transform_size (GstBaseTransform * trans,
GstPadDirection direction,
- GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize);
-static gboolean
-gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
- guint * size);
-static gboolean
-gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
- GstCaps * outcaps);
+ GstCaps * caps, gsize size, GstCaps * othercaps, gsize * othersize);
+static gboolean gst_replace_get_unit_size (GstBaseTransform * trans,
+ GstCaps * caps, gsize * size);
static gboolean gst_replace_start (GstBaseTransform * trans);
static gboolean gst_replace_stop (GstBaseTransform * trans);
-static gboolean gst_replace_event (GstBaseTransform * trans, GstEvent * event);
+static gboolean gst_replace_sink_event (GstBaseTransform * trans,
+ GstEvent * event);
+static gboolean gst_replace_src_event (GstBaseTransform * trans,
+ GstEvent * event);
+static GstFlowReturn gst_replace_prepare_output_buffer (
+ GstBaseTransform * trans, GstBuffer *input, GstBuffer **outbuf);
+static gboolean gst_replace_copy_metadata (GstBaseTransform *trans,
+ GstBuffer *input, GstBuffer *outbuf);
+static gboolean gst_replace_transform_meta (GstBaseTransform *trans,
+ GstBuffer *outbuf, GstMeta *meta, GstBuffer *inbuf);
+static void
+gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer);
static GstFlowReturn
gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
GstBuffer * outbuf);
static GstFlowReturn
gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf);
-static GstFlowReturn
-gst_replace_prepare_output_buffer (GstBaseTransform * trans,
- GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf);
-static gboolean
-gst_replace_src_event (GstBaseTransform * trans, GstEvent * event);
-static void
-gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer);
% declare-class
GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
% set-methods
base_transform_class->transform_caps = GST_DEBUG_FUNCPTR (gst_replace_transform_caps);
base_transform_class->fixate_caps = GST_DEBUG_FUNCPTR (gst_replace_fixate_caps);
+ base_transform_class->accept_caps = GST_DEBUG_FUNCPTR (gst_replace_accept_caps);
+ base_transform_class->set_caps = GST_DEBUG_FUNCPTR (gst_replace_set_caps);
+ base_transform_class->query = GST_DEBUG_FUNCPTR (gst_replace_query);
+ base_transform_class->decide_allocation = GST_DEBUG_FUNCPTR (gst_replace_decide_allocation);
+ base_transform_class->filter_meta = GST_DEBUG_FUNCPTR (gst_replace_filter_meta);
+ base_transform_class->propose_allocation = GST_DEBUG_FUNCPTR (gst_replace_propose_allocation);
base_transform_class->transform_size = GST_DEBUG_FUNCPTR (gst_replace_transform_size);
base_transform_class->get_unit_size = GST_DEBUG_FUNCPTR (gst_replace_get_unit_size);
- base_transform_class->set_caps = GST_DEBUG_FUNCPTR (gst_replace_set_caps);
base_transform_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
- base_transform_class->event = GST_DEBUG_FUNCPTR (gst_replace_event);
- base_transform_class->transform = GST_DEBUG_FUNCPTR (gst_replace_transform);
- base_transform_class->transform_ip = GST_DEBUG_FUNCPTR (gst_replace_transform_ip);
- base_transform_class->prepare_output_buffer = GST_DEBUG_FUNCPTR (gst_replace_prepare_output_buffer);
+ base_transform_class->sink_event = GST_DEBUG_FUNCPTR (gst_replace_sink_event);
base_transform_class->src_event = GST_DEBUG_FUNCPTR (gst_replace_src_event);
+ base_transform_class->prepare_output_buffer = GST_DEBUG_FUNCPTR (gst_replace_prepare_output_buffer);
+ base_transform_class->copy_metadata = GST_DEBUG_FUNCPTR (gst_replace_copy_metadata);
+ base_transform_class->transform_meta = GST_DEBUG_FUNCPTR (gst_replace_transform_meta);
base_transform_class->before_transform = GST_DEBUG_FUNCPTR (gst_replace_before_transform);
+ base_transform_class->transform = GST_DEBUG_FUNCPTR (gst_replace_transform);
+ base_transform_class->transform_ip = GST_DEBUG_FUNCPTR (gst_replace_transform_ip);
% methods
static GstCaps *
-gst_replace_transform_caps (GstBaseTransform * trans,
- GstPadDirection direction, GstCaps * caps)
+gst_replace_transform_caps (GstBaseTransform *trans,
+ GstPadDirection direction, GstCaps *caps, GstCaps *filter)
{
return NULL;
}
-static void
+static GstCaps *
gst_replace_fixate_caps (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps)
{
+ return NULL;
}
static gboolean
-gst_replace_transform_size (GstBaseTransform * trans,
- GstPadDirection direction,
- GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize)
+gst_replace_accept_caps (GstBaseTransform *trans,
+ GstPadDirection direction, GstCaps *caps)
+{
+ return TRUE;
+}
+
+static gboolean
+gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
+ GstCaps * outcaps)
{
return FALSE;
}
static gboolean
-gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
- guint * size)
+gst_replace_query (GstBaseTransform *trans, GstPadDirection direction,
+ GstQuery *query)
+{
+
+ return TRUE;
+}
+
+static gboolean
+gst_replace_decide_allocation (GstBaseTransform *trans, GstQuery *query)
+{
+
+ return TRUE;
+}
+
+static gboolean
+gst_replace_filter_meta (GstBaseTransform *trans, GstQuery *query,
+ GType api, const GstStructure *params)
+{
+
+ return TRUE;
+}
+
+static gboolean
+gst_replace_propose_allocation (GstBaseTransform *trans,
+ GstQuery *decide_query, GstQuery *query)
+{
+
+ return TRUE;
+}
+
+static gboolean
+gst_replace_transform_size (GstBaseTransform * trans,
+ GstPadDirection direction,
+ GstCaps * caps, gsize size, GstCaps * othercaps, gsize * othersize)
{
return FALSE;
}
static gboolean
-gst_replace_set_caps (GstBaseTransform * trans, GstCaps * incaps,
- GstCaps * outcaps)
+gst_replace_get_unit_size (GstBaseTransform * trans, GstCaps * caps,
+ gsize * size)
{
return FALSE;
@@ -115,40 +172,41 @@ gst_replace_stop (GstBaseTransform * trans)
}
static gboolean
-gst_replace_event (GstBaseTransform * trans, GstEvent * event)
+gst_replace_sink_event (GstBaseTransform * trans, GstEvent * event)
{
return FALSE;
}
-static GstFlowReturn
-gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
- GstBuffer * outbuf)
+static gboolean
+gst_replace_src_event (GstBaseTransform * trans, GstEvent * event)
{
- return GST_FLOW_ERROR;
+ return FALSE;
}
static GstFlowReturn
-gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
+gst_replace_prepare_output_buffer (GstBaseTransform * trans,
+ GstBuffer * input, GstBuffer ** buf)
{
return GST_FLOW_ERROR;
}
-static GstFlowReturn
-gst_replace_prepare_output_buffer (GstBaseTransform * trans,
- GstBuffer * input, gint size, GstCaps * caps, GstBuffer ** buf)
+static gboolean
+gst_replace_copy_metadata (GstBaseTransform *trans,
+ GstBuffer *input, GstBuffer *outbuf)
{
- return GST_FLOW_ERROR;
+ return TRUE;
}
static gboolean
-gst_replace_src_event (GstBaseTransform * trans, GstEvent * event)
+gst_replace_transform_meta (GstBaseTransform *trans,
+ GstBuffer *outbuf, GstMeta *meta, GstBuffer *inbuf)
{
- return FALSE;
+ return TRUE;
}
static void
@@ -156,4 +214,20 @@ gst_replace_before_transform (GstBaseTransform * trans, GstBuffer * buffer)
{
}
+
+static GstFlowReturn
+gst_replace_transform (GstBaseTransform * trans, GstBuffer * inbuf,
+ GstBuffer * outbuf)
+{
+
+ return GST_FLOW_ERROR;
+}
+
+static GstFlowReturn
+gst_replace_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
+{
+
+ return GST_FLOW_ERROR;
+}
+
% end
diff --git a/tools/element-templates/gobject b/tools/element-templates/gobject
index 85d7d371..1522aa47 100644
--- a/tools/element-templates/gobject
+++ b/tools/element-templates/gobject
@@ -55,7 +55,7 @@ gst_replace_dispose (GObject * object)
/* clean up as possible. may be called multiple times */
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (gst_replace_parent_class)->dispose (object);
}
void
@@ -65,7 +65,7 @@ gst_replace_finalize (GObject * object)
/* clean up object here */
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (gst_replace_parent_class)->finalize (object);
}
% end
diff --git a/tools/element-templates/sinkpad-simple b/tools/element-templates/sinkpad-simple
index e8538b6e..e6cd684b 100644
--- a/tools/element-templates/sinkpad-simple
+++ b/tools/element-templates/sinkpad-simple
@@ -12,7 +12,7 @@ GST_STATIC_PAD_TEMPLATE ("sink",
);
% base-init
- gst_element_class_add_pad_template (element_class,
+ gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
gst_static_pad_template_get (&gst_replace_sink_template));
% instance-init
diff --git a/tools/element-templates/srcpad-simple b/tools/element-templates/srcpad-simple
index 0fca9157..732dc5da 100644
--- a/tools/element-templates/srcpad-simple
+++ b/tools/element-templates/srcpad-simple
@@ -12,7 +12,7 @@ GST_STATIC_PAD_TEMPLATE ("src",
);
% base-init
- gst_element_class_add_pad_template (element_class,
+ gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
gst_static_pad_template_get (&gst_replace_src_template));
% instance-init
diff --git a/tools/gst-element-maker b/tools/gst-element-maker
index a28c4da7..4854de0f 100755
--- a/tools/gst-element-maker
+++ b/tools/gst-element-maker
@@ -168,39 +168,33 @@ cat <<EOF
/* class initialization */
-#define DEBUG_INIT(bla) \\
- GST_DEBUG_CATEGORY_INIT (gst_replace_debug_category, "replace", 0, \\
- "debug category for replace element");
-
-GST_BOILERPLATE_FULL (GstReplace, gst_replace, GstBaseReplace,
- GST_TYPE_BASE_REPLACE, DEBUG_INIT);
+G_DEFINE_TYPE_WITH_CODE (GstReplace, gst_replace, GST_TYPE_BASE_REPLACE,
+ GST_DEBUG_CATEGORY_INIT (gst_replace_debug_category, "replace", 0,
+ "debug category for replace element"));
static void
-gst_replace_base_init (gpointer g_class)
+gst_replace_class_init (GstReplaceClass * klass)
{
- GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
EOF
+grep -A 10000 '^% declare-class' $templatedir/gobject | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
+grep -A 10000 '^% declare-class' $templatedir/$class | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
+
+cat <<EOF
+ /* Setting up pads and setting metadata should be moved to
+ base_class_init if you intend to subclass this class. */
+EOF
for each in $pads
do
grep -A 10000 '^% base-init' $templatedir/$each | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
done
-
cat <<EOF
- gst_element_class_set_static_metadata (element_class, "FIXME Long name",
- "Generic", "FIXME Description", "$REAL_NAME <$EMAIL_ADDRESS>");
-}
+ gst_element_class_set_static_metadata (GST_ELEMENT_CLASS(klass),
+ "FIXME Long name", "Generic", "FIXME Description",
+ "$REAL_NAME <$EMAIL_ADDRESS>");
-static void
-gst_replace_class_init (GstReplaceClass * klass)
-{
EOF
-grep -A 10000 '^% declare-class' $templatedir/gobject | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
-grep -A 10000 '^% declare-class' $templatedir/$class | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
-
-echo
grep -A 10000 '^% set-methods' $templatedir/gobject | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
grep -A 10000 '^% set-methods' $templatedir/$class | tail -n +2|grep -m 1 -B 10000 '^%'|head -n -1
@@ -210,7 +204,7 @@ cat <<EOF
}
static void
-gst_replace_init (GstReplace * replace, GstReplaceClass * replace_class)
+gst_replace_init (GstReplace *replace)
{
EOF
@@ -377,12 +371,12 @@ gst-indent $gstreplace.c
echo pkg is $pkg
-gcc -Wall -fPIC $CPPFLAGS $(pkg-config --cflags gstreamer-0.10 $pkg) -c -o $gstreplace.o $gstreplace.c
+gcc -Wall -fPIC $CPPFLAGS $(pkg-config --cflags gstreamer-1.0 $pkg) -c -o $gstreplace.o $gstreplace.c
if test $? -ne 0; then
exit 1
fi
-gcc -shared -o $gstreplace.so $gstreplace.o $(pkg-config --libs gstreamer-0.10 $pkg)
+gcc -shared -o $gstreplace.so $gstreplace.o $(pkg-config --libs gstreamer-1.0 $pkg)
if test $? -ne 0; then
exit 1
fi
diff --git a/win32/common/config.h b/win32/common/config.h
index c61086ec..93ce6d7e 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -199,7 +199,7 @@
#undef USE_POISONING
/* Version number of package */
-#define VERSION "1.0.5"
+#define VERSION "1.0.6"
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */