diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-03-22 18:20:09 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-03-22 18:20:09 +0100 |
commit | 897da27eab085cacf20a2ce07a909e436d9e273c (patch) | |
tree | 7199b63c00bd12243fddf2703d7b939eaf0b3e55 | |
parent | dff3649d52e5a935abffcf9baa4052219c802ee7 (diff) |
Imported Upstream version 1.0.6upstream/1.0.6
529 files changed, 6751 insertions, 3906 deletions
@@ -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@ @@ -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: @@ -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 @@ -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 <rbultje@ronald.bitfreak.net></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 <mnauw@users.sourceforge.net></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 "embeddedfonts" property" link="gst-plugins-bad-plugins-assrender.html#GstAssRender--embeddedfonts"/> <keyword type="property" name="The "enable" 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 "factories" property" link="gst-plugins-bad-plugins-autoconvert.html#GstAutoConvert--factories"/> <keyword type="property" name="The "initial-identity" 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 "zoom" 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 "silent" property" link="gst-plugins-bad-plugins-burn.html#GstBurn--silent"/> <keyword type="property" name="The "adjustment" 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 "bitrate" property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--bitrate"/> <keyword type="property" name="The "framesize" property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--framesize"/> @@ -168,84 +168,84 @@ <keyword type="property" name="The "max-bitrate" property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--max-bitrate"/> <keyword type="property" name="The "prediction" property" link="gst-plugins-bad-plugins-celtenc.html#GstCeltEnc--prediction"/> <keyword type="property" name="The "start-band" 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 "silent" property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--silent"/> <keyword type="property" name="The "edge-a" property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--edge-a"/> <keyword type="property" name="The "edge-b" 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 "angle" property" link="gst-plugins-bad-plugins-circle.html#GstCircle--angle"/> <keyword type="property" name="The "height" property" link="gst-plugins-bad-plugins-circle.html#GstCircle--height"/> <keyword type="property" name="The "spread-angle" 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 "preset" 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 "aperture-size" 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 "param1" property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param1"/> <keyword type="property" name="The "param2" property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param2"/> <keyword type="property" name="The "param3" property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param3"/> <keyword type="property" name="The "param4" property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param4"/> <keyword type="property" name="The "type" 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 "aperture-size" property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--aperture-size"/> <keyword type="property" name="The "x-order" property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--x-order"/> <keyword type="property" name="The "y-order" 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 "uri" 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 "scale" 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 "silent" property" link="gst-plugins-bad-plugins-dilate.html#GstDilate--silent"/> <keyword type="property" name="The "erode" 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 "silent" 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 "interval" 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 "drc" 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 "bandwidth" property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--bandwidth"/> <keyword type="property" name="The "code-rate-hp" property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--code-rate-hp"/> @@ -271,23 +271,23 @@ <keyword type="property" name="The "stats-reporting-interval" property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--stats-reporting-interval"/> <keyword type="property" name="The "timeout" property" link="gst-plugins-bad-plugins-dvbsrc.html#GstDvbSrc--timeout"/> <keyword type="property" name="The "dvb-buffer-size" 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 "silent" property" link="gst-plugins-bad-plugins-exclusion.html#GstExclusion--silent"/> <keyword type="property" name="The "factor" 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 "bitrate" property" link="gst-plugins-bad-plugins-faac.html#GstFaac--bitrate"/> <keyword type="property" name="The "midside" property" link="gst-plugins-bad-plugins-faac.html#GstFaac--midside"/> @@ -297,23 +297,23 @@ <keyword type="property" name="The "tns" property" link="gst-plugins-bad-plugins-faac.html#GstFaac--tns"/> <keyword type="property" name="The "quality" property" link="gst-plugins-bad-plugins-faac.html#GstFaac--quality"/> <keyword type="property" name="The "rate-control" 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 "sync" property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--sync"/> <keyword type="property" name="The "text-overlay" property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--text-overlay"/> @@ -327,12 +327,12 @@ <keyword type="property" name="The "last-message" property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--last-message"/> <keyword type="property" name="The "silent" property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--silent"/> <keyword type="signal" name="The "fps-measurements" 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 "angle" property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--angle"/> <keyword type="property" name="The "angle2" property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--angle2"/> <keyword type="property" name="The "sides" 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 "latency" 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 "amount" property" link="gst-plugins-bad-plugins-marble.html#GstMarble--amount"/> <keyword type="property" name="The "turbulence" property" link="gst-plugins-bad-plugins-marble.html#GstMarble--turbulence"/> <keyword type="property" name="The "x-scale" property" link="gst-plugins-bad-plugins-marble.html#GstMarble--x-scale"/> <keyword type="property" name="The "y-scale" 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 "paused-mode" 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 "mode" 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 "megabass" property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--megabass"/> <keyword type="property" name="The "megabass-amount" property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--megabass-amount"/> @@ -384,8 +384,8 @@ <keyword type="property" name="The "surround" property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround"/> <keyword type="property" name="The "surround-delay" property" link="gst-plugins-bad-plugins-modplug.html#GstModPlug--surround-delay"/> <keyword type="property" name="The "surround-depth" 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 "altscan-mpeg2" property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--altscan-mpeg2"/> <keyword type="property" name="The "aspect" property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--aspect"/> @@ -421,8 +421,8 @@ <keyword type="property" name="The "sequence-length" property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--sequence-length"/> <keyword type="property" name="The "unit-coeff-elim" property" link="gst-plugins-bad-plugins-mpeg2enc.html#GstMpeg2enc--unit-coeff-elim"/> <keyword type="property" name="The "vcd-still-size" 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 "bufsize" property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--bufsize"/> <keyword type="property" name="The "format" property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--format"/> @@ -431,12 +431,12 @@ <keyword type="property" name="The "sector-size" property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--sector-size"/> <keyword type="property" name="The "system-headers" property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--system-headers"/> <keyword type="property" name="The "vbr" 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 "dst-ip" property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-ip"/> <keyword type="property" name="The "dst-port" property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-port"/> @@ -444,31 +444,31 @@ <keyword type="property" name="The "src-port" property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--src-port"/> <keyword type="property" name="The "caps" property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--caps"/> <keyword type="property" name="The "ts-offset" 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 "intensity" 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 "location" 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 "location" 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 "seqnum" property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum"/> <keyword type="property" name="The "seqnum-offset" property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum-offset"/> <keyword type="property" name="The "ssrc" property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--ssrc"/> <keyword type="property" name="The "timestamp-offset" 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 "clock-rate" property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--clock-rate"/> <keyword type="property" name="The "interval" property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--interval"/> @@ -479,29 +479,29 @@ <keyword type="property" name="The "ssrc" property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--ssrc"/> <keyword type="property" name="The "timestamp" property" link="gst-plugins-bad-plugins-rtpdtmfsrc.html#GstRTPDTMFSrc--timestamp"/> <keyword type="property" name="The "timestamp-offset" 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 "locking" signal" link="gst-plugins-bad-plugins-rtpdtmfmux.html#GstRTPDTMFMux-locking"/> <keyword type="signal" name="The "unlocked" 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 "seqnum" property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum"/> <keyword type="property" name="The "seqnum-offset" property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--seqnum-offset"/> <keyword type="property" name="The "ssrc" property" link="gst-plugins-bad-plugins-rtpmux.html#GstRTPMux--ssrc"/> <keyword type="property" name="The "timestamp-offset" 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 "overlap" property" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo--overlap"/> <keyword type="property" name="The "rate" property" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo--rate"/> <keyword type="property" name="The "search" property" link="gst-plugins-bad-plugins-scaletempo.html#GstScaletempo--search"/> <keyword type="property" name="The "stride" 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 "perms" property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--perms"/> <keyword type="property" name="The "shm-size" property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--shm-size"/> @@ -510,68 +510,68 @@ <keyword type="property" name="The "buffer-time" property" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink--buffer-time"/> <keyword type="signal" name="The "client-connected" signal" link="gst-plugins-bad-plugins-shmsink.html#GstShmSink-client-connected"/> <keyword type="signal" name="The "client-disconnected" 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 "is-live" property" link="gst-plugins-bad-plugins-shmsrc.html#GstShmSrc--is-live"/> <keyword type="property" name="The "socket-path" 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 "debug" property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--debug"/> <keyword type="property" name="The "latency" property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--latency"/> <keyword type="property" name="The "timeout" property" link="gst-plugins-bad-plugins-sdpdemux.html#GstSDPDemux--timeout"/> <keyword type="property" name="The "redirect" 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 "silent" property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--silent"/> <keyword type="property" name="The "end" property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--end"/> <keyword type="property" name="The "start" property" link="gst-plugins-bad-plugins-solarize.html#GstSolarize--start"/> <keyword type="property" name="The "threshold" 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 "style" 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 "speed" 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 "refraction" 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 "height" property" link="gst-plugins-bad-plugins-square.html#GstSquare--height"/> <keyword type="property" name="The "width" property" link="gst-plugins-bad-plugins-square.html#GstSquare--width"/> <keyword type="property" name="The "zoom" 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 "intensity" 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 "display" property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--display"/> <keyword type="property" name="The "method" property" link="gst-plugins-bad-plugins-templatematch.html#GstTemplateMatch--method"/> <keyword type="property" name="The "template" 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 "colorB" property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--colorB"/> @@ -583,15 +583,15 @@ <keyword type="property" name="The "width" property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--width"/> <keyword type="property" name="The "xpos" property" link="gst-plugins-bad-plugins-opencvtextoverlay.html#GstOpencvTextOverlay--xpos"/> <keyword type="property" name="The "ypos" 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 "angle" 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 "alpha-mask" property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--alpha-mask"/> <keyword type="property" name="The "blue-mask" property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--blue-mask"/> @@ -607,26 +607,26 @@ <keyword type="property" name="The "width" property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--width"/> <keyword type="property" name="The "interlaced" property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--interlaced"/> <keyword type="property" name="The "top-field-first" 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 "amplitude" property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--amplitude"/> <keyword type="property" name="The "phase" property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--phase"/> <keyword type="property" name="The "wavelength" 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 "message" property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--message"/> <keyword type="property" name="The "cache" 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 "bitrate" 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 "style" 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 <ds@entropywave.com></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 & 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@ Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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 Binary files differindex 1ca9f1cb..220e0066 100644 --- a/po/en_GB.gmo +++ b/po/en_GB.gmo 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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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 Binary files differindex b0e667d8..7ee6bc4f 100644 --- a/po/pt_BR.gmo +++ b/po/pt_BR.gmo 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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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" Binary files differ@@ -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 Binary files differindex 8d021145..a9deda0c 100644 --- a/po/zh_CN.gmo +++ b/po/zh_CN.gmo 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). */ |