New upstream version 1.9.90
diff --git a/ChangeLog b/ChangeLog
index 24b8103..081a7ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,832 @@
-=== release 1.9.2 ===
+=== release 1.9.90 ===
-2016-09-01 Sebastian Dröge <slomo@coaxion.net>
+2016-09-30 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
- releasing 1.9.2
+ releasing 1.9.90
+
+2016-09-30 11:44:47 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/ky.po:
+ * po/sv.po:
+ po: Update translations
+
+2016-09-29 21:42:24 +0530 Arun Raghavan <arun@osg.samsung.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Actually use buffer pool config after setting it up
+ CID: 1373420
+
+2016-09-29 13:36:11 +0300 Sergey Mamonov <samamonov@gmail.com>
+
+ * ext/lv2/gstlv2filter.c:
+ fix for https://bugzilla.gnome.org/show_bug.cgi?id=771871
+
+2016-09-29 21:45:50 +0530 Arun Raghavan <arun@osg.samsung.com>
+
+ * sys/bluez/gsta2dpsink.c:
+ a2dpsink: Drop some dead-code
+ Left over from the last cleanup.
+ CID: 1373418
+
+2016-09-29 14:32:15 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ fdkaacenc: fix accessing freed memory
+ The buffer data is not always copied in _Fill, and will be
+ read in _DecodeFrame. We unmap at the end of the function,
+ whether we get there via failure or early out, and keep a
+ ref to the buffer to ensure we can use it to unmap the
+ memory even after _finish_frame is called, as it unrefs
+ the buffer.
+ Note that there is an access beyond the allocated buffer,
+ which is only apparent when playing from souphttpsrc (ie,
+ not from filesrc). This appears to be a bug in the bit
+ reading code in libfdkaac AFAICT.
+ https://bugzilla.gnome.org/show_bug.cgi?id=772186
+
+2016-09-29 14:31:37 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ * ext/fdkaac/gstfdkaacdec.h:
+ fdkaacdec: avoid memory corruption on decoding error
+ The buffer size is expected to be in multiples of the sample size,
+ not in bytes.
+ https://bugzilla.gnome.org/show_bug.cgi?id=772186
+
+2016-09-29 14:29:46 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ fdkaacenc: fix buffer leak
+ https://bugzilla.gnome.org/show_bug.cgi?id=772186
+
+2016-09-28 09:44:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: set framed=true on src caps
+ This fixes muxing in MPEG TS.
+ https://bugzilla.gnome.org/show_bug.cgi?id=772108
+
+2016-05-05 15:53:57 +0900 Gwang Yoon Hwang <yoon@igalia.com>
+
+ * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+ * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+ gl/dispmanx: Implements set_render_rectangle to adjust the position of window
+ We cannot set the x, y coordinate of the video frame at the dispmanx at
+ this point. We need to teach dispmanx backend to understand about
+ set_render_rectangle API to draw a video with other UI.
+ This patch keeps the current behavior which places video frame at the
+ center of the display if there is no set_render_rectangle call to the
+ dispmanx window.
+ https://bugzilla.gnome.org/show_bug.cgi?id=766018
+
+2016-09-28 15:20:25 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasefilter.h:
+ * gst-libs/gst/gl/gstglbasememory.h:
+ * gst-libs/gst/gl/gstglbuffer.h:
+ * gst-libs/gst/gl/gstglbufferpool.h:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglcontext.h:
+ * gst-libs/gst/gl/gstgldebug.h:
+ * gst-libs/gst/gl/gstgldisplay.h:
+ * gst-libs/gst/gl/gstglfeature.h:
+ * gst-libs/gst/gl/gstglfilter.h:
+ * gst-libs/gst/gl/gstglframebuffer.h:
+ * gst-libs/gst/gl/gstglmemory.h:
+ * gst-libs/gst/gl/gstglmemorypbo.h:
+ * gst-libs/gst/gl/gstgloverlaycompositor.h:
+ * gst-libs/gst/gl/gstglquery.h:
+ * gst-libs/gst/gl/gstglrenderbuffer.h:
+ * gst-libs/gst/gl/gstglshader.h:
+ * gst-libs/gst/gl/gstglslstage.h:
+ * gst-libs/gst/gl/gstglupload.h:
+ * gst-libs/gst/gl/gstglviewconvert.h:
+ gl: add necessary padding bytes to all public structs
+
+2016-09-27 16:17:00 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaacenc: set transmux on the fdkaac lib
+ Not doing so will fail to decode in a simple fdkaacenc ! fdkaacdec
+ pipeline, though would work if this goes through a file.
+ https://bugzilla.gnome.org/show_bug.cgi?id=772067
+
+2016-09-27 16:15:44 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ fdkaacdec: do not error out of out of sync return
+ The docs say we should continue feeding in data and decoding
+ https://bugzilla.gnome.org/show_bug.cgi?id=772067
+
+2016-09-27 09:08:51 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/fdkaac/gstfdkaacenc.c:
+ fdkaac: fix error with AOT_MP2_AAC_LC removed from libfdkaac API
+ AOT_MP2_AAC_LC is a "pseudo AOT" which got removed after 0.1.4,
+ and maps to AOT_AAC_LC.
+ Remove mpegversion 2 from th caps to match.
+ https://bugzilla.gnome.org/show_bug.cgi?id=772067
+
+2016-09-26 16:30:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/bluez/meson.build:
+ meson: bluez: fix build
+
+2016-09-26 16:38:04 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/linux/DeckLinkAPI.h:
+ * sys/decklink/linux/DeckLinkAPIConfiguration.h:
+ * sys/decklink/linux/DeckLinkAPIDeckControl.h:
+ * sys/decklink/linux/DeckLinkAPIDiscovery.h:
+ * sys/decklink/linux/DeckLinkAPIModes.h:
+ * sys/decklink/linux/DeckLinkAPITypes.h:
+ * sys/decklink/linux/DeckLinkAPIVersion.h:
+ * sys/decklink/osx/DeckLinkAPI.h:
+ * sys/decklink/osx/DeckLinkAPIConfiguration.h:
+ * sys/decklink/osx/DeckLinkAPIDeckControl.h:
+ * sys/decklink/osx/DeckLinkAPIDiscovery.h:
+ * sys/decklink/osx/DeckLinkAPIDispatch.cpp:
+ * sys/decklink/osx/DeckLinkAPIModes.h:
+ * sys/decklink/osx/DeckLinkAPIStreaming.h:
+ * sys/decklink/osx/DeckLinkAPITypes.h:
+ * sys/decklink/osx/DeckLinkAPIVersion.h:
+ decklink: Update to SDK 10.8
+ OSX and Linux only, Windows needs someone on Windows to convert the .idl
+ files to C source code.
+
+2016-09-26 11:41:42 +0100 Olivier Crête <olivier.crete@ocrete.ca>
+
+ * ext/fdkaac/gstfdkaacdec.c:
+ fdkaac: fix mixup setting interleaved output
+ https://bugzilla.gnome.org/show_bug.cgi?id=770455
+
+2016-09-26 13:26:36 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Only report the initial duration if the query was successful
+
+2016-09-26 11:15:25 +0900 Kyungyong Kim <kyungyong.kim@lge.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix parsing of multiple NALs in the hvcC box
+ https://bugzilla.gnome.org/show_bug.cgi?id=771970
+
+2016-09-25 17:38:15 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/bluez/Makefile.am:
+ bluez: dist new header file
+ Fixes distcheck.
+
+2016-09-24 22:39:38 +0530 Arun Raghavan <arun@arunraghavan.net>
+
+ * sys/bluez/gsta2dpsink.c:
+ * sys/bluez/gstavdtpsink.c:
+ * sys/bluez/gstavdtpsink.h:
+ a2dpsink: Don't try to set device caps on avdtpsink
+ We can't actually configure the transport, so we should only be working
+ with whatever we get.
+
+2016-09-23 16:31:50 +0530 Arun Raghavan <arun@arunraghavan.net>
+
+ * sys/bluez/gstavdtpsink.c:
+ avdtpsink: Chain event handling up to basesink
+
+2016-09-23 16:04:43 +0530 Arun Raghavan <arun@arunraghavan.net>
+
+ * sys/bluez/gsta2dpsink.c:
+ * sys/bluez/gsta2dpsink.h:
+ bluez: Clean up and make a2dpsink functional again
+ Was crashing, and had a lot of cruft (like a capsfilter and a fakesink)
+ that was no longer required.
+
+2016-09-15 17:49:15 +0530 Arun Raghavan <arun@arunraghavan.net>
+
+ * sys/bluez/Makefile.am:
+ * sys/bluez/gstavdtpsrc.c:
+ * sys/bluez/gstavdtpsrc.h:
+ * sys/bluez/gstavrcputil.c:
+ * sys/bluez/gstavrcputil.h:
+ * sys/bluez/org.bluez.xml:
+ avdtpsrc: Add support for AVRCP metadata
+ Metadata from AVRCP is emitted as tags, and the duration from AVRCP is
+ used in queries by avdtpsrc.
+
+2016-09-24 10:49:10 -0400 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/openjpeg/gstopenjpegdec.c:
+ openjpegdec: Properly offset and shift for all formats when converting
+ And while at it, also clean up some code.
+
+2016-09-24 10:05:16 -0400 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/videoparsers/gstjpeg2000parse.c:
+ jpeg2000parse: Don't pass NULL strings to the colorspace / sampling parsing functions
+ They assert on NULL.
+
+2016-09-23 15:49:21 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Don't leak GValues in getcaps
+
+2016-09-22 18:55:23 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ * ext/wayland/wlwindow.c:
+ * ext/wayland/wlwindow.h:
+ waylandsink: Update our window size on configure event
+ This is specific to when the waylandsink is not being embedded. In
+ this patch we pass the render lock to the window so it can safely
+ call gst_wl_window_set_render_rectangle() with the new size.
+ https://bugzilla.gnome.org/show_bug.cgi?id=722343
+
+2016-09-22 18:53:22 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Remove atomic operation
+ We already take the render lock from the wlqueue thread in some other
+ place which indicates that there is no use of this atomic instead of
+ a proper locking mechanism.
+
+2016-09-22 15:37:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Do not pre-configure proposed pool
+ Upstream must configure the pool before using it. Pre-configuring
+ the proposed pool could hide bugs in upstream elements.
+
+2016-09-22 15:35:44 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/wlwindow.c:
+ * ext/wayland/wlwindow.h:
+ waylandsink: Properly draw black border in absence of viewporter
+ When we don't have a viewporter (scaling support), we can't use the
+ 1x1 scaleup image trick. Instead, we need to allocate a buffer with
+ the same size as the area that need to have black background.
+
+2016-09-22 10:55:03 +0200 Florian Zwoch <fzwoch@gmail.com>
+
+ * sys/winscreencap/gstdx9screencapsrc.c:
+ dx9screencapsrc: throw error for invalid screen index
+ Currently dx9screencapsrc prints a verbose warning in case the screen
+ index is out of range for the current number of detected monitors. This
+ value is then dropped.
+ However there is no initial indication (beside the console print) if it
+ worked or not. This may result in capturing an unwanted screen as it
+ would capture the last set index that was not rejected.
+ This patch sets the index regardless. Instead, the element throws an
+ error when it tries to run or getting caps for an invalid index.
+ https://bugzilla.gnome.org/show_bug.cgi?id=771817
+
+2016-09-22 18:19:36 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstgldisplay.c:
+ gldisplay: also free the GWeakRef when removing dead contexts
+ Otherwise we leak GWeakRef's.
+ Found with make -C tests/check libs/gstglcontext.valgrind
+
+2016-09-21 15:51:52 -0700 Martin Kelly <martin@surround.io>
+
+ * gst-libs/gst/wayland/Makefile.am:
+ wayland/Makefile.am: add missing libs
+ libgstwayland is missing a dependency on $(GST_PLUGINS_BASE_LIBS), so add it.
+ https://bugzilla.gnome.org/show_bug.cgi?id=771794
+
+2016-09-21 15:07:50 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/wldisplay.c:
+ waylandsink: Destroy viewporter when done
+ https://bugzilla.gnome.org/show_bug.cgi?id=738079
+
+2016-09-21 11:33:18 -0700 Martin Kelly <martin@surround.io>
+
+ * tests/check/Makefile.am:
+ build: add missing $(GST_PLUGINS_BASE_LIBS)
+ The linker flags for several plugins (dashdemux, mssdemux, hlsdemux) are missing
+ $(GST_PLUGINS_BASE_LIBS), so add them so they can find -lgsttag and -lgstapp.
+ https://bugzilla.gnome.org/show_bug.cgi?id=771780
+
+2016-09-19 12:11:59 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Port to vmeta and GstVideoFrame
+ This add support for non-standard strides to be used. Note that
+ some extra work is needed for multi-plane format which may have
+ a different GstMemory object per plane. This is not currently a
+ problem since SHM interface is limited to 1 memory.
+
+2016-09-19 12:08:20 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Don't propose multiple time the same buffer pool
+ The buffer pool API does not allow multiple of owner. This otherwise
+ lead to error when renegotiation take place. Aso consider the
+ allocation query "need_pool" boolean.
+
+2016-09-19 12:06:17 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Promote debug trace into error trace
+ Otherwise those error may go unseen making debugging much
+ harder.
+
+2016-09-19 12:04:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Factor-out the pool creation
+
+2016-09-16 15:41:11 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylansink: Implement _show_frame()
+ This fixes the property show-preroll-frame expose by the VideoSink base
+ class and removes redundant code.
+
+2016-09-21 15:09:26 +0200 Joakim Johansson <joakimj@axis.com>
+
+ * tests/check/elements/rtponviftimestamp.c:
+ rtponviftimestamp: Update unit tests after changing default value of D-bit
+ The D bit shall always be set to true for the first buffer.
+ https://bugzilla.gnome.org/show_bug.cgi?id=770221
+
+2016-09-21 09:31:23 -0400 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklinkaudiosink.cpp:
+ * sys/decklink/gstdecklinkaudiosrc.cpp:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklink: Print the Decklink API error return values in debug output in all places
+
+2016-09-20 18:28:29 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/wayland/Makefile.am:
+ wayland: fix distcheck some more
+
+2016-09-13 11:18:27 +0200 Joakim Johansson <joakimj@axis.com>
+
+ * gst/onvif/gstrtponviftimestamp.c:
+ rtponviftimestamp: Change default value of D-bit
+ The default value of D-bit is changed to TRUE so discontinuity
+ is set for initial request and seek request as well.
+ Only set the e_bit flag for the CUSTOM_DOWNSTREAM event if
+ a cached buffer exists.
+ https://bugzilla.gnome.org/show_bug.cgi?id=770221
+
+2016-09-19 10:18:22 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * configure.ac:
+ configure: fix --disable-external
+ conditional "USE_VULKAN" was never defined
+
+2016-09-19 16:54:43 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglcolorbalance.c:
+ glcolorbalance: reconfigure on passthrough changes
+ Fixes an assertion when moving from passthrough to non-passthrough
+ Without an explicit reconfigure, glfiter won't have created the GL
+ resources such as the FBO, GL bufferpool, etc and basetransform will
+ allocate sysmem buffers instead.
+
+2016-09-16 13:43:50 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Remove some leftovers from external GstPlayer
+
+2016-09-17 14:12:44 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/wayland/Makefile.am:
+ wayland: fix distcheck when wayland-scanner is not installed
+
+2016-09-15 14:10:02 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * ext/wayland/wldisplay.c:
+ * ext/wayland/wlwindow.c:
+ waylandsink: Make wl_viewporter optional
+ This makes the viewporter interface optional. The end result is
+ obviously far from optimal, though it greatly helps testing on older
+ compostitors or gnome-wayland. We can make it strictly needed later when
+ this new interface get widely adopted.
+
+2016-06-14 16:34:35 -0700 Scott D Phillips <scott.d.phillips@intel.com>
+
+ * configure.ac:
+ * ext/wayland/Makefile.am:
+ * ext/wayland/scaler.xml:
+ * ext/wayland/wldisplay.c:
+ * ext/wayland/wldisplay.h:
+ * ext/wayland/wlwindow.c:
+ * ext/wayland/wlwindow.h:
+ wayland: Update from scaler to viewporter protocol
+ Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
+ https://bugzilla.gnome.org/show_bug.cgi?id=767671
+
+2016-09-15 14:58:35 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * tests/check/libs/player.c:
+ player: Fix unit test for minor API change
+
+2016-09-15 13:15:22 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ * gst-libs/gst/player/gstplayer.h:
+ player: Remove boolean return from set_subtitle_uri()
+ It can't fail synchronously and is inconsistent with set_uri().
+
+2016-09-14 18:07:55 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Don't change state to PLAYING immediately if a seek is pending
+ We first have to finish the seek (in PAUSED) and move to PLAYING once
+ the seek is actually finished (unless a new one is pending then).
+
+2016-09-14 11:30:48 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ configure: Depend on gstreamer 1.9.2.1
+
+2016-09-08 11:57:52 +0900 Hyunjun Ko <zzoon@igalia.com>
+
+ * gst/dvbsuboverlay/gstdvbsuboverlay.c:
+ dvbsuboverlay: map with READWRITE for overlay blend
+ Just as in basetextoverlay [1], the frame to blend with the subtitles overlay
+ should be mapped with flags GST_MAP_READWRITE, because
+ gst_video_overlay_composition_blend() does both operations.
+ 1. https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1396f804
+ Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+ https://bugzilla.gnome.org/show_bug.cgi?id=771382
+
+2016-09-13 20:08:19 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * configure.ac:
+ kmssink: update libdrm dependency to 2.4.55
+ The latest libdrm feature supported by kmssink is the universal plane, which
+ was added in 2.4.55. Let's update the dependency to that version.
+ https://bugzilla.gnome.org/show_bug.cgi?id=770146
+
+2016-09-11 00:06:52 +0000 Graham Leggett <minfrin@sharp.fm>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ tsdemux: handle a NULL name in DVB short event descriptor
+ Resolves the warning:
+ GStreamer-WARNING **: Trying to set NULL string on field 'title' on taglist.
+ https://bugzilla.gnome.org/show_bug.cgi?id=771198
+
+2016-09-12 18:38:36 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: Also never have the SINK flag set on adaptivedemux
+
+2016-09-12 12:19:50 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ Revert "decklinkvideosink: Scale down scheduled frame times to milliseconds"
+ This reverts commit 3b7e0d7de32f0728259d601daa13b9eeec3dd3ce.
+ It was a bug in the driver and is supposed to be fixed with 10.8 and newer.
+
+2016-09-10 16:41:28 -0300 Thiago Santos <thiagossantos@gmail.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: fix typo in new API
+ Fixes supressed -> suppressed typo in previous commit
+ https://bugzilla.gnome.org/show_bug.cgi?id=770627
+
+2016-09-05 10:31:40 +0900 Wonchul Lee <wonchul.lee@collabora.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: prevent to propagate source flag to itself
+ https://bugzilla.gnome.org/show_bug.cgi?id=770627
+
+2016-09-10 20:51:27 +1000 Jan Schmidt <jan@centricular.com>
+
+ * autogen.sh:
+ * common:
+ Automatic update of common submodule
+ From b18d820 to f980fd9
+
+2016-09-10 09:54:09 +1000 Jan Schmidt <jan@centricular.com>
+
+ * autogen.sh:
+ * common:
+ Automatic update of common submodule
+ From 2c31690 to b18d820
+
+2016-09-09 23:24:01 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/meson.build:
+ meson/gl: use separate deps for gl and glx
+ e.g. passing with_gl_api=gles2 would still build the glx code but not be
+ linking against the libGL library which is where the glX* functions are
+ located and would result in a linker error.
+ Solved by checking for the libGL library if either opengl or glx may be
+ needed and then disabling the corresponding deps as requested.
+
+2016-09-09 16:55:23 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/meson.build:
+ * ext/vulkan/meson.build:
+ * ext/vulkan/vkconfig.h.meson:
+ meson: add build files for vulkan
+
+2016-09-09 16:36:03 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gtk/meson.build:
+ * ext/meson.build:
+ meson: add build files for the gtk plugin
+
+2016-09-09 11:08:53 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/meson.build:
+ * ext/meson.build:
+ * gst-libs/gst/gl/gstglconfig.h.meson:
+ * gst-libs/gst/gl/meson.build:
+ * gst-libs/gst/meson.build:
+ * meson_options.txt:
+ * pkgconfig/meson.build:
+ meson: add some starting build files for GL
+ Currently only works on linux with egl/glx + wayland/x11 but the general
+ principals have been layed out for adding the other GL platforms/winsys'.
+
+2016-09-08 11:23:57 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Scale up to the screen dimension
+ In most display sink, the logic is to use as much as possible
+ of the given window. In this case, the window is the screen,
+ hence it's logical to scale up.
+ https://bugzilla.gnome.org/show_bug.cgi?id=767422
+
+2016-09-08 11:21:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/kms/gstkmssink.c:
+ kmssink: Fix selection of source region
+ The source region was scaled for display before being passed
+ to drmModeSetPlane, which resulted in a portion of the video
+ being cropped. While when crop meta was present, the rectangle
+ was not centered since we where using unscaled width/height.
+ https://bugzilla.gnome.org/show_bug.cgi?id=767422
+
+2016-09-08 08:40:59 +0100 Julien Isorce <j.isorce@samsung.com>
+
+ * gst-libs/gst/player/gstplayer.h:
+ gstplayer: remove leftover update_interval api
+ old: gst_player_set_position_update_interval
+ new: gst_player_config_set_position_update_interval
+ https://bugzilla.gnome.org/show_bug.cgi?id=769144
+
+2016-09-01 19:46:31 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ vkupload: add video/x-raw to the VulkanBuffer uploader
+ Allows upstream elements that use our memory to passthrough without copying.
+
+2016-09-01 19:43:59 +1000 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkutils.c:
+ vkutils: set the last element of the layer array to NULL
+ g_strv* functions require this to not read off the end of the array.
+
+2016-09-07 20:11:55 +0100 Alistair Buxton <a.j.buxton@gmail.com>
+
+ * tests/examples/gl/clutter/Makefile.am:
+ gl/examples: Really remove references to $(GST_PLUGINS_GL_*).
+ These seem to have been missed in the previous commit to this file.
+ https://bugzilla.gnome.org/show_bug.cgi?id=771023
+
+2016-09-07 20:07:26 +0100 Alistair Buxton <a.j.buxton@gmail.com>
+
+ * gst-libs/gst/gl/Makefile.am:
+ gl: Remove duplicate GL_CFLAGS in Makefile.am.
+ https://bugzilla.gnome.org/show_bug.cgi?id=771021
+
+2016-08-05 18:17:32 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
+
+ * sys/kms/gstkmsallocator.c:
+ kmssink: override stride if defined in driver
+ Some kms drivers demands specific pitches over the ones calculated by
+ GstVideoInfo. For example, intel driver demands strides round up 64.
+ This patch queries the driver for the prefered pitch and overwrites it
+ in the pool's GstVideoInfo structure.
+ https://bugzilla.gnome.org/show_bug.cgi?id=768446
+
+2016-09-06 16:05:53 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+ * gst-libs/gst/base/gstaggregator.c:
+ aggregator: Use the event_full function for GstAggregatorPads
+ Allowing us to tell GstPad why we are failing an event, which might
+ be because we are 'flushing' even if the sinkpad is not in flush state
+ at that point.
+
+2016-09-06 13:13:39 +0800 Haihua Hu <jared.hu@nxp.com>
+
+ * ext/qt/gstqsgtexture.cc:
+ qmlglsink: check qt_context_ first in GstQSGTexture::bind()
+ When start qmlglsink app, it will set NULL buffer to GstQSGTexture
+ in which case that qt_context_ will be a random value and cause
+ gst_gl_context_activate() fail.
+ https://bugzilla.gnome.org/show_bug.cgi?id=770925
+
+2016-09-06 20:00:07 +1000 Matthew Waters <matthew@centricular.com>
+
+ * configure.ac:
+ build/vulkan: fix winsys detection based on the previously set variables
+ The X11/Wayland winsys checks weren't being used to enable the vulkan element.
+ Use them.
+
+2016-09-06 11:02:06 +0200 Philippe Normand <philn@igalia.com>
+
+ * ext/srtp/gstsrtpenc.c:
+ srtpenc: prevent deadlock in create_session
+ Temporarily release the object lock which is needed to post error
+ messages on the bus.
+ https://bugzilla.gnome.org/show_bug.cgi?id=770933
+
+2016-09-05 22:30:01 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+ * meson.build:
+ meson: Fix building with meson 0.34 when using subprojects
+ When using subproject meson.source_root() returns the root
+ directory of the toplevel project which break build.
+ Upstream meson bug: https://github.com/mesonbuild/meson/issues/722
+
+2016-09-05 12:22:17 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+ * meson.build:
+ meson: Bump version to 1.9.2
+
+2016-09-05 14:44:24 +1000 Alessandro Decina <alessandro.d@gmail.com>
+
+ * ext/gl/gstgluploadelement.c:
+ glupload: create the GstGLUpload object in ::transform_caps
+ Previously it was created in the init function and destroyed in ::stop, which
+ lead to segfaults when reusing the element.
+ Now the upload object is created in ::transform_caps if it is NULL, which is the
+ earliest we need it. The other vfuncs already bail out if the upload object is
+ NULL, which means that negotiation wasn't done.
+
+2016-08-29 11:40:54 +0900 Wonchul Lee <wonchul.lee@collabora.com>
+
+ * gst/mpegtsdemux/gstmpegdefs.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Support ATSC EAC3
+ EAC3 bit streams shall be identified with a stream_type value of 0x87 when
+ transmitted as PES streams conforming to ATSC-published standards. It is specified
+ in ATSC Standard A/52.
+ https://bugzilla.gnome.org/show_bug.cgi?id=770528
+
+2016-09-01 14:25:58 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklink: Fix-up last commit that was not meant to be pushed yet
+
+2016-09-01 14:18:33 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkaudiosink.cpp:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ decklink: Fix indentation
+
+2016-09-01 14:17:48 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ decklink: Require a clock when going from PAUSED_TO_PLAYING and don't crash if there is none
+ Also when going from PLAYING_TO_PAUSED, the clock might've been unset in the
+ meantime, e.g. because the element was removed from its surrounding bin.
+
+2016-09-01 12:28:22 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ Back to development
+
+=== release 1.9.2 ===
+
+2016-09-01 12:27:59 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * docs/plugins/gst-plugins-bad-plugins.args:
+ * docs/plugins/gst-plugins-bad-plugins.hierarchy:
+ * docs/plugins/gst-plugins-bad-plugins.interfaces:
+ * docs/plugins/inspect/plugin-accurip.xml:
+ * docs/plugins/inspect/plugin-adpcmdec.xml:
+ * docs/plugins/inspect/plugin-adpcmenc.xml:
+ * docs/plugins/inspect/plugin-aiff.xml:
+ * docs/plugins/inspect/plugin-asfmux.xml:
+ * docs/plugins/inspect/plugin-assrender.xml:
+ * docs/plugins/inspect/plugin-audiofxbad.xml:
+ * docs/plugins/inspect/plugin-audiomixer.xml:
+ * docs/plugins/inspect/plugin-audiovisualizers.xml:
+ * docs/plugins/inspect/plugin-autoconvert.xml:
+ * docs/plugins/inspect/plugin-bayer.xml:
+ * docs/plugins/inspect/plugin-bluez.xml:
+ * docs/plugins/inspect/plugin-bs2b.xml:
+ * docs/plugins/inspect/plugin-bz2.xml:
+ * docs/plugins/inspect/plugin-camerabin.xml:
+ * docs/plugins/inspect/plugin-chromaprint.xml:
+ * docs/plugins/inspect/plugin-coloreffects.xml:
+ * docs/plugins/inspect/plugin-compositor.xml:
+ * docs/plugins/inspect/plugin-curl.xml:
+ * docs/plugins/inspect/plugin-dashdemux.xml:
+ * docs/plugins/inspect/plugin-dataurisrc.xml:
+ * docs/plugins/inspect/plugin-debugutilsbad.xml:
+ * docs/plugins/inspect/plugin-decklink.xml:
+ * docs/plugins/inspect/plugin-dtls.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-fbdevsink.xml:
+ * docs/plugins/inspect/plugin-festival.xml:
+ * docs/plugins/inspect/plugin-fieldanalysis.xml:
+ * docs/plugins/inspect/plugin-flite.xml:
+ * docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+ * docs/plugins/inspect/plugin-freeverb.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-gstgtk.xml:
+ * docs/plugins/inspect/plugin-gstsiren.xml:
+ * docs/plugins/inspect/plugin-hls.xml:
+ * docs/plugins/inspect/plugin-id3tag.xml:
+ * docs/plugins/inspect/plugin-inter.xml:
+ * docs/plugins/inspect/plugin-interlace.xml:
+ * docs/plugins/inspect/plugin-ivfparse.xml:
+ * docs/plugins/inspect/plugin-ivtc.xml:
+ * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+ * docs/plugins/inspect/plugin-jpegformat.xml:
+ * docs/plugins/inspect/plugin-kate.xml:
+ * docs/plugins/inspect/plugin-ladspa.xml:
+ * docs/plugins/inspect/plugin-midi.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-mpegpsmux.xml:
+ * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegtsmux.xml:
+ * docs/plugins/inspect/plugin-mplex.xml:
+ * docs/plugins/inspect/plugin-mxf.xml:
+ * docs/plugins/inspect/plugin-netsim.xml:
+ * docs/plugins/inspect/plugin-ofa.xml:
+ * docs/plugins/inspect/plugin-openal.xml:
+ * docs/plugins/inspect/plugin-opencv.xml:
+ * docs/plugins/inspect/plugin-openexr.xml:
+ * docs/plugins/inspect/plugin-opengl.xml:
+ * docs/plugins/inspect/plugin-openjpeg.xml:
+ * docs/plugins/inspect/plugin-opusparse.xml:
+ * docs/plugins/inspect/plugin-pcapparse.xml:
+ * docs/plugins/inspect/plugin-pnm.xml:
+ * docs/plugins/inspect/plugin-qt.xml:
+ * docs/plugins/inspect/plugin-rawparse.xml:
+ * docs/plugins/inspect/plugin-removesilence.xml:
+ * docs/plugins/inspect/plugin-resindvd.xml:
+ * docs/plugins/inspect/plugin-rfbsrc.xml:
+ * docs/plugins/inspect/plugin-rsvg.xml:
+ * docs/plugins/inspect/plugin-rtmp.xml:
+ * docs/plugins/inspect/plugin-rtponvif.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-smoothstreaming.xml:
+ * docs/plugins/inspect/plugin-sndfile.xml:
+ * docs/plugins/inspect/plugin-soundtouch.xml:
+ * docs/plugins/inspect/plugin-spandsp.xml:
+ * docs/plugins/inspect/plugin-speed.xml:
+ * docs/plugins/inspect/plugin-srtp.xml:
+ * docs/plugins/inspect/plugin-stereo.xml:
+ * docs/plugins/inspect/plugin-subenc.xml:
+ * docs/plugins/inspect/plugin-teletext.xml:
+ * docs/plugins/inspect/plugin-uvch264.xml:
+ * docs/plugins/inspect/plugin-vcdsrc.xml:
+ * docs/plugins/inspect/plugin-videofiltersbad.xml:
+ * docs/plugins/inspect/plugin-videoframe_audiolevel.xml:
+ * docs/plugins/inspect/plugin-videoparsersbad.xml:
+ * docs/plugins/inspect/plugin-videosignal.xml:
+ * docs/plugins/inspect/plugin-vmnc.xml:
+ * docs/plugins/inspect/plugin-voaacenc.xml:
+ * docs/plugins/inspect/plugin-voamrwbenc.xml:
+ * docs/plugins/inspect/plugin-waylandsink.xml:
+ * docs/plugins/inspect/plugin-webp.xml:
+ * docs/plugins/inspect/plugin-webrtcdsp.xml:
+ * docs/plugins/inspect/plugin-wildmidi.xml:
+ * docs/plugins/inspect/plugin-x265.xml:
+ * docs/plugins/inspect/plugin-y4mdec.xml:
+ * docs/plugins/inspect/plugin-yadif.xml:
+ * docs/plugins/inspect/plugin-zbar.xml:
+ * gst-plugins-bad.doap:
+ * win32/common/config.h:
+ Release 1.9.2
2016-09-01 11:24:37 +0300 Sebastian Dröge <sebastian@centricular.com>
diff --git a/Makefile.in b/Makefile.in
index dc9538f..d5f9bb8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -705,6 +705,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/NEWS b/NEWS
index 027c018..072b2df 100644
--- a/NEWS
+++ b/NEWS
@@ -1 +1 @@
-This is GStreamer 1.9.2
+This is GStreamer 1.9.90
diff --git a/RELEASE b/RELEASE
index d502188..e70dea5 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,13 +1,10 @@
-Release notes for GStreamer Bad Plugins 1.9.2
+Release notes for GStreamer Bad Plugins 1.9.90
-The GStreamer team is pleased to announce the second release of the unstable
-1.9 release series, which marks the feature freeze for 1.10. The 1.9 release
-series is adding new features on top of the 1.0, 1.2, 1.4, 1.6 and 1.8 series
-and is part of the API and ABI-stable 1.x release series of the GStreamer
-multimedia framework. The unstable 1.9 release series will lead to the stable
-1.10 release series in the next weeks. Any newly added API can still change
-until that point.
+The GStreamer team is pleased to announce the first release candidate of the
+stable 1.10 release series. The 1.10 release series is adding new features on
+top of the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and
+ABI-stable 1.x release series of the GStreamer multimedia framework.
Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
@@ -61,45 +58,29 @@
Bugs fixed in this release
- * 737173 : h264parse wrongly insert DISCONT flags when converting into AVC
- * 741104 : dashdemux: add support for I frame based trick play
- * 753751 : Dashdemux: returned seekable range for live streams is not usable
- * 765314 : player: Add way to override HTTP (+RTSP, etc) user agent
- * 767011 : rawparse: new rawaudioparse and rawvideoparse element which deprecate audioparse, unalignedaudioparse, and videoparse
- * 767169 : adaptivedemux: avoid possible deadlock while destroying old sources
- * 767879 : Deadlock in WebKit when deleting the media player while HLS media was loaded
- * 768160 : qtplugins: How to implement qmlglsrc.
- * 768553 : Configure check for OpenGL is wrong on OS X.
- * 768595 : lv2: Does not build with lilv 0.20
- * 768602 : EGL_DMA_Buf: Wrong attribute list type for EGL 1.5
- * 768696 : Mac OS X build warnings: -Werror gstjpeg2000parse.c
- * 768771 : openh264: Fail to build with openh264 1.6.0
- * 768838 : camerabinpreview: fix bus leak
- * 768843 : bad: fix leaks in tests
- * 769144 : player: move 'position-update-interval' setting to the config struct
- * 769197 : fix simple-launch-lines test with no jpeg lib
- * 769210 : GLMemory created by avfvideosrc and vtdec on iOS (EAGL/gles3) can't be mapped
- * 769295 : Broken compilation on RPi with latest rawaudioparse changes
- * 769371 : glimagesink: Horizontal/vertical flip matrizes are swapped
- * 769389 : aiffparse: Add bitrate and container format tags
- * 769462 : glcolorconvert: _get_n_textures: code should not be reached
- * 769553 : dashdemux: Fix sidx snap/keyframe seeks
- * 769587 : hls, timecode: can't build debian package from git master, need to fix linking
- * 769637 : rawparse: Unit test fixes and additions
- * 769716 : x265enc enable aspect ratio
- * 769797 : videoparse: format i420, invalid buffer size (regression)
- * 769939 : gl: hang on joining thread
- * 770030 : avfvideosrc: account for retina displays when capturing screens
- * 770049 : vtdec: missing systemstream=false in mpeg decoder caps
- * 770075 : adaptivedemux: fix stream exposure condition
- * 770102 : daala: typo related compilation error
- * 770282 : decklinkvideosink: " Failed to schedule frame " and Decklink Duo 2
- * 770326 : gst-plugins-bad tarball lacks opensles.h
- * 770408 : dashdemux: Add properties to select maximum allowed width/height and framerate
- * 770523 : Build failure: fatal error: gst/gl/gstglconfig.h: No such file or directory
- * 770587 : qtkitvideosrc: 'QTKit/QTKit.h' file not found (macOS Sierra)
- * 769116 : Build failure with -O3 in Ubuntu 16.04
- * 769580 : Fail to decode media on OSX because it's not supported by vtdec_hw but vtdec can play it
+ * 738079 : wayland: Destory the scaler interface while finalizing display object
+ * 761987 : waylandsink relies on wl_scaler
+ * 766018 : gl/dispmanx: Implements set_render_rectangle to adjust the position of window
+ * 767422 : kmssink: Uses scaled size to specify input buffer region
+ * 767671 : waylandsink: update from scaler protocol to viewporter protocol
+ * 768158 : waylandsink : memory leak of gst_wayland_sink_get_caps() and scaler of wldisplay
+ * 770146 : kmssink won't compile
+ * 770221 : rtponviftimestamp: Implement property " Immediate "
+ * 770455 : fdkaacdec: asserts on HE-AAC v2 sample
+ * 770925 : qmlglsink: check qt_context_ first in GstQSGTexture::bind()
+ * 770933 : srtpenc: deadlock in create_session
+ * 771021 : Duplicate GL_CFLAGS in gst-libs/gst/gl/Makefile.am
+ * 771023 : tests/examples/gl/clutter/Makefile.am references deprecated variable $(GST_PLUGINS_GL_LIBS)
+ * 771198 : mpegtsdemux: Trying to set NULL string on field 'title' on taglist
+ * 771382 : dvbsuboverlay: map with READWRITE for overlay blend
+ * 771780 : build: add missing $(GST_PLUGINS_BASE_LIBS)
+ * 771794 : wayland/Makefile.am: add missing libs
+ * 771817 : dx9screencapsrc: throw error for invalid screen index
+ * 771871 : lv2 plugin doesn't do processing in case of mono sound
+ * 771970 : h265parse: Fix parsing of multiple NALs in the hvcC box
+ * 772067 : fdkaacenc: fix enc ! dec case
+ * 772108 : fdkaacenc: set framed=true on src caps
+ * 772186 : fdkaac: misc memory related fixes
==== Download ====
@@ -137,36 +118,29 @@
Contributors to this release
* Alessandro Decina
- * Alex Ashley
- * Arnaud Vrac
- * Bernhard Miller
- * Carlos Rafael Giani
- * Edward Hervey
+ * Alistair Buxton
+ * Arun Raghavan
* Florian Zwoch
- * Fredrik Fornwall
- * Guillaume Desmottes
+ * Graham Leggett
+ * Gwang Yoon Hwang
* Haihua Hu
* Hyunjun Ko
* Jan Schmidt
- * Josep Torra
- * Luis de Bethencourt
+ * Joakim Johansson
+ * Julien Isorce
+ * Kyungyong Kim
* Martin Kelly
- * Matej Knopp
* Matthew Waters
- * Michael Olbrich
* Nicolas Dufresne
- * Nirbheek Chauhan
- * Philippe Renon
- * Reynaldo H. Verdejo Pinochet
+ * Olivier Crête
+ * Philippe Normand
+ * Scott D Phillips
* Sebastian Dröge
- * Sergei Saveliev
- * Song Bing
- * Sreerenj Balachandran
- * Stefan Sauer
+ * Sergey Mamonov
+ * Thiago Santos
* Thibault Saunier
* Tim-Philipp Müller
* Vincent Penquerc'h
- * Vivia Nikolaidou
- * Xabier Rodriguez Calvar
- * xlazom00
+ * Víctor Manuel Jáquez Leal
+ * Wonchul Lee
\ No newline at end of file
diff --git a/common/Makefile.in b/common/Makefile.in
index 4b37a35..ac4a598 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -667,6 +667,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 157bdf9..078b8be 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -607,6 +607,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/configure b/configure
index 41f4662..2508148 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.9.2.
+# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.9.90.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='GStreamer Bad Plug-ins'
PACKAGE_TARNAME='gst-plugins-bad'
-PACKAGE_VERSION='1.9.2'
-PACKAGE_STRING='GStreamer Bad Plug-ins 1.9.2'
+PACKAGE_VERSION='1.9.90'
+PACKAGE_STRING='GStreamer Bad Plug-ins 1.9.90'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -932,6 +932,9 @@
USE_WEBP_TRUE
WEBP_LIBS
WEBP_CFLAGS
+WAYLAND_PROTOCOLS_DATADIR
+WAYLAND_PROTOCOLS_LIBS
+WAYLAND_PROTOCOLS_CFLAGS
wayland_scanner
USE_DIRECTFB_FALSE
USE_DIRECTFB_TRUE
@@ -2024,6 +2027,8 @@
LIBDC1394_LIBS
DIRECTFB_CFLAGS
DIRECTFB_LIBS
+WAYLAND_PROTOCOLS_CFLAGS
+WAYLAND_PROTOCOLS_LIBS
WEBP_CFLAGS
WEBP_LIBS
DAALA_CFLAGS
@@ -2684,7 +2689,7 @@
# 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.9.2 to adapt to many kinds of systems.
+\`configure' configures GStreamer Bad Plug-ins 1.9.90 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2756,7 +2761,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.9.2:";;
+ short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.9.90:";;
esac
cat <<\_ACEOF
@@ -3238,6 +3243,10 @@
C compiler flags for DIRECTFB, overriding pkg-config
DIRECTFB_LIBS
linker flags for DIRECTFB, overriding pkg-config
+ WAYLAND_PROTOCOLS_CFLAGS
+ C compiler flags for WAYLAND_PROTOCOLS, overriding pkg-config
+ WAYLAND_PROTOCOLS_LIBS
+ linker flags for WAYLAND_PROTOCOLS, overriding pkg-config
WEBP_CFLAGS C compiler flags for WEBP, overriding pkg-config
WEBP_LIBS linker flags for WEBP, overriding pkg-config
DAALA_CFLAGS
@@ -3476,7 +3485,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer Bad Plug-ins configure 1.9.2
+GStreamer Bad Plug-ins configure 1.9.90
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -4449,7 +4458,7 @@
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.9.2, which was
+It was created by GStreamer Bad Plug-ins $as_me 1.9.90, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -5431,7 +5440,7 @@
# Define the identity of the package.
PACKAGE='gst-plugins-bad'
- VERSION='1.9.2'
+ VERSION='1.9.90'
cat >>confdefs.h <<_ACEOF
@@ -5642,9 +5651,9 @@
- PACKAGE_VERSION_MAJOR=$(echo 1.9.2 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.9.2 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.9.2 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.9.90 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.9.90 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.9.90 | cut -d'.' -f3)
@@ -5655,7 +5664,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.9.2 | cut -d'.' -f4)
+ NANO=$(echo 1.9.90 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -10499,10 +10508,10 @@
done
- GST_CURRENT=902
+ GST_CURRENT=990
GST_REVISION=0
- GST_AGE=902
- GST_LIBVERSION=902:0:902
+ GST_AGE=990
+ GST_LIBVERSION=990:0:990
@@ -15130,8 +15139,8 @@
-GST_REQ=1.9.2
-GSTPB_REQ=1.9.2
+GST_REQ=1.9.90
+GSTPB_REQ=1.9.90
@@ -41776,14 +41785,89 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- if test "x$wayland_scanner" != "x"; then
- HAVE_WAYLAND="yes"
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: wayland-scanner is required to build the wayland plugin" >&5
-$as_echo "wayland-scanner is required to build the wayland plugin" >&6; }
- HAVE_WAYLAND="no"
- fi
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_PROTOCOLS" >&5
+$as_echo_n "checking for WAYLAND_PROTOCOLS... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$WAYLAND_PROTOCOLS_CFLAGS"; then
+ pkg_cv_WAYLAND_PROTOCOLS_CFLAGS="$WAYLAND_PROTOCOLS_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-protocols >= 1.4\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "wayland-protocols >= 1.4") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_WAYLAND_PROTOCOLS_CFLAGS=`$PKG_CONFIG --cflags "wayland-protocols >= 1.4" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$WAYLAND_PROTOCOLS_LIBS"; then
+ pkg_cv_WAYLAND_PROTOCOLS_LIBS="$WAYLAND_PROTOCOLS_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-protocols >= 1.4\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "wayland-protocols >= 1.4") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_WAYLAND_PROTOCOLS_LIBS=`$PKG_CONFIG --libs "wayland-protocols >= 1.4" 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
+ WAYLAND_PROTOCOLS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-protocols >= 1.4"`
+ else
+ WAYLAND_PROTOCOLS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-protocols >= 1.4"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$WAYLAND_PROTOCOLS_PKG_ERRORS" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ HAVE_WAYLAND="no"
+
+elif test $pkg_failed = untried; then
+ HAVE_WAYLAND="no"
+
+else
+ WAYLAND_PROTOCOLS_CFLAGS=$pkg_cv_WAYLAND_PROTOCOLS_CFLAGS
+ WAYLAND_PROTOCOLS_LIBS=$pkg_cv_WAYLAND_PROTOCOLS_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+ if test "x$wayland_scanner" != "x"; then
+ HAVE_WAYLAND="yes"
+ WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: wayland-scanner is required to build the wayland plugin" >&5
+$as_echo "wayland-scanner is required to build the wayland plugin" >&6; }
+ HAVE_WAYLAND="no"
+ fi
+
+fi
fi
@@ -44099,12 +44183,12 @@
pkg_cv_DRM_CFLAGS="$DRM_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm libkms\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libdrm libkms") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.4.55 libkms\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libdrm >= 2.4.55 libkms") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_DRM_CFLAGS=`$PKG_CONFIG --cflags "libdrm libkms" 2>/dev/null`
+ pkg_cv_DRM_CFLAGS=`$PKG_CONFIG --cflags "libdrm >= 2.4.55 libkms" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -44117,12 +44201,12 @@
pkg_cv_DRM_LIBS="$DRM_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm libkms\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libdrm libkms") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libdrm >= 2.4.55 libkms\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libdrm >= 2.4.55 libkms") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_DRM_LIBS=`$PKG_CONFIG --libs "libdrm libkms" 2>/dev/null`
+ pkg_cv_DRM_LIBS=`$PKG_CONFIG --libs "libdrm >= 2.4.55 libkms" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -44141,9 +44225,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- DRM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libdrm libkms"`
+ DRM_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libdrm >= 2.4.55 libkms"`
else
- DRM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libdrm libkms"`
+ DRM_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libdrm >= 2.4.55 libkms"`
fi
# Put the nasty error message in config.log where it belongs
echo "$DRM_PKG_ERRORS" >&5
@@ -50784,7 +50868,6 @@
HAVE_VULKAN=no
- HAVE_VULKAN=no
ac_fn_c_check_header_mongrel "$LINENO" "vulkan/vulkan.h" "ac_cv_header_vulkan_vulkan_h" "$ac_includes_default"
if test "x$ac_cv_header_vulkan_vulkan_h" = xyes; then :
@@ -50828,8 +50911,11 @@
VULKAN_LIBS="-lvulkan"
- if test "x$HAVE_XCB" = "xyes"; then
- HAVE_VULKAN=yes
+ if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
+ HAVE_VULKAN="yes"
+ fi
+ if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
+ HAVE_VULKAN="yes"
fi
fi
@@ -59276,6 +59362,14 @@
USE_DTLS_FALSE=
fi
+ if false; then
+ USE_VULKAN_TRUE=
+ USE_VULKAN_FALSE='#'
+else
+ USE_VULKAN_TRUE='#'
+ USE_VULKAN_FALSE=
+fi
+
fi
@@ -60817,6 +60911,10 @@
as_fn_error $? "conditional \"USE_DTLS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${USE_VULKAN_TRUE}" && test -z "${USE_VULKAN_FALSE}"; then
+ as_fn_error $? "conditional \"USE_VULKAN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
@@ -61214,7 +61312,7 @@
# 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.9.2, which was
+This file was extended by GStreamer Bad Plug-ins $as_me 1.9.90, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -61280,7 +61378,7 @@
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.9.2
+GStreamer Bad Plug-ins config.status 1.9.90
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 5fcf370..8402afd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, git and prerelease does Werror too
-AC_INIT([GStreamer Bad Plug-ins],[1.9.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
+AC_INIT([GStreamer Bad Plug-ins],[1.9.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
AG_GST_INIT
@@ -51,11 +51,11 @@
dnl - interfaces added -> increment AGE
dnl - interfaces removed -> AGE = 0
dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 902, 0, 902)
+AS_LIBTOOL(GST, 990, 0, 990)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.9.2
-GSTPB_REQ=1.9.2
+GST_REQ=1.9.90
+GSTPB_REQ=1.9.90
dnl *** autotools stuff ****
@@ -2219,13 +2219,17 @@
AC_PATH_PROG([wayland_scanner], [wayland-scanner])
AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0, [
- if test "x$wayland_scanner" != "x"; then
- HAVE_WAYLAND="yes"
- else
- AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
- HAVE_WAYLAND="no"
- fi
- ],
+ PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
+ if test "x$wayland_scanner" != "x"; then
+ HAVE_WAYLAND="yes"
+ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
+ else
+ AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
+ HAVE_WAYLAND="no"
+ fi
+ ],
+ [ HAVE_WAYLAND="no"
+ ])],
[ HAVE_WAYLAND="no"
])
])
@@ -2381,7 +2385,7 @@
translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
AG_GST_CHECK_FEATURE(KMS, [drm/kms libraries], kms, [
AG_GST_PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0)
- PKG_CHECK_MODULES([DRM], [libdrm libkms], HAVE_KMS=yes, HAVE_KMS=no)
+ PKG_CHECK_MODULES([DRM], [libdrm >= 2.4.55 libkms], HAVE_KMS=yes, HAVE_KMS=no)
])
dnl *** ladspa ***
@@ -2998,14 +3002,15 @@
dnl *** Vulkan ***
translit(dnm, m, l) AM_CONDITIONAL(USE_VULKAN, true)
AG_GST_CHECK_FEATURE(VULKAN, [Vulkan elements], vulkan, [
- HAVE_VULKAN=no
AC_CHECK_HEADER(vulkan/vulkan.h, [
AC_CHECK_LIB(vulkan, vkCreateDevice, [
VULKAN_LIBS="-lvulkan"
AC_SUBST(VULKAN_LIBS)
- dnl TODO check platform support (x11, win32, wayland, android, etc)
- if test "x$HAVE_XCB" = "xyes"; then
- HAVE_VULKAN=yes
+ if test "x$GST_VULKAN_HAVE_WINDOW_XCB" = "x1"; then
+ HAVE_VULKAN="yes"
+ fi
+ if test "x$GST_VULKAN_HAVE_WINDOW_WAYLAND" = "x1"; then
+ HAVE_VULKAN="yes"
fi
], [])
], [])
@@ -3523,6 +3528,7 @@
AM_CONDITIONAL(USE_OPENH264, false)
AM_CONDITIONAL(USE_X265, false)
AM_CONDITIONAL(USE_DTLS, false)
+AM_CONDITIONAL(USE_VULKAN, false)
fi dnl of EXT plugins
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 428a033..7b1293d 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -666,6 +666,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index 1f05209..edcd08b 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -628,6 +628,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/docs/libs/html/GstGLFilter.html b/docs/libs/html/GstGLFilter.html
index b36f8bd..6c86e93 100644
--- a/docs/libs/html/GstGLFilter.html
+++ b/docs/libs/html/GstGLFilter.html
@@ -287,6 +287,8 @@
/* useful to init and cleanup custom gl resources */
void (*display_init_cb) (GstGLFilter *filter);
void (*display_reset_cb) (GstGLFilter *filter);
+
+ gpointer _padding[GST_PADDING];
} GstGLFilterClass;
</pre>
<div class="refsect3">
@@ -343,6 +345,11 @@
<td class="struct_member_description"><p>execute arbitrary gl code at stop</p></td>
<td class="struct_member_annotations"> </td>
</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstGLFilterClass.-padding"></a>_padding</code></em>[GST_PADDING];</p></td>
+<td> </td>
+<td> </td>
+</tr>
</tbody>
</table></div>
</div>
diff --git a/docs/libs/html/GstGLFramebuffer.html b/docs/libs/html/GstGLFramebuffer.html
index f0c7a42..34aa7e4 100644
--- a/docs/libs/html/GstGLFramebuffer.html
+++ b/docs/libs/html/GstGLFramebuffer.html
@@ -98,6 +98,8 @@
<a name="GstGLFramebufferClass"></a><h3>struct GstGLFramebufferClass</h3>
<pre class="programlisting">struct GstGLFramebufferClass {
GstObjectClass object_class;
+
+ gpointer _padding[GST_PADDING];
};
</pre>
</div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2 b/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
index 4eb766b..e120295 100644
--- a/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
@@ -2316,11 +2316,11 @@
<keyword type="member" name="GstGLBaseMemoryAllocatorClass.alloc" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.alloc"/>
<keyword type="member" name="GstGLBaseMemoryAllocatorClass.create" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.create"/>
<keyword type="member" name="GstGLBaseMemoryAllocatorClass.map" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.map"/>
- <keyword type="member" name="GstGLBaseMemoryAllocatorClass.flush" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.flush"/>
- <keyword type="member" name="GstGLBaseMemoryAllocatorClass.invalidate" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.invalidate"/>
<keyword type="member" name="GstGLBaseMemoryAllocatorClass.unmap" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.unmap"/>
<keyword type="member" name="GstGLBaseMemoryAllocatorClass.copy" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.copy"/>
<keyword type="member" name="GstGLBaseMemoryAllocatorClass.destroy" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.destroy"/>
+ <keyword type="member" name="GstGLBaseMemoryAllocatorClass.flush" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.flush"/>
+ <keyword type="member" name="GstGLBaseMemoryAllocatorClass.invalidate" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.invalidate"/>
<keyword type="member" name="GstGLAllocationParams.struct-size" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.struct-size"/>
<keyword type="member" name="GstGLAllocationParams.copy" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.copy"/>
<keyword type="member" name="GstGLAllocationParams.free" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.free"/>
@@ -2352,6 +2352,7 @@
<keyword type="member" name="GstGLFilterClass.transform-internal-caps" link="GstGLFilter.html#GstGLFilterClass.transform-internal-caps"/>
<keyword type="member" name="GstGLFilterClass.display-init-cb" link="GstGLFilter.html#GstGLFilterClass.display-init-cb"/>
<keyword type="member" name="GstGLFilterClass.display-reset-cb" link="GstGLFilter.html#GstGLFilterClass.display-reset-cb"/>
+ <keyword type="member" name="GstGLFilterClass.-padding" link="GstGLFilter.html#GstGLFilterClass.-padding"/>
<keyword type="member" name="GstGLMemory.mem" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.mem"/>
<keyword type="member" name="GstGLMemory.tex-id" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.tex-id"/>
<keyword type="member" name="GstGLMemory.tex-target" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.tex-target"/>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html b/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html
index 46516e6..e53334a 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html
@@ -970,13 +970,13 @@
GstGLBaseMemoryAllocatorCreateFunction create;
GstGLBaseMemoryAllocatorMapFunction map;
+ GstGLBaseMemoryAllocatorUnmapFunction unmap;
+ GstGLBaseMemoryAllocatorCopyFunction copy;
+ GstGLBaseMemoryAllocatorDestroyFunction destroy;
#if 0
GstGLBaseMemoryAllocatorFlushFunction flush; /* make CPU writes visible to the GPU */
GstGLBaseMemoryAllocatorInvalidateFunction invalidate; /* make GPU writes visible to the CPU */
#endif
- GstGLBaseMemoryAllocatorUnmapFunction unmap;
- GstGLBaseMemoryAllocatorCopyFunction copy;
- GstGLBaseMemoryAllocatorDestroyFunction destroy;
} GstGLBaseMemoryAllocatorClass;
</pre>
<div class="refsect3">
@@ -1004,16 +1004,6 @@
<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td class="struct_member_name"><p><span class="type">GstGLBaseMemoryAllocatorFlushFunction</span> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.flush"></a>flush</code></em>;</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="struct_member_name"><p><span class="type">GstGLBaseMemoryAllocatorInvalidateFunction</span> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.invalidate"></a>invalidate</code></em>;</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorUnmapFunction" title="GstGLBaseMemoryAllocatorUnmapFunction ()"><span class="type">GstGLBaseMemoryAllocatorUnmapFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.unmap"></a>unmap</code></em>;</p></td>
<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorUnmapFunction" title="GstGLBaseMemoryAllocatorUnmapFunction ()"><span class="type">GstGLBaseMemoryAllocatorUnmapFunction</span></a></p></td>
<td class="struct_member_annotations"> </td>
@@ -1028,6 +1018,16 @@
<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorDestroyFunction" title="GstGLBaseMemoryAllocatorDestroyFunction ()"><span class="type">GstGLBaseMemoryAllocatorDestroyFunction</span></a></p></td>
<td class="struct_member_annotations"> </td>
</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">GstGLBaseMemoryAllocatorFlushFunction</span> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.flush"></a>flush</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">GstGLBaseMemoryAllocatorInvalidateFunction</span> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.invalidate"></a>invalidate</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
</tbody>
</table></div>
</div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
index ed479f4..46959b8 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
@@ -292,7 +292,7 @@
</tr>
<tr>
<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-subtitle-uri" title="gst_player_set_subtitle_uri ()">gst_player_set_subtitle_uri</a> <span class="c_punctuation">()</span>
@@ -1632,7 +1632,7 @@
<hr>
<div class="refsect2">
<a name="gst-player-set-subtitle-uri"></a><h3>gst_player_set_subtitle_uri ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+<pre class="programlisting"><span class="returnvalue">void</span>
gst_player_set_subtitle_uri (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
<div class="refsect3">
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index f505aba..9ea1815 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.9.2)
+ for GStreamer Bad Library 1.0 (1.9.90)
<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 89de720..e6306ae 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -686,6 +686,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
index 8893f5b..6e327dd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 99fd1a1..ee5d10a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
index d63bbba..d256d43 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 65b97e9..d3f4cfb 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 cfa180e..9722137 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 dcb85f9..2544cc9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
index 7d3957f..a76b16a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 21cbe3a..a67543f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 a0e6c92..51b318b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 ac4a4c0..2ba036c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 0eb023f..148e9a6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 717e69c..ed4791b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 42769a1..6275c4f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 e45e23b..109c6cc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 37d31fc..2c53c08 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 1e73f92..a2426f3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 8ca768e..c035d4b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 7bc4c6b..1fc0441 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 7524b8e..1d1fb62 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 7e78ca4..6d0882f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 fbcf1d7..b98cdc8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 e7a7587..f311365 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 2b1b553..ae48467 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 aaeddcc..7269da0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 aa8fc81..56ab726 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 4cafbf3..7ed88c4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 43b5c29..49929e9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
index bc34fec..91fb6c5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 b640a63..03e1d51 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 80666fc..fbf186f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
index b269010..6fc9cbc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
index b3a1280..0873040 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 2e01dca..0c4871e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
index a62b994..dcb49bd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 44cab25..c3bb0d8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 e2d5331..8047c5d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
index b57ed28..2944369 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 3423ad4..cefdd06 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 50b15e5..cd13383 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 bfac86d..a164b64 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 ceb7cc4..77d8ff7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 74111a8..186f130 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 4a6c124..a5325a0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 fc5f1d2..6a7cae4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
index 0b51ad0..fcdcb55 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
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 6995b7c..aa8399c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
@@ -41,7 +41,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.2</td>
+<td>1.9.90</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 73d5145..377c722 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.9.2)
+ for GStreamer Bad Plugins 1.0 (1.9.90)
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/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml
index 7ddb8f7..9729820 100644
--- a/docs/plugins/inspect/plugin-accurip.xml
+++ b/docs/plugins/inspect/plugin-accurip.xml
@@ -3,7 +3,7 @@
<description>Computes an AccurateRip CRC</description>
<filename>../../gst/accurip/.libs/libgstaccurip.so</filename>
<basename>libgstaccurip.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml
index 5b90808..8181e9d 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.9.2</version>
+ <version>1.9.90</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 f4cb654..c72a003 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-aiff.xml b/docs/plugins/inspect/plugin-aiff.xml
index c48b3cc..7690007 100644
--- a/docs/plugins/inspect/plugin-aiff.xml
+++ b/docs/plugins/inspect/plugin-aiff.xml
@@ -3,7 +3,7 @@
<description>Create and parse Audio Interchange File Format (AIFF) files</description>
<filename>../../gst/aiff/.libs/libgstaiff.so</filename>
<basename>libgstaiff.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 e827d14..962c5c2 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.9.2</version>
+ <version>1.9.90</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 a8528b8..7197bc2 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiofxbad.xml b/docs/plugins/inspect/plugin-audiofxbad.xml
index 341befe..24420b7 100644
--- a/docs/plugins/inspect/plugin-audiofxbad.xml
+++ b/docs/plugins/inspect/plugin-audiofxbad.xml
@@ -3,7 +3,7 @@
<description>Audio filters from gst-plugins-bad</description>
<filename>../../gst/audiofxbad/.libs/libgstaudiofxbad.so</filename>
<basename>libgstaudiofxbad.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-audiomixer.xml b/docs/plugins/inspect/plugin-audiomixer.xml
index 397e8c5..c4389ac 100644
--- a/docs/plugins/inspect/plugin-audiomixer.xml
+++ b/docs/plugins/inspect/plugin-audiomixer.xml
@@ -3,7 +3,7 @@
<description>Mixes multiple audio streams</description>
<filename>../../gst/audiomixer/.libs/libgstaudiomixer.so</filename>
<basename>libgstaudiomixer.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 e03e133..5eb954a 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</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 655521b..3dd5e3c 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.9.2</version>
+ <version>1.9.90</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 106ace6..be37ae7 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bluez.xml b/docs/plugins/inspect/plugin-bluez.xml
index c58cfc7..2d82903 100644
--- a/docs/plugins/inspect/plugin-bluez.xml
+++ b/docs/plugins/inspect/plugin-bluez.xml
@@ -3,7 +3,7 @@
<description>Bluez-based bluetooth support</description>
<filename>../../sys/bluez/.libs/libgstbluez.so</filename>
<basename>libgstbluez.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bs2b.xml b/docs/plugins/inspect/plugin-bs2b.xml
index 9dc835e..7730094 100644
--- a/docs/plugins/inspect/plugin-bs2b.xml
+++ b/docs/plugins/inspect/plugin-bs2b.xml
@@ -3,7 +3,7 @@
<description>Improve headphone listening of stereo audio recordsusing the bs2b library.</description>
<filename>../../ext/bs2b/.libs/libgstbs2b.so</filename>
<basename>libgstbs2b.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 243905a..2222b52 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.9.2</version>
+ <version>1.9.90</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 a8c43e4..44328b6 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.9.2</version>
+ <version>1.9.90</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 29323fe..c1c6339 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.9.2</version>
+ <version>1.9.90</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 1cdf82b..88f560b 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-compositor.xml b/docs/plugins/inspect/plugin-compositor.xml
index d887684..e062cae 100644
--- a/docs/plugins/inspect/plugin-compositor.xml
+++ b/docs/plugins/inspect/plugin-compositor.xml
@@ -3,7 +3,7 @@
<description>Compositor</description>
<filename>../../gst/compositor/.libs/libgstcompositor.so</filename>
<basename>libgstcompositor.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 e51fc42..3c4d289 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dashdemux.xml b/docs/plugins/inspect/plugin-dashdemux.xml
index a5e1a28..2600781 100644
--- a/docs/plugins/inspect/plugin-dashdemux.xml
+++ b/docs/plugins/inspect/plugin-dashdemux.xml
@@ -3,7 +3,7 @@
<description>DASH demuxer plugin</description>
<filename>../../ext/dash/.libs/libgstdashdemux.so</filename>
<basename>libgstdashdemux.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-dataurisrc.xml b/docs/plugins/inspect/plugin-dataurisrc.xml
index 6af3682..5b2b024 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dc1394.xml b/docs/plugins/inspect/plugin-dc1394.xml
index 42b8f0e..ce07d4c 100644
--- a/docs/plugins/inspect/plugin-dc1394.xml
+++ b/docs/plugins/inspect/plugin-dc1394.xml
@@ -3,7 +3,7 @@
<description>1394 IIDC video source</description>
<filename>../../ext/dc1394/.libs/libgstdc1394.so</filename>
<basename>libgstdc1394.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 491f729..6b1cbbf 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.9.2</version>
+ <version>1.9.90</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
index db3a890..595f04b 100644
--- a/docs/plugins/inspect/plugin-decklink.xml
+++ b/docs/plugins/inspect/plugin-decklink.xml
@@ -3,7 +3,7 @@
<description>Blackmagic Decklink plugin</description>
<filename>../../sys/decklink/.libs/libgstdecklink.so</filename>
<basename>libgstdecklink.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-dfbvideosink.xml b/docs/plugins/inspect/plugin-dfbvideosink.xml
index 6afaee5..6b8aad1 100644
--- a/docs/plugins/inspect/plugin-dfbvideosink.xml
+++ b/docs/plugins/inspect/plugin-dfbvideosink.xml
@@ -3,7 +3,7 @@
<description>DirectFB video output plugin</description>
<filename>../../ext/directfb/.libs/libgstdfbvideosink.so</filename>
<basename>libgstdfbvideosink.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtls.xml b/docs/plugins/inspect/plugin-dtls.xml
index 98e2ce3..11e57eb 100644
--- a/docs/plugins/inspect/plugin-dtls.xml
+++ b/docs/plugins/inspect/plugin-dtls.xml
@@ -3,7 +3,7 @@
<description>DTLS decoder and encoder plugins</description>
<filename>../../ext/dtls/.libs/libgstdtls.so</filename>
<basename>libgstdtls.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>BSD</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 de9c4b3..f22f4d4 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.9.2</version>
+ <version>1.9.90</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 9661f22..496fd3f 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.9.2</version>
+ <version>1.9.90</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 53229eb..67fde65 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.9.2</version>
+ <version>1.9.90</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 ef71302..6a348d3 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.9.2</version>
+ <version>1.9.90</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 5fe33e3..dc3829d 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.9.2</version>
+ <version>1.9.90</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 f7c5718..e0ee1e2 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.9.2</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fbdevsink.xml b/docs/plugins/inspect/plugin-fbdevsink.xml
index ffb16d8..da67c24 100644
--- a/docs/plugins/inspect/plugin-fbdevsink.xml
+++ b/docs/plugins/inspect/plugin-fbdevsink.xml
@@ -3,7 +3,7 @@
<description>Linux framebuffer video sink</description>
<filename>../../sys/fbdev/.libs/libgstfbdevsink.so</filename>
<basename>libgstfbdevsink.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fdkaac.xml b/docs/plugins/inspect/plugin-fdkaac.xml
index 6756a71..4365715 100644
--- a/docs/plugins/inspect/plugin-fdkaac.xml
+++ b/docs/plugins/inspect/plugin-fdkaac.xml
@@ -3,7 +3,7 @@
<description>Fraunhofer FDK AAC Codec plugin</description>
<filename>../../ext/fdkaac/.libs/libgstfdkaac.so</filename>
<basename>libgstfdkaac.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
@@ -47,7 +47,7 @@
<name>src</name>
<direction>source</direction>
<presence>always</presence>
- <details>audio/mpeg, mpegversion=(int){ 2, 4 }, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }, channels=(int){ 1, 2, 3, 4, 5, 6, 8 }, stream-format=(string){ adts, adif, raw }, base-profile=(string)lc</details>
+ <details>audio/mpeg, mpegversion=(int)4, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }, channels=(int){ 1, 2, 3, 4, 5, 6, 8 }, stream-format=(string){ adts, adif, raw }, base-profile=(string)lc, framed=(boolean)true</details>
</caps>
</pads>
</element>
diff --git a/docs/plugins/inspect/plugin-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index d7cf81a..6b0151d 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.9.2</version>
+ <version>1.9.90</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 08090f2..e7f5c68 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.9.2</version>
+ <version>1.9.90</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 9cdf30f..92ea44b 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fluidsynthmidi.xml b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
index 737985c..30d5654 100644
--- a/docs/plugins/inspect/plugin-fluidsynthmidi.xml
+++ b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
@@ -3,7 +3,7 @@
<description>Fluidsynth MIDI Plugin</description>
<filename>../../ext/fluidsynth/.libs/libgstfluidsynthmidi.so</filename>
<basename>libgstfluidsynthmidi.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-freeverb.xml b/docs/plugins/inspect/plugin-freeverb.xml
index 9551905..7acd8b2 100644
--- a/docs/plugins/inspect/plugin-freeverb.xml
+++ b/docs/plugins/inspect/plugin-freeverb.xml
@@ -3,7 +3,7 @@
<description>Reverberation/room effect</description>
<filename>../../gst/freeverb/.libs/libgstfreeverb.so</filename>
<basename>libgstfreeverb.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-frei0r.xml b/docs/plugins/inspect/plugin-frei0r.xml
index 93f9868..622fe38 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.9.2</version>
+ <version>1.9.90</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 358f3c8..6156ff5 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.9.2</version>
+ <version>1.9.90</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 32f7040..041ef87 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.9.2</version>
+ <version>1.9.90</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 dd26ca6..2ab3a93 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.9.2</version>
+ <version>1.9.90</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 35fd42a..1f7b6bd 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.9.2</version>
+ <version>1.9.90</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 1f6c396..11d0a92 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gstgtk.xml b/docs/plugins/inspect/plugin-gstgtk.xml
index 2769058..90999f5 100644
--- a/docs/plugins/inspect/plugin-gstgtk.xml
+++ b/docs/plugins/inspect/plugin-gstgtk.xml
@@ -3,7 +3,7 @@
<description>Gtk+ sink</description>
<filename>../../ext/gtk/.libs/libgstgtksink.so</filename>
<basename>libgstgtksink.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 19ed718..d18d8e5 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-hls.xml b/docs/plugins/inspect/plugin-hls.xml
index 90ef02d..ffdfbaa 100644
--- a/docs/plugins/inspect/plugin-hls.xml
+++ b/docs/plugins/inspect/plugin-hls.xml
@@ -3,7 +3,7 @@
<description>HTTP Live Streaming (HLS)</description>
<filename>../../ext/hls/.libs/libgsthls.so</filename>
<basename>libgsthls.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-id3tag.xml b/docs/plugins/inspect/plugin-id3tag.xml
index ed24360..5b28a22 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.9.2</version>
+ <version>1.9.90</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 32228e0..c672970 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.9.2</version>
+ <version>1.9.90</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 c7991e7..cfb1597 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ivfparse.xml b/docs/plugins/inspect/plugin-ivfparse.xml
index c6d17da..283c6d5 100644
--- a/docs/plugins/inspect/plugin-ivfparse.xml
+++ b/docs/plugins/inspect/plugin-ivfparse.xml
@@ -3,7 +3,7 @@
<description>IVF parser</description>
<filename>../../gst/ivfparse/.libs/libgstivfparse.so</filename>
<basename>libgstivfparse.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ivtc.xml b/docs/plugins/inspect/plugin-ivtc.xml
index 0f9e367..d5f5ee3 100644
--- a/docs/plugins/inspect/plugin-ivtc.xml
+++ b/docs/plugins/inspect/plugin-ivtc.xml
@@ -3,7 +3,7 @@
<description>Inverse Telecine</description>
<filename>../../gst/ivtc/.libs/libgstivtc.so</filename>
<basename>libgstivtc.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-jp2kdecimator.xml b/docs/plugins/inspect/plugin-jp2kdecimator.xml
index cf0b267..14d2946 100644
--- a/docs/plugins/inspect/plugin-jp2kdecimator.xml
+++ b/docs/plugins/inspect/plugin-jp2kdecimator.xml
@@ -3,7 +3,7 @@
<description>JPEG2000 decimator</description>
<filename>../../gst/jp2kdecimator/.libs/libgstjp2kdecimator.so</filename>
<basename>libgstjp2kdecimator.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 784cdd6..3ee62d4 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-kate.xml b/docs/plugins/inspect/plugin-kate.xml
index d2606b3..0d2f12f 100644
--- a/docs/plugins/inspect/plugin-kate.xml
+++ b/docs/plugins/inspect/plugin-kate.xml
@@ -3,7 +3,7 @@
<description>Kate plugin</description>
<filename>../../ext/kate/.libs/libgstkate.so</filename>
<basename>libgstkate.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ladspa.xml b/docs/plugins/inspect/plugin-ladspa.xml
index 012e0b9..44f1cb5 100644
--- a/docs/plugins/inspect/plugin-ladspa.xml
+++ b/docs/plugins/inspect/plugin-ladspa.xml
@@ -3,7 +3,7 @@
<description>LADSPA plugin</description>
<filename>../../ext/ladspa/.libs/libgstladspa.so</filename>
<basename>libgstladspa.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-libde265.xml b/docs/plugins/inspect/plugin-libde265.xml
index eb1db39..d0ebbd7 100644
--- a/docs/plugins/inspect/plugin-libde265.xml
+++ b/docs/plugins/inspect/plugin-libde265.xml
@@ -3,7 +3,7 @@
<description>HEVC/H.265 decoder using libde265</description>
<filename>../../ext/libde265/.libs/libgstlibde265.so</filename>
<basename>libgstlibde265.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-midi.xml b/docs/plugins/inspect/plugin-midi.xml
index 2e55753..eb3c2fb 100644
--- a/docs/plugins/inspect/plugin-midi.xml
+++ b/docs/plugins/inspect/plugin-midi.xml
@@ -3,7 +3,7 @@
<description>Parse MIDI files</description>
<filename>../../gst/midi/.libs/libgstmidi.so</filename>
<basename>libgstmidi.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 fa6dce2..3f92873 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.9.2</version>
+ <version>1.9.90</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 280f07a..82e5caf 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.9.2</version>
+ <version>1.9.90</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 51df842..2807757 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.9.2</version>
+ <version>1.9.90</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 226e516..ba3edcc 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.9.2</version>
+ <version>1.9.90</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 c184885..9aaefd1 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.9.2</version>
+ <version>1.9.90</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 ef87eb3..6d2f3b6 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.9.2</version>
+ <version>1.9.90</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 cc43d8f..21c3f61 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</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 a258235..282221d 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.9.2</version>
+ <version>1.9.90</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 c8d805d..80e5f10 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.9.2</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-musepack.xml b/docs/plugins/inspect/plugin-musepack.xml
index 9f679cc..a72faed 100644
--- a/docs/plugins/inspect/plugin-musepack.xml
+++ b/docs/plugins/inspect/plugin-musepack.xml
@@ -3,7 +3,7 @@
<description>Musepack decoder</description>
<filename>../../ext/musepack/.libs/libgstmusepack.so</filename>
<basename>libgstmusepack.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mxf.xml b/docs/plugins/inspect/plugin-mxf.xml
index efea8e4..6ad04ae 100644
--- a/docs/plugins/inspect/plugin-mxf.xml
+++ b/docs/plugins/inspect/plugin-mxf.xml
@@ -3,7 +3,7 @@
<description>MXF plugin library</description>
<filename>../../gst/mxf/.libs/libgstmxf.so</filename>
<basename>libgstmxf.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-netsim.xml b/docs/plugins/inspect/plugin-netsim.xml
index 390fb3f..67f751a 100644
--- a/docs/plugins/inspect/plugin-netsim.xml
+++ b/docs/plugins/inspect/plugin-netsim.xml
@@ -3,7 +3,7 @@
<description>Network Simulator</description>
<filename>../../gst/netsim/.libs/libgstnetsim.so</filename>
<basename>libgstnetsim.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ofa.xml b/docs/plugins/inspect/plugin-ofa.xml
index 2f134ca..2a02549 100644
--- a/docs/plugins/inspect/plugin-ofa.xml
+++ b/docs/plugins/inspect/plugin-ofa.xml
@@ -3,7 +3,7 @@
<description>Calculate MusicIP fingerprint from audio files</description>
<filename>../../ext/ofa/.libs/libgstofa.so</filename>
<basename>libgstofa.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-openal.xml b/docs/plugins/inspect/plugin-openal.xml
index 36d083f..37dea49 100644
--- a/docs/plugins/inspect/plugin-openal.xml
+++ b/docs/plugins/inspect/plugin-openal.xml
@@ -3,7 +3,7 @@
<description>OpenAL plugin library</description>
<filename>../../ext/openal/.libs/libgstopenal.so</filename>
<basename>libgstopenal.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opencv.xml b/docs/plugins/inspect/plugin-opencv.xml
index de1d5cc..3d26a3a 100644
--- a/docs/plugins/inspect/plugin-opencv.xml
+++ b/docs/plugins/inspect/plugin-opencv.xml
@@ -3,7 +3,7 @@
<description>GStreamer OpenCV Plugins</description>
<filename>../../ext/opencv/.libs/libgstopencv.so</filename>
<basename>libgstopencv.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-openexr.xml b/docs/plugins/inspect/plugin-openexr.xml
index 1630578..481dbde 100644
--- a/docs/plugins/inspect/plugin-openexr.xml
+++ b/docs/plugins/inspect/plugin-openexr.xml
@@ -3,7 +3,7 @@
<description>OpenEXR image plugin</description>
<filename>../../ext/openexr/.libs/libgstopenexr.so</filename>
<basename>libgstopenexr.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opengl.xml b/docs/plugins/inspect/plugin-opengl.xml
index 080bf77..bb24b3c 100644
--- a/docs/plugins/inspect/plugin-opengl.xml
+++ b/docs/plugins/inspect/plugin-opengl.xml
@@ -3,7 +3,7 @@
<description>OpenGL plugin</description>
<filename>../../ext/gl/.libs/libgstopengl.so</filename>
<basename>libgstopengl.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-openh264.xml b/docs/plugins/inspect/plugin-openh264.xml
index 1488ea5..a6d162f 100644
--- a/docs/plugins/inspect/plugin-openh264.xml
+++ b/docs/plugins/inspect/plugin-openh264.xml
@@ -3,7 +3,7 @@
<description>OpenH264 encoder/decoder plugin</description>
<filename>../../ext/openh264/.libs/libgstopenh264.so</filename>
<basename>libgstopenh264.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>BSD</license>
<source>gst-plugins-bad</source>
<package>OpenWebRTC GStreamer plugins</package>
diff --git a/docs/plugins/inspect/plugin-openjpeg.xml b/docs/plugins/inspect/plugin-openjpeg.xml
index ab25670..55650b7 100644
--- a/docs/plugins/inspect/plugin-openjpeg.xml
+++ b/docs/plugins/inspect/plugin-openjpeg.xml
@@ -3,7 +3,7 @@
<description>OpenJPEG-based JPEG2000 image decoder/encoder</description>
<filename>../../ext/openjpeg/.libs/libgstopenjpeg.so</filename>
<basename>libgstopenjpeg.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opusparse.xml b/docs/plugins/inspect/plugin-opusparse.xml
index ee21e8c..7b79224 100644
--- a/docs/plugins/inspect/plugin-opusparse.xml
+++ b/docs/plugins/inspect/plugin-opusparse.xml
@@ -3,7 +3,7 @@
<description>OPUS parse plugin</description>
<filename>../../ext/opus/.libs/libgstopusparse.so</filename>
<basename>libgstopusparse.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 14daaf0..125a414 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.9.2</version>
+ <version>1.9.90</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 5fcffba..63dd52c 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-qt.xml b/docs/plugins/inspect/plugin-qt.xml
index 47af4b9..4520a55 100644
--- a/docs/plugins/inspect/plugin-qt.xml
+++ b/docs/plugins/inspect/plugin-qt.xml
@@ -3,7 +3,7 @@
<description>Qt gl plugin</description>
<filename>../../ext/qt/.libs/libgstqmlgl.so</filename>
<basename>libgstqmlgl.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 9317262..12561f2 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.9.2</version>
+ <version>1.9.90</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 0150c4d..a42f5a1 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.9.2</version>
+ <version>1.9.90</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 fc86aa9..ea7d78d 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.9.2</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-rfbsrc.xml b/docs/plugins/inspect/plugin-rfbsrc.xml
index 2650b41..4eceeb4 100644
--- a/docs/plugins/inspect/plugin-rfbsrc.xml
+++ b/docs/plugins/inspect/plugin-rfbsrc.xml
@@ -3,7 +3,7 @@
<description>Connects to a VNC server and decodes RFB stream</description>
<filename>../../gst/librfb/.libs/libgstrfbsrc.so</filename>
<basename>libgstrfbsrc.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rsvg.xml b/docs/plugins/inspect/plugin-rsvg.xml
index ee21ad1..114b381 100644
--- a/docs/plugins/inspect/plugin-rsvg.xml
+++ b/docs/plugins/inspect/plugin-rsvg.xml
@@ -3,7 +3,7 @@
<description>RSVG plugin library</description>
<filename>../../ext/rsvg/.libs/libgstrsvg.so</filename>
<basename>libgstrsvg.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtmp.xml b/docs/plugins/inspect/plugin-rtmp.xml
index f363a3a..b00032a 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtponvif.xml b/docs/plugins/inspect/plugin-rtponvif.xml
index b141e9d..0be0859 100644
--- a/docs/plugins/inspect/plugin-rtponvif.xml
+++ b/docs/plugins/inspect/plugin-rtponvif.xml
@@ -3,7 +3,7 @@
<description>ONVIF Streaming features</description>
<filename>../../gst/onvif/.libs/libgstrtponvif.so</filename>
<basename>libgstrtponvif.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>unknown</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-sbc.xml b/docs/plugins/inspect/plugin-sbc.xml
index b0465f7..1fc4802 100644
--- a/docs/plugins/inspect/plugin-sbc.xml
+++ b/docs/plugins/inspect/plugin-sbc.xml
@@ -3,7 +3,7 @@
<description>SBC bluetooth audio support</description>
<filename>../../ext/sbc/.libs/libgstsbc.so</filename>
<basename>libgstsbc.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-schro.xml b/docs/plugins/inspect/plugin-schro.xml
index b2faa17..895408a 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.9.2</version>
+ <version>1.9.90</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 69ee9ea..9213522 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.9.2</version>
+ <version>1.9.90</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 a008873..0ddc74b 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.9.2</version>
+ <version>1.9.90</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 649a97b..6eec4e9 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.9.2</version>
+ <version>1.9.90</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 adcba6d..b61c704 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-smoothstreaming.xml b/docs/plugins/inspect/plugin-smoothstreaming.xml
index a7d69fe..5bdbf5d 100644
--- a/docs/plugins/inspect/plugin-smoothstreaming.xml
+++ b/docs/plugins/inspect/plugin-smoothstreaming.xml
@@ -3,7 +3,7 @@
<description>Microsoft's Smooth Streaming format support </description>
<filename>../../ext/smoothstreaming/.libs/libgstsmoothstreaming.so</filename>
<basename>libgstsmoothstreaming.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-sndfile.xml b/docs/plugins/inspect/plugin-sndfile.xml
index 7a03401..e395b55 100644
--- a/docs/plugins/inspect/plugin-sndfile.xml
+++ b/docs/plugins/inspect/plugin-sndfile.xml
@@ -3,7 +3,7 @@
<description>use libsndfile to read and write various audio formats</description>
<filename>../../ext/sndfile/.libs/libgstsndfile.so</filename>
<basename>libgstsndfile.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 3433f2d..d58527a 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.9.2</version>
+ <version>1.9.90</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 c4332e6..9a28b4d 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.9.2</version>
+ <version>1.9.90</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 0060ff2..23061c9 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-srtp.xml b/docs/plugins/inspect/plugin-srtp.xml
index 837d8ce..f199aa4 100644
--- a/docs/plugins/inspect/plugin-srtp.xml
+++ b/docs/plugins/inspect/plugin-srtp.xml
@@ -3,7 +3,7 @@
<description>GStreamer SRTP</description>
<filename>../../ext/srtp/.libs/libgstsrtp.so</filename>
<basename>libgstsrtp.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-stereo.xml b/docs/plugins/inspect/plugin-stereo.xml
index cb1882e..7d9b11c 100644
--- a/docs/plugins/inspect/plugin-stereo.xml
+++ b/docs/plugins/inspect/plugin-stereo.xml
@@ -3,7 +3,7 @@
<description>Muck with the stereo signal, enhance it's 'stereo-ness'</description>
<filename>../../gst/stereo/.libs/libgststereo.so</filename>
<basename>libgststereo.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 525ea9f..4f9be08 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-teletext.xml b/docs/plugins/inspect/plugin-teletext.xml
index 55ff028..efa22a5 100644
--- a/docs/plugins/inspect/plugin-teletext.xml
+++ b/docs/plugins/inspect/plugin-teletext.xml
@@ -3,7 +3,7 @@
<description>Teletext plugin</description>
<filename>../../ext/teletextdec/.libs/libgstteletextdec.so</filename>
<basename>libgstteletextdec.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-timecode.xml b/docs/plugins/inspect/plugin-timecode.xml
index def9d55..3fa3d28 100644
--- a/docs/plugins/inspect/plugin-timecode.xml
+++ b/docs/plugins/inspect/plugin-timecode.xml
@@ -3,7 +3,7 @@
<description>Timecode-related elements</description>
<filename>../../gst/timecode/.libs/libgsttimecode.so</filename>
<basename>libgsttimecode.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-uvch264.xml b/docs/plugins/inspect/plugin-uvch264.xml
index c5212f2..ff1f16c 100644
--- a/docs/plugins/inspect/plugin-uvch264.xml
+++ b/docs/plugins/inspect/plugin-uvch264.xml
@@ -3,7 +3,7 @@
<description>UVC compliant H264 encoding cameras plugin</description>
<filename>../../sys/uvch264/.libs/libgstuvch264.so</filename>
<basename>libgstuvch264.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vcdsrc.xml b/docs/plugins/inspect/plugin-vcdsrc.xml
index 96521f9..485eb6e 100644
--- a/docs/plugins/inspect/plugin-vcdsrc.xml
+++ b/docs/plugins/inspect/plugin-vcdsrc.xml
@@ -3,7 +3,7 @@
<description>Asynchronous read from VCD disk</description>
<filename>../../sys/vcd/.libs/libgstvcdsrc.so</filename>
<basename>libgstvcdsrc.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videofiltersbad.xml b/docs/plugins/inspect/plugin-videofiltersbad.xml
index e94c006..43ecbc2 100644
--- a/docs/plugins/inspect/plugin-videofiltersbad.xml
+++ b/docs/plugins/inspect/plugin-videofiltersbad.xml
@@ -3,7 +3,7 @@
<description>Video filters in gst-plugins-bad</description>
<filename>../../gst/videofilters/.libs/libgstvideofiltersbad.so</filename>
<basename>libgstvideofiltersbad.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-videoframe_audiolevel.xml b/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
index fe7b813..870e41f 100644
--- a/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
+++ b/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
@@ -3,7 +3,7 @@
<description>Video frame-synchronized audio level</description>
<filename>../../gst/videoframe_audiolevel/.libs/libgstvideoframe_audiolevel.so</filename>
<basename>libgstvideoframe_audiolevel.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 fd48c28..a78dab5 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videosignal.xml b/docs/plugins/inspect/plugin-videosignal.xml
index 0468fcf..e4ff947 100644
--- a/docs/plugins/inspect/plugin-videosignal.xml
+++ b/docs/plugins/inspect/plugin-videosignal.xml
@@ -3,7 +3,7 @@
<description>Various video signal analysers</description>
<filename>../../gst/videosignal/.libs/libgstvideosignal.so</filename>
<basename>libgstvideosignal.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vmnc.xml b/docs/plugins/inspect/plugin-vmnc.xml
index 1bc64cf..9d8642d 100644
--- a/docs/plugins/inspect/plugin-vmnc.xml
+++ b/docs/plugins/inspect/plugin-vmnc.xml
@@ -3,7 +3,7 @@
<description>VmWare Video Codec plugins</description>
<filename>../../gst/vmnc/.libs/libgstvmnc.so</filename>
<basename>libgstvmnc.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</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 a4cfa91..1ae9bc7 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.9.2</version>
+ <version>1.9.90</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 9602b9c..a7fed37 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.9.2</version>
+ <version>1.9.90</version>
<license>unknown</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-waylandsink.xml b/docs/plugins/inspect/plugin-waylandsink.xml
index 05a9e84..cb600c0 100644
--- a/docs/plugins/inspect/plugin-waylandsink.xml
+++ b/docs/plugins/inspect/plugin-waylandsink.xml
@@ -3,7 +3,7 @@
<description>Wayland Video Sink</description>
<filename>../../ext/wayland/.libs/libgstwaylandsink.so</filename>
<basename>libgstwaylandsink.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-webp.xml b/docs/plugins/inspect/plugin-webp.xml
index b52b62f..b20639c 100644
--- a/docs/plugins/inspect/plugin-webp.xml
+++ b/docs/plugins/inspect/plugin-webp.xml
@@ -3,7 +3,7 @@
<description>WebP plugin</description>
<filename>../../ext/webp/.libs/libgstwebp.so</filename>
<basename>libgstwebp.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-webrtcdsp.xml b/docs/plugins/inspect/plugin-webrtcdsp.xml
index aba042e..1c6dab8 100644
--- a/docs/plugins/inspect/plugin-webrtcdsp.xml
+++ b/docs/plugins/inspect/plugin-webrtcdsp.xml
@@ -3,7 +3,7 @@
<description>Voice pre-processing using WebRTC Audio Processing Library</description>
<filename>../../ext/webrtcdsp/.libs/libgstwebrtcdsp.so</filename>
<basename>libgstwebrtcdsp.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>WebRTCDsp</package>
diff --git a/docs/plugins/inspect/plugin-wildmidi.xml b/docs/plugins/inspect/plugin-wildmidi.xml
index 3b8b814..980616d 100644
--- a/docs/plugins/inspect/plugin-wildmidi.xml
+++ b/docs/plugins/inspect/plugin-wildmidi.xml
@@ -3,7 +3,7 @@
<description>Wildmidi Plugin</description>
<filename>../../ext/timidity/.libs/libgstwildmidi.so</filename>
<basename>libgstwildmidi.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-x265.xml b/docs/plugins/inspect/plugin-x265.xml
index df3ad86..35096e0 100644
--- a/docs/plugins/inspect/plugin-x265.xml
+++ b/docs/plugins/inspect/plugin-x265.xml
@@ -3,7 +3,7 @@
<description>x265-based H265 plugins</description>
<filename>../../ext/x265/.libs/libgstx265.so</filename>
<basename>libgstx265.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>GPL</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 3e3f090..89347c8 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.9.2</version>
+ <version>1.9.90</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-yadif.xml b/docs/plugins/inspect/plugin-yadif.xml
index 7f41b1f..06ee672 100644
--- a/docs/plugins/inspect/plugin-yadif.xml
+++ b/docs/plugins/inspect/plugin-yadif.xml
@@ -3,7 +3,7 @@
<description>YADIF deinterlacing filter</description>
<filename>../../gst/yadif/.libs/libgstyadif.so</filename>
<basename>libgstyadif.so</basename>
- <version>1.9.2</version>
+ <version>1.9.90</version>
<license>GPL</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 24c3ffd..f640b2e 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.9.2</version>
+ <version>1.9.90</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 25b1a99..092571d 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -672,6 +672,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/apexsink/Makefile.in b/ext/apexsink/Makefile.in
index f79d22d..5c52e2c 100644
--- a/ext/apexsink/Makefile.in
+++ b/ext/apexsink/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/assrender/Makefile.in b/ext/assrender/Makefile.in
index bc3a6ac..d646cdb 100644
--- a/ext/assrender/Makefile.in
+++ b/ext/assrender/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/bs2b/Makefile.in b/ext/bs2b/Makefile.in
index 24430b3..1cd6ea0 100644
--- a/ext/bs2b/Makefile.in
+++ b/ext/bs2b/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/bz2/Makefile.in b/ext/bz2/Makefile.in
index 347870d..dbfc633 100644
--- a/ext/bz2/Makefile.in
+++ b/ext/bz2/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/chromaprint/Makefile.in b/ext/chromaprint/Makefile.in
index 99f0b52..eed293f 100644
--- a/ext/chromaprint/Makefile.in
+++ b/ext/chromaprint/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/curl/Makefile.in b/ext/curl/Makefile.in
index 4bb3cb7..0f01b0b 100644
--- a/ext/curl/Makefile.in
+++ b/ext/curl/Makefile.in
@@ -707,6 +707,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/daala/Makefile.in b/ext/daala/Makefile.in
index 2b76f02..e921388 100644
--- a/ext/daala/Makefile.in
+++ b/ext/daala/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/dash/Makefile.in b/ext/dash/Makefile.in
index 1872abf..f954b03 100644
--- a/ext/dash/Makefile.in
+++ b/ext/dash/Makefile.in
@@ -698,6 +698,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/dc1394/Makefile.in b/ext/dc1394/Makefile.in
index b73f914..c085c2f 100644
--- a/ext/dc1394/Makefile.in
+++ b/ext/dc1394/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/directfb/Makefile.in b/ext/directfb/Makefile.in
index 26a091f..3146226 100644
--- a/ext/directfb/Makefile.in
+++ b/ext/directfb/Makefile.in
@@ -703,6 +703,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/dtls/Makefile.in b/ext/dtls/Makefile.in
index d132b54..ea4d400 100644
--- a/ext/dtls/Makefile.in
+++ b/ext/dtls/Makefile.in
@@ -700,6 +700,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/dts/Makefile.in b/ext/dts/Makefile.in
index 30956c0..1e08d81 100644
--- a/ext/dts/Makefile.in
+++ b/ext/dts/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/faac/Makefile.in b/ext/faac/Makefile.in
index 4842462..1a73219 100644
--- a/ext/faac/Makefile.in
+++ b/ext/faac/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/faad/Makefile.in b/ext/faad/Makefile.in
index 64fd24f..0d8f095 100644
--- a/ext/faad/Makefile.in
+++ b/ext/faad/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/fdkaac/Makefile.in b/ext/fdkaac/Makefile.in
index d716d8c..1f4bbb4 100644
--- a/ext/fdkaac/Makefile.in
+++ b/ext/fdkaac/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/fdkaac/gstfdkaacdec.c b/ext/fdkaac/gstfdkaacdec.c
index 181bd22..c271837 100644
--- a/ext/fdkaac/gstfdkaacdec.c
+++ b/ext/fdkaac/gstfdkaacdec.c
@@ -142,11 +142,13 @@
if ((err = aacDecoder_ConfigRaw (self->dec, &data, &size)) != AAC_DEC_OK) {
gst_buffer_unmap (codec_data, &map);
+ gst_buffer_unref (codec_data);
GST_ERROR_OBJECT (self, "Invalid codec_data: %d", err);
return FALSE;
}
gst_buffer_unmap (codec_data, &map);
+ gst_buffer_unref (codec_data);
}
if ((err =
@@ -158,15 +160,15 @@
if ((err =
aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_INTERLEAVED,
- 0)) != AAC_DEC_OK) {
- GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err);
+ 1)) != AAC_DEC_OK) {
+ GST_ERROR_OBJECT (self, "Failed to set interleaved output: %d", err);
return FALSE;
}
/* 8 channels * 2 bytes per sample * 2048 samples */
if (!self->decode_buffer) {
- self->decode_buffer_size = 8 * 2 * 2048;
- self->decode_buffer = g_malloc (self->decode_buffer_size);
+ self->decode_buffer_size = 8 * 2048;
+ self->decode_buffer = g_new (gint16, self->decode_buffer_size);
}
return TRUE;
@@ -188,6 +190,7 @@
gboolean need_reorder;
if (inbuf) {
+ gst_buffer_ref (inbuf);
gst_buffer_map (inbuf, &imap, GST_MAP_READ);
valid = size = imap.size;
@@ -196,10 +199,8 @@
&valid)) != AAC_DEC_OK) {
GST_AUDIO_DECODER_ERROR (self, 1, STREAM, DECODE, (NULL),
("filling error: %d", err), ret);
- gst_buffer_unmap (inbuf, &imap);
goto out;
}
- gst_buffer_unmap (inbuf, &imap);
if (GST_BUFFER_IS_DISCONT (inbuf))
flags |= AACDEC_INTR;
@@ -208,8 +209,13 @@
}
if ((err =
- aacDecoder_DecodeFrame (self->dec, (gint16 *) self->decode_buffer,
+ aacDecoder_DecodeFrame (self->dec, self->decode_buffer,
self->decode_buffer_size, flags)) != AAC_DEC_OK) {
+ if (err == AAC_DEC_TRANSPORT_SYNC_ERROR) {
+ ret = GST_FLOW_OK;
+ outbuf = NULL;
+ goto finish;
+ }
GST_AUDIO_DECODER_ERROR (self, 1, STREAM, DECODE, (NULL),
("decoding error: %d", err), ret);
goto out;
@@ -383,10 +389,16 @@
GST_AUDIO_INFO_CHANNELS (&info), pos, gst_pos);
}
+finish:
ret = gst_audio_decoder_finish_frame (dec, outbuf, 1);
out:
+ if (inbuf) {
+ gst_buffer_unmap (inbuf, &imap);
+ gst_buffer_unref (inbuf);
+ }
+
return ret;
}
@@ -398,7 +410,7 @@
if (self->dec) {
AAC_DECODER_ERROR err;
if ((err =
- aacDecoder_DecodeFrame (self->dec, (gint16 *) self->decode_buffer,
+ aacDecoder_DecodeFrame (self->dec, self->decode_buffer,
self->decode_buffer_size, AACDEC_FLUSH)) != AAC_DEC_OK) {
GST_ERROR_OBJECT (self, "flushing error: %d", err);
}
diff --git a/ext/fdkaac/gstfdkaacdec.h b/ext/fdkaac/gstfdkaacdec.h
index a805a2a..5f766bc 100644
--- a/ext/fdkaac/gstfdkaacdec.h
+++ b/ext/fdkaac/gstfdkaacdec.h
@@ -45,7 +45,7 @@
GstAudioDecoder element;
HANDLE_AACDECODER dec;
- guint8 *decode_buffer;
+ gint16 *decode_buffer;
gint decode_buffer_size;
};
diff --git a/ext/fdkaac/gstfdkaacenc.c b/ext/fdkaac/gstfdkaacenc.c
index 3405ec1..8c6ff8b 100644
--- a/ext/fdkaac/gstfdkaacenc.c
+++ b/ext/fdkaac/gstfdkaacenc.c
@@ -127,11 +127,11 @@
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("audio/mpeg, "
- "mpegversion = (int) {2, 4}, "
+ "mpegversion = (int) 4, "
"rate = (int) { " SAMPLE_RATES " }, "
"channels = (int) {1, 2, 3, 4, 5, 6, 8}, "
"stream-format = (string) { adts, adif, raw }, "
- "base-profile = (string) lc")
+ "base-profile = (string) lc, " "framed = (boolean) true")
);
GST_DEBUG_CATEGORY_STATIC (gst_fdkaacenc_debug);
@@ -296,11 +296,7 @@
return FALSE;
}
- if (mpegversion == 4) {
- aot = AOT_AAC_LC;
- } else {
- aot = AOT_MP2_AAC_LC;
- }
+ aot = AOT_AAC_LC;
if ((err = aacEncoder_SetParam (self->enc, AACENC_AOT, aot)) != AACENC_OK) {
GST_ERROR_OBJECT (self, "Unable to set AOT %d: %d\n", aot, err);
@@ -410,6 +406,12 @@
}
}
+ if ((err = aacEncoder_SetParam (self->enc, AACENC_TRANSMUX,
+ transmux)) != AACENC_OK) {
+ GST_ERROR_OBJECT (self, "Unable to set transmux %d: %d", transmux, err);
+ return FALSE;
+ }
+
if ((err = aacEncoder_SetParam (self->enc, AACENC_BITRATE,
bitrate)) != AACENC_OK) {
GST_ERROR_OBJECT (self, "Unable to set bitrate %d: %d", bitrate, err);
@@ -436,6 +438,7 @@
src_caps = gst_caps_new_simple ("audio/mpeg",
"mpegversion", G_TYPE_INT, mpegversion,
"channels", G_TYPE_INT, GST_AUDIO_INFO_CHANNELS (info),
+ "framed", G_TYPE_BOOLEAN, TRUE,
"rate", G_TYPE_INT, GST_AUDIO_INFO_RATE (info), NULL);
/* raw */
diff --git a/ext/flite/Makefile.in b/ext/flite/Makefile.in
index 21972a2..8bb2029 100644
--- a/ext/flite/Makefile.in
+++ b/ext/flite/Makefile.in
@@ -692,6 +692,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/fluidsynth/Makefile.in b/ext/fluidsynth/Makefile.in
index 3fc6651..9a2541a 100644
--- a/ext/fluidsynth/Makefile.in
+++ b/ext/fluidsynth/Makefile.in
@@ -701,6 +701,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/gl/Makefile.in b/ext/gl/Makefile.in
index e0146c2..beffad6 100644
--- a/ext/gl/Makefile.in
+++ b/ext/gl/Makefile.in
@@ -839,6 +839,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/gl/gstglcolorbalance.c b/ext/gl/gstglcolorbalance.c
index 92d4447..33b5a50 100644
--- a/ext/gl/gstglcolorbalance.c
+++ b/ext/gl/gstglcolorbalance.c
@@ -150,14 +150,17 @@
static void
gst_gl_color_balance_update_properties (GstGLColorBalance * glcolorbalance)
{
- gboolean passthrough;
+ gboolean current_passthrough, passthrough;
GstBaseTransform *base = GST_BASE_TRANSFORM (glcolorbalance);
GST_OBJECT_LOCK (glcolorbalance);
passthrough = gst_gl_color_balance_is_passthrough (glcolorbalance);
GST_OBJECT_UNLOCK (glcolorbalance);
+ current_passthrough = gst_base_transform_is_passthrough (base);
gst_base_transform_set_passthrough (base, passthrough);
+ if (current_passthrough != passthrough)
+ gst_base_transform_reconfigure_src (base);
}
static gboolean
diff --git a/ext/gl/gstgluploadelement.c b/ext/gl/gstgluploadelement.c
index f458a43..d3ed276 100644
--- a/ext/gl/gstgluploadelement.c
+++ b/ext/gl/gstgluploadelement.c
@@ -97,8 +97,6 @@
gst_gl_upload_element_init (GstGLUploadElement * upload)
{
gst_base_transform_set_prefer_passthrough (GST_BASE_TRANSFORM (upload), TRUE);
-
- upload->upload = gst_gl_upload_new (NULL);
}
static gboolean
@@ -138,6 +136,9 @@
GstGLUploadElement *upload = GST_GL_UPLOAD_ELEMENT (bt);
GstGLContext *context = GST_GL_BASE_FILTER (bt)->context;
+ if (upload->upload == NULL)
+ upload->upload = gst_gl_upload_new (NULL);
+
return gst_gl_upload_transform_caps (upload->upload, context, direction, caps,
filter);
}
diff --git a/ext/gme/Makefile.in b/ext/gme/Makefile.in
index fde997a..8f712bc 100644
--- a/ext/gme/Makefile.in
+++ b/ext/gme/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/gsm/Makefile.in b/ext/gsm/Makefile.in
index 7f8be44..2f553f8 100644
--- a/ext/gsm/Makefile.in
+++ b/ext/gsm/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/gtk/Makefile.in b/ext/gtk/Makefile.in
index 1cc91c6..af84c98 100644
--- a/ext/gtk/Makefile.in
+++ b/ext/gtk/Makefile.in
@@ -707,6 +707,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/hls/Makefile.in b/ext/hls/Makefile.in
index b3346df..21d9463 100644
--- a/ext/hls/Makefile.in
+++ b/ext/hls/Makefile.in
@@ -700,6 +700,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/kate/Makefile.in b/ext/kate/Makefile.in
index 23c336a..70879e9 100644
--- a/ext/kate/Makefile.in
+++ b/ext/kate/Makefile.in
@@ -699,6 +699,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/ladspa/Makefile.in b/ext/ladspa/Makefile.in
index 4501dd5..274d3db 100644
--- a/ext/ladspa/Makefile.in
+++ b/ext/ladspa/Makefile.in
@@ -698,6 +698,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/libde265/Makefile.in b/ext/libde265/Makefile.in
index 0be80e0..484db3b 100644
--- a/ext/libde265/Makefile.in
+++ b/ext/libde265/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/libmms/Makefile.in b/ext/libmms/Makefile.in
index 46c3c26..02fadaa 100644
--- a/ext/libmms/Makefile.in
+++ b/ext/libmms/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/libvisual/Makefile.in b/ext/libvisual/Makefile.in
index af32101..4fd8b2d 100644
--- a/ext/libvisual/Makefile.in
+++ b/ext/libvisual/Makefile.in
@@ -691,6 +691,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/lv2/Makefile.in b/ext/lv2/Makefile.in
index 66791d3..24389e9 100644
--- a/ext/lv2/Makefile.in
+++ b/ext/lv2/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/lv2/gstlv2filter.c b/ext/lv2/gstlv2filter.c
index 0ef6ade..03181e5 100644
--- a/ext/lv2/gstlv2filter.c
+++ b/ext/lv2/gstlv2filter.c
@@ -390,13 +390,18 @@
/* multi channel inputs */
lv2_group = &lv2_class->in_group;
samples = nframes / lv2_group->ports->len;
- in = g_new0 (gfloat, nframes);
GST_LOG_OBJECT (self, "in : samples=%u, nframes=%u, ports=%d", samples,
nframes, lv2_group->ports->len);
- if (lv2_group->ports->len > 1)
+ if (lv2_group->ports->len > 1) {
+ in = g_new0 (gfloat, nframes);
+ out = g_new0 (gfloat, samples * lv2_group->ports->len);
gst_lv2_filter_deinterleave_data (lv2_group->ports->len, in,
samples, (gfloat *) in_map->data);
+ } else {
+ in = (gfloat *) in_map->data;
+ out = (gfloat *) out_map->data;
+ }
for (j = 0; j < lv2_group->ports->len; ++j) {
lv2_port = &g_array_index (lv2_group->ports, GstLV2Port, j);
@@ -407,7 +412,7 @@
/* multi channel outputs */
lv2_group = &lv2_class->out_group;
out_samples = nframes / lv2_group->ports->len;
- out = g_new0 (gfloat, samples * lv2_group->ports->len);
+
GST_LOG_OBJECT (self, "out: samples=%u, nframes=%u, ports=%d", out_samples,
nframes, lv2_group->ports->len);
for (j = 0; j < lv2_group->ports->len; ++j) {
@@ -434,11 +439,12 @@
lilv_instance_run (self->lv2.instance, samples);
- if (lv2_group->ports->len > 1)
+ if (lv2_group->ports->len > 1) {
gst_lv2_filter_interleave_data (lv2_group->ports->len,
(gfloat *) out_map->data, out_samples, out);
- g_free (out);
- g_free (in);
+ g_free (out);
+ g_free (in);
+ }
g_free (cv);
return GST_FLOW_OK;
diff --git a/ext/mimic/Makefile.in b/ext/mimic/Makefile.in
index 76ceca7..2289d2c 100644
--- a/ext/mimic/Makefile.in
+++ b/ext/mimic/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/modplug/Makefile.in b/ext/modplug/Makefile.in
index af558c3..b34fa04 100644
--- a/ext/modplug/Makefile.in
+++ b/ext/modplug/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/mpeg2enc/Makefile.in b/ext/mpeg2enc/Makefile.in
index 15f0c3a..7506150 100644
--- a/ext/mpeg2enc/Makefile.in
+++ b/ext/mpeg2enc/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/mplex/Makefile.in b/ext/mplex/Makefile.in
index e9314b6..2eee97f 100644
--- a/ext/mplex/Makefile.in
+++ b/ext/mplex/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/musepack/Makefile.in b/ext/musepack/Makefile.in
index 3ae8534..ade1322 100644
--- a/ext/musepack/Makefile.in
+++ b/ext/musepack/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/nas/Makefile.in b/ext/nas/Makefile.in
index 3e8f341..5ba5243 100644
--- a/ext/nas/Makefile.in
+++ b/ext/nas/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/neon/Makefile.in b/ext/neon/Makefile.in
index 4f6db41..c63636c 100644
--- a/ext/neon/Makefile.in
+++ b/ext/neon/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/ofa/Makefile.in b/ext/ofa/Makefile.in
index 76fccab..6630934 100644
--- a/ext/ofa/Makefile.in
+++ b/ext/ofa/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/openal/Makefile.in b/ext/openal/Makefile.in
index a32853d..b14865e 100644
--- a/ext/openal/Makefile.in
+++ b/ext/openal/Makefile.in
@@ -698,6 +698,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/opencv/Makefile.in b/ext/opencv/Makefile.in
index a5a6462..bac0228 100644
--- a/ext/opencv/Makefile.in
+++ b/ext/opencv/Makefile.in
@@ -715,6 +715,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/openexr/Makefile.in b/ext/openexr/Makefile.in
index 6413382..8ac7422 100644
--- a/ext/openexr/Makefile.in
+++ b/ext/openexr/Makefile.in
@@ -713,6 +713,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/openh264/Makefile.in b/ext/openh264/Makefile.in
index 33cf4a7..c1d96e5 100644
--- a/ext/openh264/Makefile.in
+++ b/ext/openh264/Makefile.in
@@ -713,6 +713,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/openjpeg/Makefile.in b/ext/openjpeg/Makefile.in
index 37a5238..9cb847d 100644
--- a/ext/openjpeg/Makefile.in
+++ b/ext/openjpeg/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/openjpeg/gstopenjpegdec.c b/ext/openjpeg/gstopenjpegdec.c
index 075bd12..60b9543 100644
--- a/ext/openjpeg/gstopenjpegdec.c
+++ b/ext/openjpeg/gstopenjpegdec.c
@@ -208,29 +208,30 @@
static void
fill_frame_packed8_4 (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint8 *data_out, *tmp;
const gint *data_in[4];
gint dstride;
+ gint off[4];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0);
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
- data_in[3] = image->comps[3].data;
+ for (c = 0; c < 4; c++) {
+ data_in[c] = image->comps[c].data;
+ off[c] = 0x80 * image->comps[c].sgnd;
+ }
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- tmp[0] = *data_in[3];
- tmp[1] = *data_in[0];
- tmp[2] = *data_in[1];
- tmp[3] = *data_in[2];
+ tmp[0] = off[3] + *data_in[3];
+ tmp[1] = off[0] + *data_in[0];
+ tmp[2] = off[1] + *data_in[1];
+ tmp[3] = off[2] + *data_in[2];
tmp += 4;
data_in[0]++;
@@ -245,35 +246,33 @@
static void
fill_frame_packed16_4 (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint16 *data_out, *tmp;
const gint *data_in[4];
gint dstride;
- gint shift[4];
+ gint shift[4], off[4];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0) / 2;
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
- data_in[3] = image->comps[3].data;
-
- shift[0] = 16 - image->comps[0].prec;
- shift[1] = 16 - image->comps[1].prec;
- shift[2] = 16 - image->comps[2].prec;
- shift[3] = 16 - image->comps[3].prec;
+ for (c = 0; c < 4; c++) {
+ data_in[c] = image->comps[c].data;
+ off[c] = (1 << (image->comps[c].prec - 1)) * image->comps[c].sgnd;
+ shift[c] =
+ MAX (MIN (GST_VIDEO_FRAME_COMP_DEPTH (frame, c) - image->comps[c].prec,
+ 8), 0);
+ }
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- tmp[0] = *data_in[3] << shift[3];
- tmp[1] = *data_in[0] << shift[0];
- tmp[2] = *data_in[1] << shift[1];
- tmp[3] = *data_in[2] << shift[2];
+ tmp[0] = off[3] + (*data_in[3] << shift[3]);
+ tmp[1] = off[0] + (*data_in[0] << shift[0]);
+ tmp[2] = off[1] + (*data_in[1] << shift[1]);
+ tmp[3] = off[2] + (*data_in[2] << shift[2]);
tmp += 4;
data_in[0]++;
@@ -288,27 +287,29 @@
static void
fill_frame_packed8_3 (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint8 *data_out, *tmp;
const gint *data_in[3];
gint dstride;
+ gint off[3];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0);
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
+ for (c = 0; c < 3; c++) {
+ data_in[c] = image->comps[c].data;
+ off[c] = 0x80 * image->comps[c].sgnd;
+ };
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- tmp[1] = *data_in[0];
- tmp[2] = *data_in[1];
- tmp[3] = *data_in[2];
+ tmp[1] = off[0] + *data_in[0];
+ tmp[2] = off[1] + *data_in[1];
+ tmp[3] = off[2] + *data_in[2];
tmp += 4;
data_in[0]++;
@@ -322,32 +323,32 @@
static void
fill_frame_packed16_3 (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint16 *data_out, *tmp;
const gint *data_in[3];
gint dstride;
- gint shift[3];
+ gint shift[3], off[3];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0) / 2;
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
-
- shift[0] = 16 - image->comps[0].prec;
- shift[1] = 16 - image->comps[1].prec;
- shift[2] = 16 - image->comps[2].prec;
+ for (c = 0; c < 3; c++) {
+ data_in[c] = image->comps[c].data;
+ off[c] = (1 << (image->comps[c].prec - 1)) * image->comps[c].sgnd;
+ shift[c] =
+ MAX (MIN (GST_VIDEO_FRAME_COMP_DEPTH (frame, c) - image->comps[c].prec,
+ 8), 0);
+ }
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- tmp[1] = *data_in[0] << shift[0];
- tmp[2] = *data_in[1] << shift[1];
- tmp[3] = *data_in[2] << shift[2];
+ tmp[1] = off[0] + (*data_in[0] << shift[0]);
+ tmp[2] = off[1] + (*data_in[1] << shift[1]);
+ tmp[3] = off[2] + (*data_in[2] << shift[2]);
tmp += 4;
data_in[0]++;
@@ -365,6 +366,7 @@
guint8 *data_out, *tmp;
const gint *data_in;
gint dstride;
+ gint off;
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
@@ -372,12 +374,13 @@
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0);
data_in = image->comps[0].data;
+ off = 0x80 * image->comps[0].sgnd;
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- *tmp = *data_in;
+ *tmp = off + *data_in;
tmp++;
data_in++;
@@ -393,7 +396,7 @@
guint16 *data_out, *tmp;
const gint *data_in;
gint dstride;
- gint shift;
+ gint shift, off;
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
@@ -402,13 +405,16 @@
data_in = image->comps[0].data;
- shift = 16 - image->comps[0].prec;
+ off = (1 << (image->comps[0].prec - 1)) * image->comps[0].sgnd;
+ shift =
+ MAX (MIN (GST_VIDEO_FRAME_COMP_DEPTH (frame, 0) - image->comps[0].prec,
+ 8), 0);
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- *tmp = *data_in << shift;
+ *tmp = off + (*data_in << shift);
tmp++;
data_in++;
@@ -423,7 +429,7 @@
gint c, x, y, w, h;
guint8 *data_out, *tmp;
const gint *data_in;
- gint dstride;
+ gint dstride, off;
for (c = 0; c < 3; c++) {
w = GST_VIDEO_FRAME_COMP_WIDTH (frame, c);
@@ -431,12 +437,13 @@
dstride = GST_VIDEO_FRAME_COMP_STRIDE (frame, c);
data_out = GST_VIDEO_FRAME_COMP_DATA (frame, c);
data_in = image->comps[c].data;
+ off = 0x80 * image->comps[c].sgnd;
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- *tmp = *data_in;
+ *tmp = off + *data_in;
tmp++;
data_in++;
}
@@ -452,7 +459,7 @@
guint16 *data_out, *tmp;
const gint *data_in;
gint dstride;
- gint shift;
+ gint shift, off;
for (c = 0; c < 3; c++) {
w = GST_VIDEO_FRAME_COMP_WIDTH (frame, c);
@@ -460,13 +467,16 @@
dstride = GST_VIDEO_FRAME_COMP_STRIDE (frame, c) / 2;
data_out = (guint16 *) GST_VIDEO_FRAME_COMP_DATA (frame, c);
data_in = image->comps[c].data;
- shift = 16 - image->comps[c].prec;
+ off = (1 << (image->comps[c].prec - 1)) * image->comps[c].sgnd;
+ shift =
+ MAX (MIN (GST_VIDEO_FRAME_COMP_DEPTH (frame, c) - image->comps[c].prec,
+ 8), 0);
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- *tmp = *data_in << shift;
+ *tmp = off + (*data_in << shift);
tmp++;
data_in++;
}
@@ -478,37 +488,32 @@
static void
fill_frame_planar8_3_generic (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint8 *data_out, *tmp;
const gint *data_in[3];
gint dstride;
- gint dx[3], dy[3];
+ gint dx[3], dy[3], off[3];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0);
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
-
- dx[0] = image->comps[0].dx;
- dx[1] = image->comps[1].dx;
- dx[2] = image->comps[2].dx;
-
- dy[0] = image->comps[0].dy;
- dy[1] = image->comps[1].dy;
- dy[2] = image->comps[2].dy;
+ for (c = 0; c < 3; c++) {
+ data_in[c] = image->comps[c].data;
+ dx[c] = image->comps[c].dx;
+ dy[c] = image->comps[c].dy;
+ off[c] = 0x80 * image->comps[c].sgnd;
+ }
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
tmp[0] = 0xff;
- tmp[1] = data_in[0][((y / dy[0]) * w + x) / dx[0]];
- tmp[2] = data_in[1][((y / dy[1]) * w + x) / dx[1]];
- tmp[3] = data_in[2][((y / dy[2]) * w + x) / dx[2]];
+ tmp[1] = off[0] + data_in[0][((y / dy[0]) * w + x) / dx[0]];
+ tmp[2] = off[1] + data_in[1][((y / dy[1]) * w + x) / dx[1]];
+ tmp[3] = off[2] + data_in[2][((y / dy[2]) * w + x) / dx[2]];
tmp += 4;
}
data_out += dstride;
@@ -518,40 +523,32 @@
static void
fill_frame_planar8_4_generic (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint8 *data_out, *tmp;
const gint *data_in[4];
gint dstride;
- gint dx[4], dy[4];
+ gint dx[4], dy[4], off[4];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0);
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
- data_in[3] = image->comps[3].data;
-
- dx[0] = image->comps[0].dx;
- dx[1] = image->comps[1].dx;
- dx[2] = image->comps[2].dx;
- dx[3] = image->comps[3].dx;
-
- dy[0] = image->comps[0].dy;
- dy[1] = image->comps[1].dy;
- dy[2] = image->comps[2].dy;
- dy[3] = image->comps[3].dy;
+ for (c = 0; c < 4; c++) {
+ data_in[c] = image->comps[c].data;
+ dx[c] = image->comps[c].dx;
+ dy[c] = image->comps[c].dy;
+ off[c] = 0x80 * image->comps[c].sgnd;
+ }
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- tmp[0] = data_in[3][((y / dy[3]) * w + x) / dx[3]];
- tmp[1] = data_in[0][((y / dy[0]) * w + x) / dx[0]];
- tmp[2] = data_in[1][((y / dy[1]) * w + x) / dx[1]];
- tmp[3] = data_in[2][((y / dy[2]) * w + x) / dx[2]];
+ tmp[0] = off[3] + data_in[3][((y / dy[3]) * w + x) / dx[3]];
+ tmp[1] = off[0] + data_in[0][((y / dy[0]) * w + x) / dx[0]];
+ tmp[2] = off[1] + data_in[1][((y / dy[1]) * w + x) / dx[1]];
+ tmp[3] = off[2] + data_in[2][((y / dy[2]) * w + x) / dx[2]];
tmp += 4;
}
data_out += dstride;
@@ -561,41 +558,35 @@
static void
fill_frame_planar16_3_generic (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint16 *data_out, *tmp;
const gint *data_in[3];
gint dstride;
- gint dx[3], dy[3], shift[3];
+ gint dx[3], dy[3], shift[3], off[3];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = (guint16 *) GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0) / 2;
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
-
- dx[0] = image->comps[0].dx;
- dx[1] = image->comps[1].dx;
- dx[2] = image->comps[2].dx;
-
- dy[0] = image->comps[0].dy;
- dy[1] = image->comps[1].dy;
- dy[2] = image->comps[2].dy;
-
- shift[0] = 16 - image->comps[0].prec;
- shift[1] = 16 - image->comps[1].prec;
- shift[2] = 16 - image->comps[2].prec;
+ for (c = 0; c < 3; c++) {
+ dx[c] = image->comps[c].dx;
+ dy[c] = image->comps[c].dy;
+ data_in[c] = image->comps[c].data;
+ off[c] = (1 << (image->comps[c].prec - 1)) * image->comps[c].sgnd;
+ shift[c] =
+ MAX (MIN (GST_VIDEO_FRAME_COMP_DEPTH (frame, c) - image->comps[c].prec,
+ 8), 0);
+ }
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
tmp[0] = 0xff;
- tmp[1] = data_in[0][((y / dy[0]) * w + x) / dx[0]] << shift[0];
- tmp[2] = data_in[1][((y / dy[1]) * w + x) / dx[1]] << shift[1];
- tmp[3] = data_in[2][((y / dy[2]) * w + x) / dx[2]] << shift[2];
+ tmp[1] = off[0] + (data_in[0][((y / dy[0]) * w + x) / dx[0]] << shift[0]);
+ tmp[2] = off[1] + (data_in[1][((y / dy[1]) * w + x) / dx[1]] << shift[1]);
+ tmp[3] = off[2] + (data_in[2][((y / dy[2]) * w + x) / dx[2]] << shift[2]);
tmp += 4;
}
data_out += dstride;
@@ -605,45 +596,35 @@
static void
fill_frame_planar16_4_generic (GstVideoFrame * frame, opj_image_t * image)
{
- gint x, y, w, h;
+ gint x, y, w, h, c;
guint16 *data_out, *tmp;
const gint *data_in[4];
gint dstride;
- gint dx[4], dy[4], shift[4];
+ gint dx[4], dy[4], shift[4], off[4];
w = GST_VIDEO_FRAME_WIDTH (frame);
h = GST_VIDEO_FRAME_HEIGHT (frame);
data_out = (guint16 *) GST_VIDEO_FRAME_PLANE_DATA (frame, 0);
dstride = GST_VIDEO_FRAME_PLANE_STRIDE (frame, 0) / 2;
- data_in[0] = image->comps[0].data;
- data_in[1] = image->comps[1].data;
- data_in[2] = image->comps[2].data;
- data_in[3] = image->comps[3].data;
-
- dx[0] = image->comps[0].dx;
- dx[1] = image->comps[1].dx;
- dx[2] = image->comps[2].dx;
- dx[3] = image->comps[3].dx;
-
- dy[0] = image->comps[0].dy;
- dy[1] = image->comps[1].dy;
- dy[2] = image->comps[2].dy;
- dy[3] = image->comps[3].dy;
-
- shift[0] = 16 - image->comps[0].prec;
- shift[1] = 16 - image->comps[1].prec;
- shift[2] = 16 - image->comps[2].prec;
- shift[3] = 16 - image->comps[3].prec;
+ for (c = 0; c < 4; c++) {
+ dx[c] = image->comps[c].dx;
+ dy[c] = image->comps[c].dy;
+ data_in[c] = image->comps[c].data;
+ off[c] = (1 << (image->comps[c].prec - 1)) * image->comps[c].sgnd;
+ shift[c] =
+ MAX (MIN (GST_VIDEO_FRAME_COMP_DEPTH (frame, c) - image->comps[c].prec,
+ 8), 0);
+ }
for (y = 0; y < h; y++) {
tmp = data_out;
for (x = 0; x < w; x++) {
- tmp[0] = data_in[3][((y / dy[3]) * w + x) / dx[3]] << shift[3];
- tmp[1] = data_in[0][((y / dy[0]) * w + x) / dx[0]] << shift[0];
- tmp[2] = data_in[1][((y / dy[1]) * w + x) / dx[1]] << shift[1];
- tmp[3] = data_in[2][((y / dy[2]) * w + x) / dx[2]] << shift[2];
+ tmp[0] = off[3] + (data_in[3][((y / dy[3]) * w + x) / dx[3]] << shift[3]);
+ tmp[1] = off[0] + (data_in[0][((y / dy[0]) * w + x) / dx[0]] << shift[0]);
+ tmp[2] = off[1] + (data_in[1][((y / dy[1]) * w + x) / dx[1]] << shift[1]);
+ tmp[3] = off[2] + (data_in[2][((y / dy[2]) * w + x) / dx[2]] << shift[2]);
tmp += 4;
}
data_out += dstride;
diff --git a/ext/openni2/Makefile.in b/ext/openni2/Makefile.in
index 617c725..0b0e08a 100644
--- a/ext/openni2/Makefile.in
+++ b/ext/openni2/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/opus/Makefile.in b/ext/opus/Makefile.in
index e8ec31c..d3da9e5 100644
--- a/ext/opus/Makefile.in
+++ b/ext/opus/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/qt/Makefile.in b/ext/qt/Makefile.in
index f72a489..5b648c4 100644
--- a/ext/qt/Makefile.in
+++ b/ext/qt/Makefile.in
@@ -721,6 +721,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc
index 13208c0..85747f2 100644
--- a/ext/qt/gstqsgtexture.cc
+++ b/ext/qt/gstqsgtexture.cc
@@ -45,6 +45,7 @@
gst_video_info_init (&this->v_info);
this->buffer_ = NULL;
+ this->qt_context_ = NULL;
this->sync_buffer_ = gst_buffer_new ();
}
@@ -87,6 +88,9 @@
GstMemory *mem;
guint tex_id;
+ if (!this->qt_context_)
+ return;
+
gst_gl_context_activate (this->qt_context_, TRUE);
if (!this->buffer_)
diff --git a/ext/resindvd/Makefile.in b/ext/resindvd/Makefile.in
index e6ace0f..56251dd 100644
--- a/ext/resindvd/Makefile.in
+++ b/ext/resindvd/Makefile.in
@@ -703,6 +703,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/rsvg/Makefile.in b/ext/rsvg/Makefile.in
index f78c220..87a5781 100644
--- a/ext/rsvg/Makefile.in
+++ b/ext/rsvg/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/rtmp/Makefile.in b/ext/rtmp/Makefile.in
index cc555d6..b737006 100644
--- a/ext/rtmp/Makefile.in
+++ b/ext/rtmp/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/sbc/Makefile.in b/ext/sbc/Makefile.in
index 69f7442..87a37fa 100644
--- a/ext/sbc/Makefile.in
+++ b/ext/sbc/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/schroedinger/Makefile.in b/ext/schroedinger/Makefile.in
index 2d3cad8..f2800c3 100644
--- a/ext/schroedinger/Makefile.in
+++ b/ext/schroedinger/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/sdl/Makefile.in b/ext/sdl/Makefile.in
index ef29cfb..d5548f8 100644
--- a/ext/sdl/Makefile.in
+++ b/ext/sdl/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/smoothstreaming/Makefile.in b/ext/smoothstreaming/Makefile.in
index 94fb8e8..a7146a7 100644
--- a/ext/smoothstreaming/Makefile.in
+++ b/ext/smoothstreaming/Makefile.in
@@ -699,6 +699,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/sndfile/Makefile.in b/ext/sndfile/Makefile.in
index 8f5dc13..302d860 100644
--- a/ext/sndfile/Makefile.in
+++ b/ext/sndfile/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/sndio/Makefile.in b/ext/sndio/Makefile.in
index 2d2ea8f..9f4b22d 100644
--- a/ext/sndio/Makefile.in
+++ b/ext/sndio/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/soundtouch/Makefile.in b/ext/soundtouch/Makefile.in
index 82241e6..c216413 100644
--- a/ext/soundtouch/Makefile.in
+++ b/ext/soundtouch/Makefile.in
@@ -714,6 +714,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/spandsp/Makefile.in b/ext/spandsp/Makefile.in
index b36a563..f9a21c1 100644
--- a/ext/spandsp/Makefile.in
+++ b/ext/spandsp/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/spc/Makefile.in b/ext/spc/Makefile.in
index b2bb741..efd1e38 100644
--- a/ext/spc/Makefile.in
+++ b/ext/spc/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/srtp/Makefile.in b/ext/srtp/Makefile.in
index 29a2e76..1895c1b 100644
--- a/ext/srtp/Makefile.in
+++ b/ext/srtp/Makefile.in
@@ -703,6 +703,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/srtp/gstsrtpenc.c b/ext/srtp/gstsrtpenc.c
index 7f46a4f..c9ae980 100644
--- a/ext/srtp/gstsrtpenc.c
+++ b/ext/srtp/gstsrtpenc.c
@@ -386,9 +386,11 @@
gsize keysize;
if (filter->key == NULL) {
+ GST_OBJECT_UNLOCK (filter);
GST_ELEMENT_ERROR (filter, LIBRARY, SETTINGS,
("Cipher is not NULL, key must be set"),
("Cipher is not NULL, key must be set"));
+ GST_OBJECT_LOCK (filter);
return err_status_fail;
}
@@ -396,10 +398,12 @@
keysize = gst_buffer_get_size (filter->key);
if (expected != keysize) {
+ GST_OBJECT_UNLOCK (filter);
GST_ELEMENT_ERROR (filter, LIBRARY, SETTINGS,
("Master key size is wrong"),
("Expected master key of %d bytes, but received %" G_GSIZE_FORMAT
" bytes", expected, keysize));
+ GST_OBJECT_LOCK (filter);
return err_status_fail;
}
}
diff --git a/ext/teletextdec/Makefile.in b/ext/teletextdec/Makefile.in
index 6f51c8d..f73d19c 100644
--- a/ext/teletextdec/Makefile.in
+++ b/ext/teletextdec/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/timidity/Makefile.in b/ext/timidity/Makefile.in
index 177dd58..0cfebaf 100644
--- a/ext/timidity/Makefile.in
+++ b/ext/timidity/Makefile.in
@@ -712,6 +712,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/voaacenc/Makefile.in b/ext/voaacenc/Makefile.in
index 0339a41..8cabe02 100644
--- a/ext/voaacenc/Makefile.in
+++ b/ext/voaacenc/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/voamrwbenc/Makefile.in b/ext/voamrwbenc/Makefile.in
index 19fd71b..7c719d9 100644
--- a/ext/voamrwbenc/Makefile.in
+++ b/ext/voamrwbenc/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/vulkan/Makefile.in b/ext/vulkan/Makefile.in
index 87bf6c3..c4dd3d5 100644
--- a/ext/vulkan/Makefile.in
+++ b/ext/vulkan/Makefile.in
@@ -747,6 +747,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/vulkan/vkupload.c b/ext/vulkan/vkupload.c
index c0f0a97..4988c64 100644
--- a/ext/vulkan/vkupload.c
+++ b/ext/vulkan/vkupload.c
@@ -161,7 +161,8 @@
}
static GstStaticCaps _buffer_in_templ =
-GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER ")");
+ GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER ") ;"
+ "video/x-raw");
static GstStaticCaps _buffer_out_templ =
GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER ")");
diff --git a/ext/vulkan/vkutils.c b/ext/vulkan/vkutils.c
index 4b54755..1c25cb8 100644
--- a/ext/vulkan/vkutils.c
+++ b/ext/vulkan/vkutils.c
@@ -36,6 +36,7 @@
if (check_count <= 0 || layer_count <= 0) {
GST_WARNING ("no layers requested or supported");
+ *supported_layers = NULL;
return FALSE;
}
@@ -55,6 +56,7 @@
GST_WARNING ("Cannot find layer: %s", check_names[i]);
}
+ (*supported_layers)[k] = NULL;
*supported_layers_count = g_strv_length (*supported_layers);
return TRUE;
diff --git a/ext/vulkan/wayland/Makefile.in b/ext/vulkan/wayland/Makefile.in
index 3a341ca..44513f9 100644
--- a/ext/vulkan/wayland/Makefile.in
+++ b/ext/vulkan/wayland/Makefile.in
@@ -668,6 +668,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/vulkan/xcb/Makefile.in b/ext/vulkan/xcb/Makefile.in
index 50b4de2..562e2ec 100644
--- a/ext/vulkan/xcb/Makefile.in
+++ b/ext/vulkan/xcb/Makefile.in
@@ -666,6 +666,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/wayland/Makefile.am b/ext/wayland/Makefile.am
index c742bfc..a23d44d 100644
--- a/ext/wayland/Makefile.am
+++ b/ext/wayland/Makefile.am
@@ -1,13 +1,16 @@
plugin_LTLIBRARIES = libgstwaylandsink.la
+BUILT_SOURCES = viewporter-protocol.c viewporter-client-protocol.h
+
libgstwaylandsink_la_SOURCES = \
gstwaylandsink.c \
wlshmallocator.c \
wlbuffer.c \
wldisplay.c \
wlwindow.c \
- wlvideoformat.c \
- scaler-protocol.c
+ wlvideoformat.c
+
+nodist_libgstwaylandsink_la_SOURCES = viewporter-protocol.c
libgstwaylandsink_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
$(WAYLAND_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
@@ -26,24 +29,22 @@
wlbuffer.h \
wldisplay.h \
wlwindow.h \
- wlvideoformat.h \
- scaler-client-protocol.h
+ wlvideoformat.h
-EXTRA_DIST = scaler.xml
-CLEANFILES = scaler-protocol.c scaler-client-protocol.h
+CLEANFILES = $(BUILT_SOURCES)
-%-protocol.c : %.xml
- $(wayland_scanner) code < $< > $@
+.SECONDEXPANSION:
-%-client-protocol.h : %.xml
- $(wayland_scanner) client-header < $< > $@
+define protostability
+$(if $(findstring unstable,$1),unstable,stable)
+endef
-gstwaylandsink.c: scaler-client-protocol.h
+define protoname
+$(shell echo $1 | sed 's/\([a-z\-]\+\)-[a-z]\+-v[0-9]\+/\1/')
+endef
-wlshmallocator.c: scaler-client-protocol.h
+%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
+ $(AM_V_GEN)$(wayland_scanner) code < $< > $@
-wlbuffer.c: scaler-client-protocol.h
-
-wldisplay.c: scaler-client-protocol.h
-
-wlwindow.c: scaler-client-protocol.h
+%-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
+ $(AM_V_GEN)$(wayland_scanner) client-header < $< > $@
diff --git a/ext/wayland/Makefile.in b/ext/wayland/Makefile.in
index 5184585..0f61a1c 100644
--- a/ext/wayland/Makefile.in
+++ b/ext/wayland/Makefile.in
@@ -172,9 +172,11 @@
libgstwaylandsink_la-wlbuffer.lo \
libgstwaylandsink_la-wldisplay.lo \
libgstwaylandsink_la-wlwindow.lo \
- libgstwaylandsink_la-wlvideoformat.lo \
- libgstwaylandsink_la-scaler-protocol.lo
-libgstwaylandsink_la_OBJECTS = $(am_libgstwaylandsink_la_OBJECTS)
+ libgstwaylandsink_la-wlvideoformat.lo
+nodist_libgstwaylandsink_la_OBJECTS = \
+ libgstwaylandsink_la-viewporter-protocol.lo
+libgstwaylandsink_la_OBJECTS = $(am_libgstwaylandsink_la_OBJECTS) \
+ $(nodist_libgstwaylandsink_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
@@ -217,7 +219,8 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libgstwaylandsink_la_SOURCES)
+SOURCES = $(libgstwaylandsink_la_SOURCES) \
+ $(nodist_libgstwaylandsink_la_SOURCES)
DIST_SOURCES = $(libgstwaylandsink_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
@@ -701,6 +704,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
@@ -794,15 +800,16 @@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
plugin_LTLIBRARIES = libgstwaylandsink.la
+BUILT_SOURCES = viewporter-protocol.c viewporter-client-protocol.h
libgstwaylandsink_la_SOURCES = \
gstwaylandsink.c \
wlshmallocator.c \
wlbuffer.c \
wldisplay.c \
wlwindow.c \
- wlvideoformat.c \
- scaler-protocol.c
+ wlvideoformat.c
+nodist_libgstwaylandsink_la_SOURCES = viewporter-protocol.c
libgstwaylandsink_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
$(WAYLAND_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
@@ -821,12 +828,11 @@
wlbuffer.h \
wldisplay.h \
wlwindow.h \
- wlvideoformat.h \
- scaler-client-protocol.h
+ wlvideoformat.h
-EXTRA_DIST = scaler.xml
-CLEANFILES = scaler-protocol.c scaler-client-protocol.h
-all: all-am
+CLEANFILES = $(BUILT_SOURCES)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
@@ -905,7 +911,7 @@
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwaylandsink_la-gstwaylandsink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwaylandsink_la-scaler-protocol.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwaylandsink_la-viewporter-protocol.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwaylandsink_la-wlbuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwaylandsink_la-wldisplay.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstwaylandsink_la-wlshmallocator.Plo@am__quote@
@@ -978,12 +984,12 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstwaylandsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwaylandsink_la_CFLAGS) $(CFLAGS) -c -o libgstwaylandsink_la-wlvideoformat.lo `test -f 'wlvideoformat.c' || echo '$(srcdir)/'`wlvideoformat.c
-libgstwaylandsink_la-scaler-protocol.lo: scaler-protocol.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstwaylandsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwaylandsink_la_CFLAGS) $(CFLAGS) -MT libgstwaylandsink_la-scaler-protocol.lo -MD -MP -MF $(DEPDIR)/libgstwaylandsink_la-scaler-protocol.Tpo -c -o libgstwaylandsink_la-scaler-protocol.lo `test -f 'scaler-protocol.c' || echo '$(srcdir)/'`scaler-protocol.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstwaylandsink_la-scaler-protocol.Tpo $(DEPDIR)/libgstwaylandsink_la-scaler-protocol.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scaler-protocol.c' object='libgstwaylandsink_la-scaler-protocol.lo' libtool=yes @AMDEPBACKSLASH@
+libgstwaylandsink_la-viewporter-protocol.lo: viewporter-protocol.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstwaylandsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwaylandsink_la_CFLAGS) $(CFLAGS) -MT libgstwaylandsink_la-viewporter-protocol.lo -MD -MP -MF $(DEPDIR)/libgstwaylandsink_la-viewporter-protocol.Tpo -c -o libgstwaylandsink_la-viewporter-protocol.lo `test -f 'viewporter-protocol.c' || echo '$(srcdir)/'`viewporter-protocol.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstwaylandsink_la-viewporter-protocol.Tpo $(DEPDIR)/libgstwaylandsink_la-viewporter-protocol.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='viewporter-protocol.c' object='libgstwaylandsink_la-viewporter-protocol.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 $(libgstwaylandsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwaylandsink_la_CFLAGS) $(CFLAGS) -c -o libgstwaylandsink_la-scaler-protocol.lo `test -f 'scaler-protocol.c' || echo '$(srcdir)/'`scaler-protocol.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstwaylandsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstwaylandsink_la_CFLAGS) $(CFLAGS) -c -o libgstwaylandsink_la-viewporter-protocol.lo `test -f 'viewporter-protocol.c' || echo '$(srcdir)/'`viewporter-protocol.c
mostlyclean-libtool:
-rm -f *.lo
@@ -1074,13 +1080,15 @@
fi; \
done
check-am: all-am
-check: check-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(plugindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
-install: install-am
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -1111,6 +1119,7 @@
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am
clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
@@ -1182,7 +1191,7 @@
uninstall-am: uninstall-pluginLTLIBRARIES
-.MAKE: install-am install-strip
+.MAKE: all check install install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
@@ -1202,21 +1211,21 @@
.PRECIOUS: Makefile
-%-protocol.c : %.xml
- $(wayland_scanner) code < $< > $@
+.SECONDEXPANSION:
-%-client-protocol.h : %.xml
- $(wayland_scanner) client-header < $< > $@
+define protostability
+$(if $(findstring unstable,$1),unstable,stable)
+endef
-gstwaylandsink.c: scaler-client-protocol.h
+define protoname
+$(shell echo $1 | sed 's/\([a-z\-]\+\)-[a-z]\+-v[0-9]\+/\1/')
+endef
-wlshmallocator.c: scaler-client-protocol.h
+%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
+ $(AM_V_GEN)$(wayland_scanner) code < $< > $@
-wlbuffer.c: scaler-client-protocol.h
-
-wldisplay.c: scaler-client-protocol.h
-
-wlwindow.c: scaler-client-protocol.h
+%-client-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
+ $(AM_V_GEN)$(wayland_scanner) client-header < $< > $@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
index 5d59525..6e7510b 100644
--- a/ext/wayland/gstwaylandsink.c
+++ b/ext/wayland/gstwaylandsink.c
@@ -89,11 +89,9 @@
static GstCaps *gst_wayland_sink_get_caps (GstBaseSink * bsink,
GstCaps * filter);
static gboolean gst_wayland_sink_set_caps (GstBaseSink * bsink, GstCaps * caps);
-static gboolean gst_wayland_sink_preroll (GstBaseSink * bsink,
- GstBuffer * buffer);
static gboolean
gst_wayland_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query);
-static gboolean gst_wayland_sink_render (GstBaseSink * bsink,
+static gboolean gst_wayland_sink_show_frame (GstVideoSink * bsink,
GstBuffer * buffer);
/* VideoOverlay interface */
@@ -124,10 +122,12 @@
GObjectClass *gobject_class;
GstElementClass *gstelement_class;
GstBaseSinkClass *gstbasesink_class;
+ GstVideoSinkClass *gstvideosink_class;
gobject_class = (GObjectClass *) klass;
gstelement_class = (GstElementClass *) klass;
gstbasesink_class = (GstBaseSinkClass *) klass;
+ gstvideosink_class = (GstVideoSinkClass *) klass;
gobject_class->set_property = gst_wayland_sink_set_property;
gobject_class->get_property = gst_wayland_sink_get_property;
@@ -148,10 +148,11 @@
gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_wayland_sink_get_caps);
gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_wayland_sink_set_caps);
- gstbasesink_class->preroll = GST_DEBUG_FUNCPTR (gst_wayland_sink_preroll);
gstbasesink_class->propose_allocation =
GST_DEBUG_FUNCPTR (gst_wayland_sink_propose_allocation);
- gstbasesink_class->render = GST_DEBUG_FUNCPTR (gst_wayland_sink_render);
+
+ gstvideosink_class->show_frame =
+ GST_DEBUG_FUNCPTR (gst_wayland_sink_show_frame);
g_object_class_install_property (gobject_class, PROP_DISPLAY,
g_param_spec_string ("display", "Wayland Display name", "Wayland "
@@ -396,17 +397,18 @@
enum wl_shm_format fmt;
g_value_init (&list, GST_TYPE_LIST);
- g_value_init (&value, G_TYPE_STRING);
formats = sink->display->shm_formats;
for (i = 0; i < formats->len; i++) {
+ g_value_init (&value, G_TYPE_STRING);
fmt = g_array_index (formats, uint32_t, i);
- g_value_set_string (&value, gst_wl_shm_format_to_string (fmt));
- gst_value_list_append_value (&list, &value);
+ g_value_set_static_string (&value, gst_wl_shm_format_to_string (fmt));
+ gst_value_list_append_and_take_value (&list, &value);
}
caps = gst_caps_make_writable (caps);
- gst_structure_set_value (gst_caps_get_structure (caps, 0), "format", &list);
+ gst_structure_take_value (gst_caps_get_structure (caps, 0), "format",
+ &list);
GST_DEBUG_OBJECT (sink, "display caps: %" GST_PTR_FORMAT, caps);
}
@@ -425,6 +427,28 @@
return caps;
}
+static GstBufferPool *
+gst_wayland_create_pool (GstWaylandSink * sink, GstCaps * caps)
+{
+ GstBufferPool *pool = NULL;
+ GstStructure *structure;
+ gsize size = sink->video_info.size;
+
+ pool = gst_video_buffer_pool_new ();
+
+ structure = gst_buffer_pool_get_config (pool);
+ gst_buffer_pool_config_set_params (structure, caps, size, 2, 0);
+ gst_buffer_pool_config_set_allocator (structure, gst_wl_shm_allocator_get (),
+ NULL);
+
+ if (!gst_buffer_pool_set_config (pool, structure)) {
+ g_object_unref (pool);
+ pool = NULL;
+ }
+
+ return pool;
+}
+
static gboolean
gst_wayland_sink_set_caps (GstBaseSink * bsink, GstCaps * caps)
{
@@ -434,7 +458,6 @@
enum wl_shm_format format;
GArray *formats;
gint i;
- GstStructure *structure;
sink = GST_WAYLAND_SINK (bsink);
@@ -458,22 +481,16 @@
if (i >= formats->len)
goto unsupported_format;
- /* create a new pool for the new configuration */
- newpool = gst_video_buffer_pool_new ();
- if (!newpool)
- goto pool_failed;
-
- structure = gst_buffer_pool_get_config (newpool);
- gst_buffer_pool_config_set_params (structure, caps, info.size, 2, 0);
- gst_buffer_pool_config_set_allocator (structure, gst_wl_shm_allocator_get (),
- NULL);
- if (!gst_buffer_pool_set_config (newpool, structure))
- goto config_failed;
-
/* store the video info */
sink->video_info = info;
sink->video_info_changed = TRUE;
+ /* create a new pool for the new configuration */
+ newpool = gst_wayland_create_pool (sink, caps);
+ if (!newpool)
+ goto pool_failed;
+
+
gst_object_replace ((GstObject **) & sink->pool, (GstObject *) newpool);
gst_object_unref (newpool);
@@ -481,25 +498,19 @@
invalid_format:
{
- GST_DEBUG_OBJECT (sink,
+ GST_ERROR_OBJECT (sink,
"Could not locate image format from caps %" GST_PTR_FORMAT, caps);
return FALSE;
}
unsupported_format:
{
- GST_DEBUG_OBJECT (sink, "Format %s is not available on the display",
+ GST_ERROR_OBJECT (sink, "Format %s is not available on the display",
gst_wl_shm_format_to_string (format));
return FALSE;
}
pool_failed:
{
- GST_DEBUG_OBJECT (sink, "Failed to create new pool");
- return FALSE;
- }
-config_failed:
- {
- GST_DEBUG_OBJECT (bsink, "failed setting config");
- gst_object_unref (newpool);
+ GST_ERROR_OBJECT (sink, "Failed to create new pool");
return FALSE;
}
}
@@ -508,29 +519,26 @@
gst_wayland_sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
{
GstWaylandSink *sink = GST_WAYLAND_SINK (bsink);
- GstStructure *config;
- guint size, min_bufs, max_bufs;
+ GstCaps *caps;
+ GstBufferPool *pool = NULL;
+ gboolean need_pool;
- config = gst_buffer_pool_get_config (sink->pool);
- gst_buffer_pool_config_get_params (config, NULL, &size, &min_bufs, &max_bufs);
+ gst_query_parse_allocation (query, &caps, &need_pool);
- /* we do have a pool for sure (created in set_caps),
- * so let's propose it anyway, but also propose the allocator on its own */
- gst_query_add_allocation_pool (query, sink->pool, size, min_bufs, max_bufs);
+ if (need_pool)
+ pool = gst_wayland_create_pool (sink, caps);
+
+ if (pool) {
+ gst_query_add_allocation_pool (query, pool, sink->video_info.size, 2, 0);
+ g_object_unref (pool);
+ }
+
gst_query_add_allocation_param (query, gst_wl_shm_allocator_get (), NULL);
-
- gst_structure_free (config);
+ gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE, NULL);
return TRUE;
}
-static GstFlowReturn
-gst_wayland_sink_preroll (GstBaseSink * bsink, GstBuffer * buffer)
-{
- GST_DEBUG_OBJECT (bsink, "preroll buffer %p", buffer);
- return gst_wayland_sink_render (bsink, buffer);
-}
-
static void
frame_redraw_callback (void *data, struct wl_callback *callback, uint32_t time)
{
@@ -538,7 +546,10 @@
GST_LOG ("frame_redraw_cb");
- g_atomic_int_set (&sink->redraw_pending, FALSE);
+ g_mutex_lock (&sink->render_lock);
+ sink->redraw_pending = FALSE;
+ g_mutex_unlock (&sink->render_lock);
+
wl_callback_destroy (callback);
}
@@ -558,7 +569,7 @@
wlbuffer = gst_buffer_get_wl_buffer (sink->last_buffer);
surface = gst_wl_window_get_wl_surface (sink->window);
- g_atomic_int_set (&sink->redraw_pending, TRUE);
+ sink->redraw_pending = TRUE;
callback = wl_surface_frame (surface);
wl_callback_add_listener (callback, &frame_callback_listener, sink);
@@ -570,9 +581,9 @@
}
static GstFlowReturn
-gst_wayland_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
+gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer)
{
- GstWaylandSink *sink = GST_WAYLAND_SINK (bsink);
+ GstWaylandSink *sink = GST_WAYLAND_SINK (vsink);
GstBuffer *to_render;
GstWlBuffer *wlbuffer;
GstFlowReturn ret = GST_FLOW_OK;
@@ -590,13 +601,13 @@
if (!sink->window) {
/* if we were not provided a window, create one ourselves */
- sink->window =
- gst_wl_window_new_toplevel (sink->display, &sink->video_info);
+ sink->window = gst_wl_window_new_toplevel (sink->display,
+ &sink->video_info, &sink->render_lock);
}
}
/* drop buffers until we get a frame callback */
- if (g_atomic_int_get (&sink->redraw_pending) == TRUE)
+ if (sink->redraw_pending)
goto done;
/* make sure that the application has called set_render_rectangle() */
@@ -610,12 +621,25 @@
"writing directly", buffer);
to_render = buffer;
} else {
+ GstVideoMeta *vmeta;
GstMemory *mem;
struct wl_buffer *wbuf = NULL;
+ /* update video info from video meta */
+ vmeta = gst_buffer_get_video_meta (buffer);
+ if (vmeta) {
+ gint i;
+
+ for (i = 0; i < vmeta->n_planes; i++) {
+ sink->video_info.offset[i] = vmeta->offset[i];
+ sink->video_info.stride[i] = vmeta->stride[i];
+ }
+ }
+
GST_LOG_OBJECT (sink, "buffer %p does not have a wl_buffer from our "
"display, creating it", buffer);
+ /* FIXME check all memory when introducing DMA-Buf */
mem = gst_buffer_peek_memory (buffer, 0);
if (gst_is_wl_shm_memory (mem)) {
@@ -627,7 +651,9 @@
gst_buffer_add_wl_buffer (buffer, wbuf, sink->display);
to_render = buffer;
} else {
- GstMapInfo src;
+ GstVideoFrame src, dst;
+ GstVideoInfo src_info = sink->video_info;
+
/* we don't know how to create a wl_buffer directly from the provided
* memory, so we have to copy the data to a memory that we know how
* to handle... */
@@ -637,9 +663,20 @@
/* sink->pool always exists (created in set_caps), but it may not
* be active if upstream is not using it */
- if (!gst_buffer_pool_is_active (sink->pool) &&
- !gst_buffer_pool_set_active (sink->pool, TRUE))
- goto activate_failed;
+ if (!gst_buffer_pool_is_active (sink->pool)) {
+ GstStructure *config;
+ GstCaps *caps;
+ guint size = sink->video_info.size;
+
+ config = gst_buffer_pool_get_config (sink->pool);
+ gst_buffer_pool_config_get_params (config, &caps, &size, NULL, NULL);
+ gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
+
+ /* This is a video pool, it should not fail with basic setings */
+ if (!gst_buffer_pool_set_config (sink->pool, config) ||
+ !gst_buffer_pool_set_active (sink->pool, TRUE))
+ goto activate_failed;
+ }
ret = gst_buffer_pool_acquire_buffer (sink->pool, &to_render, NULL);
if (ret != GST_FLOW_OK)
@@ -658,9 +695,19 @@
gst_buffer_add_wl_buffer (to_render, wbuf, sink->display);
}
- gst_buffer_map (buffer, &src, GST_MAP_READ);
- gst_buffer_fill (to_render, 0, src.data, src.size);
- gst_buffer_unmap (buffer, &src);
+ if (!gst_video_frame_map (&dst, &sink->video_info, to_render,
+ GST_MAP_WRITE))
+ goto dst_map_failed;
+
+ if (!gst_video_frame_map (&src, &src_info, buffer, GST_MAP_READ)) {
+ gst_video_frame_unmap (&dst);
+ goto src_map_failed;
+ }
+
+ gst_video_frame_copy (&dst, &src);
+
+ gst_video_frame_unmap (&src);
+ gst_video_frame_unmap (&dst);
}
}
@@ -702,6 +749,20 @@
ret = GST_FLOW_ERROR;
goto done;
}
+src_map_failed:
+ {
+ GST_ELEMENT_ERROR (sink, RESOURCE, READ,
+ ("Video memory can not be read from userspace."), (NULL));
+ ret = GST_FLOW_ERROR;
+ goto done;
+ }
+dst_map_failed:
+ {
+ GST_ELEMENT_ERROR (sink, RESOURCE, WRITE,
+ ("Video memory can not be written from userspace."), (NULL));
+ ret = GST_FLOW_ERROR;
+ goto done;
+ }
done:
{
g_mutex_unlock (&sink->render_lock);
@@ -747,7 +808,8 @@
"an externally-supplied display handle. Consider providing a "
"display handle from your application with GstContext"));
} else {
- sink->window = gst_wl_window_new_in_surface (sink->display, surface);
+ sink->window = gst_wl_window_new_in_surface (sink->display, surface,
+ &sink->render_lock);
}
} else {
GST_ERROR_OBJECT (sink, "Failed to find display handle, "
@@ -791,7 +853,7 @@
GST_DEBUG_OBJECT (sink, "expose");
g_mutex_lock (&sink->render_lock);
- if (sink->last_buffer && g_atomic_int_get (&sink->redraw_pending) == FALSE) {
+ if (sink->last_buffer && !sink->redraw_pending) {
GST_DEBUG_OBJECT (sink, "redrawing last buffer");
render_last_buffer (sink);
}
diff --git a/ext/wayland/scaler-client-protocol.h b/ext/wayland/scaler-client-protocol.h
deleted file mode 100644
index 5c11b0f..0000000
--- a/ext/wayland/scaler-client-protocol.h
+++ /dev/null
@@ -1,420 +0,0 @@
-/* Generated by wayland-scanner 1.11.0 */
-
-#ifndef SCALER_CLIENT_PROTOCOL_H
-#define SCALER_CLIENT_PROTOCOL_H
-
-#include <stdint.h>
-#include <stddef.h>
-#include "wayland-client.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @page page_scaler The scaler protocol
- * @section page_ifaces_scaler Interfaces
- * - @subpage page_iface_wl_scaler - surface cropping and scaling
- * - @subpage page_iface_wl_viewport - crop and scale interface to a wl_surface
- * @section page_copyright_scaler Copyright
- * <pre>
- *
- * Copyright © 2013-2014 Collabora, Ltd.
- *
- * Permission to use, copy, modify, distribute, and sell this
- * software and its documentation for any purpose is hereby granted
- * without fee, provided that the above copyright notice appear in
- * all copies and that both that copyright notice and this permission
- * notice appear in supporting documentation, and that the name of
- * the copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
- * THIS SOFTWARE.
- * </pre>
- */
-struct wl_scaler;
-struct wl_surface;
-struct wl_viewport;
-
-/**
- * @page page_iface_wl_scaler wl_scaler
- * @section page_iface_wl_scaler_desc Description
- *
- * The global interface exposing surface cropping and scaling
- * capabilities is used to instantiate an interface extension for a
- * wl_surface object. This extended interface will then allow
- * cropping and scaling the surface contents, effectively
- * disconnecting the direct relationship between the buffer and the
- * surface size.
- * @section page_iface_wl_scaler_api API
- * See @ref iface_wl_scaler.
- */
-/**
- * @defgroup iface_wl_scaler The wl_scaler interface
- *
- * The global interface exposing surface cropping and scaling
- * capabilities is used to instantiate an interface extension for a
- * wl_surface object. This extended interface will then allow
- * cropping and scaling the surface contents, effectively
- * disconnecting the direct relationship between the buffer and the
- * surface size.
- */
-extern const struct wl_interface wl_scaler_interface;
-/**
- * @page page_iface_wl_viewport wl_viewport
- * @section page_iface_wl_viewport_desc Description
- *
- * An additional interface to a wl_surface object, which allows the
- * client to specify the cropping and scaling of the surface
- * contents.
- *
- * This interface allows to define the source rectangle (src_x,
- * src_y, src_width, src_height) from where to take the wl_buffer
- * contents, and scale that to destination size (dst_width,
- * dst_height). This state is double-buffered, and is applied on the
- * next wl_surface.commit.
- *
- * The two parts of crop and scale state are independent: the source
- * rectangle, and the destination size. Initially both are unset, that
- * is, no scaling is applied. The whole of the current wl_buffer is
- * used as the source, and the surface size is as defined in
- * wl_surface.attach.
- *
- * If the destination size is set, it causes the surface size to become
- * dst_width, dst_height. The source (rectangle) is scaled to exactly
- * this size. This overrides whatever the attached wl_buffer size is,
- * unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface
- * has no content and therefore no size. Otherwise, the size is always
- * at least 1x1 in surface coordinates.
- *
- * If the source rectangle is set, it defines what area of the
- * wl_buffer is taken as the source. If the source rectangle is set and
- * the destination size is not set, the surface size becomes the source
- * rectangle size rounded up to the nearest integer. If the source size
- * is already exactly integers, this results in cropping without scaling.
- *
- * The coordinate transformations from buffer pixel coordinates up to
- * the surface-local coordinates happen in the following order:
- * 1. buffer_transform (wl_surface.set_buffer_transform)
- * 2. buffer_scale (wl_surface.set_buffer_scale)
- * 3. crop and scale (wl_viewport.set*)
- * This means, that the source rectangle coordinates of crop and scale
- * are given in the coordinates after the buffer transform and scale,
- * i.e. in the coordinates that would be the surface-local coordinates
- * if the crop and scale was not applied.
- *
- * If the source rectangle is partially or completely outside of the
- * wl_buffer, then the surface contents are undefined (not void), and
- * the surface size is still dst_width, dst_height.
- *
- * The x, y arguments of wl_surface.attach are applied as normal to
- * the surface. They indicate how many pixels to remove from the
- * surface size from the left and the top. In other words, they are
- * still in the surface-local coordinate system, just like dst_width
- * and dst_height are.
- *
- * If the wl_surface associated with the wl_viewport is destroyed,
- * the wl_viewport object becomes inert.
- *
- * If the wl_viewport object is destroyed, the crop and scale
- * state is removed from the wl_surface. The change will be applied
- * on the next wl_surface.commit.
- * @section page_iface_wl_viewport_api API
- * See @ref iface_wl_viewport.
- */
-/**
- * @defgroup iface_wl_viewport The wl_viewport interface
- *
- * An additional interface to a wl_surface object, which allows the
- * client to specify the cropping and scaling of the surface
- * contents.
- *
- * This interface allows to define the source rectangle (src_x,
- * src_y, src_width, src_height) from where to take the wl_buffer
- * contents, and scale that to destination size (dst_width,
- * dst_height). This state is double-buffered, and is applied on the
- * next wl_surface.commit.
- *
- * The two parts of crop and scale state are independent: the source
- * rectangle, and the destination size. Initially both are unset, that
- * is, no scaling is applied. The whole of the current wl_buffer is
- * used as the source, and the surface size is as defined in
- * wl_surface.attach.
- *
- * If the destination size is set, it causes the surface size to become
- * dst_width, dst_height. The source (rectangle) is scaled to exactly
- * this size. This overrides whatever the attached wl_buffer size is,
- * unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface
- * has no content and therefore no size. Otherwise, the size is always
- * at least 1x1 in surface coordinates.
- *
- * If the source rectangle is set, it defines what area of the
- * wl_buffer is taken as the source. If the source rectangle is set and
- * the destination size is not set, the surface size becomes the source
- * rectangle size rounded up to the nearest integer. If the source size
- * is already exactly integers, this results in cropping without scaling.
- *
- * The coordinate transformations from buffer pixel coordinates up to
- * the surface-local coordinates happen in the following order:
- * 1. buffer_transform (wl_surface.set_buffer_transform)
- * 2. buffer_scale (wl_surface.set_buffer_scale)
- * 3. crop and scale (wl_viewport.set*)
- * This means, that the source rectangle coordinates of crop and scale
- * are given in the coordinates after the buffer transform and scale,
- * i.e. in the coordinates that would be the surface-local coordinates
- * if the crop and scale was not applied.
- *
- * If the source rectangle is partially or completely outside of the
- * wl_buffer, then the surface contents are undefined (not void), and
- * the surface size is still dst_width, dst_height.
- *
- * The x, y arguments of wl_surface.attach are applied as normal to
- * the surface. They indicate how many pixels to remove from the
- * surface size from the left and the top. In other words, they are
- * still in the surface-local coordinate system, just like dst_width
- * and dst_height are.
- *
- * If the wl_surface associated with the wl_viewport is destroyed,
- * the wl_viewport object becomes inert.
- *
- * If the wl_viewport object is destroyed, the crop and scale
- * state is removed from the wl_surface. The change will be applied
- * on the next wl_surface.commit.
- */
-extern const struct wl_interface wl_viewport_interface;
-
-#ifndef WL_SCALER_ERROR_ENUM
-#define WL_SCALER_ERROR_ENUM
-enum wl_scaler_error {
- /**
- * the surface already has a viewport object associated
- */
- WL_SCALER_ERROR_VIEWPORT_EXISTS = 0,
-};
-#endif /* WL_SCALER_ERROR_ENUM */
-
-#define WL_SCALER_DESTROY 0
-#define WL_SCALER_GET_VIEWPORT 1
-
-/**
- * @ingroup iface_wl_scaler
- */
-#define WL_SCALER_DESTROY_SINCE_VERSION 1
-/**
- * @ingroup iface_wl_scaler
- */
-#define WL_SCALER_GET_VIEWPORT_SINCE_VERSION 1
-
-/** @ingroup iface_wl_scaler */
-static inline void
-wl_scaler_set_user_data(struct wl_scaler *wl_scaler, void *user_data)
-{
- wl_proxy_set_user_data((struct wl_proxy *) wl_scaler, user_data);
-}
-
-/** @ingroup iface_wl_scaler */
-static inline void *
-wl_scaler_get_user_data(struct wl_scaler *wl_scaler)
-{
- return wl_proxy_get_user_data((struct wl_proxy *) wl_scaler);
-}
-
-static inline uint32_t
-wl_scaler_get_version(struct wl_scaler *wl_scaler)
-{
- return wl_proxy_get_version((struct wl_proxy *) wl_scaler);
-}
-
-/**
- * @ingroup iface_wl_scaler
- *
- * Informs the server that the client will not be using this
- * protocol object anymore. This does not affect any other objects,
- * wl_viewport objects included.
- */
-static inline void
-wl_scaler_destroy(struct wl_scaler *wl_scaler)
-{
- wl_proxy_marshal((struct wl_proxy *) wl_scaler,
- WL_SCALER_DESTROY);
-
- wl_proxy_destroy((struct wl_proxy *) wl_scaler);
-}
-
-/**
- * @ingroup iface_wl_scaler
- *
- * Instantiate an interface extension for the given wl_surface to
- * crop and scale its content. If the given wl_surface already has
- * a wl_viewport object associated, the viewport_exists
- * protocol error is raised.
- */
-static inline struct wl_viewport *
-wl_scaler_get_viewport(struct wl_scaler *wl_scaler, struct wl_surface *surface)
-{
- struct wl_proxy *id;
-
- id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_scaler,
- WL_SCALER_GET_VIEWPORT, &wl_viewport_interface, NULL, surface);
-
- return (struct wl_viewport *) id;
-}
-
-#ifndef WL_VIEWPORT_ERROR_ENUM
-#define WL_VIEWPORT_ERROR_ENUM
-enum wl_viewport_error {
- /**
- * negative or zero values in width or height
- */
- WL_VIEWPORT_ERROR_BAD_VALUE = 0,
-};
-#endif /* WL_VIEWPORT_ERROR_ENUM */
-
-#define WL_VIEWPORT_DESTROY 0
-#define WL_VIEWPORT_SET 1
-#define WL_VIEWPORT_SET_SOURCE 2
-#define WL_VIEWPORT_SET_DESTINATION 3
-
-/**
- * @ingroup iface_wl_viewport
- */
-#define WL_VIEWPORT_DESTROY_SINCE_VERSION 1
-/**
- * @ingroup iface_wl_viewport
- */
-#define WL_VIEWPORT_SET_SINCE_VERSION 1
-/**
- * @ingroup iface_wl_viewport
- */
-#define WL_VIEWPORT_SET_SOURCE_SINCE_VERSION 2
-/**
- * @ingroup iface_wl_viewport
- */
-#define WL_VIEWPORT_SET_DESTINATION_SINCE_VERSION 2
-
-/** @ingroup iface_wl_viewport */
-static inline void
-wl_viewport_set_user_data(struct wl_viewport *wl_viewport, void *user_data)
-{
- wl_proxy_set_user_data((struct wl_proxy *) wl_viewport, user_data);
-}
-
-/** @ingroup iface_wl_viewport */
-static inline void *
-wl_viewport_get_user_data(struct wl_viewport *wl_viewport)
-{
- return wl_proxy_get_user_data((struct wl_proxy *) wl_viewport);
-}
-
-static inline uint32_t
-wl_viewport_get_version(struct wl_viewport *wl_viewport)
-{
- return wl_proxy_get_version((struct wl_proxy *) wl_viewport);
-}
-
-/**
- * @ingroup iface_wl_viewport
- *
- * The associated wl_surface's crop and scale state is removed.
- * The change is applied on the next wl_surface.commit.
- */
-static inline void
-wl_viewport_destroy(struct wl_viewport *wl_viewport)
-{
- wl_proxy_marshal((struct wl_proxy *) wl_viewport,
- WL_VIEWPORT_DESTROY);
-
- wl_proxy_destroy((struct wl_proxy *) wl_viewport);
-}
-
-/**
- * @ingroup iface_wl_viewport
- *
- * Set both source rectangle and destination size of the associated
- * wl_surface. See wl_viewport for the description, and relation to
- * the wl_buffer size.
- *
- * The bad_value protocol error is raised if src_width or
- * src_height is negative, or if dst_width or dst_height is not
- * positive.
- *
- * The crop and scale state is double-buffered state, and will be
- * applied on the next wl_surface.commit.
- *
- * Arguments dst_x and dst_y do not exist here, use the x and y
- * arguments to wl_surface.attach. The x, y, dst_width, and dst_height
- * define the surface-local coordinate system irrespective of the
- * attached wl_buffer size.
- */
-static inline void
-wl_viewport_set(struct wl_viewport *wl_viewport, wl_fixed_t src_x, wl_fixed_t src_y, wl_fixed_t src_width, wl_fixed_t src_height, int32_t dst_width, int32_t dst_height)
-{
- wl_proxy_marshal((struct wl_proxy *) wl_viewport,
- WL_VIEWPORT_SET, src_x, src_y, src_width, src_height, dst_width, dst_height);
-}
-
-/**
- * @ingroup iface_wl_viewport
- *
- * Set the source rectangle of the associated wl_surface. See
- * wl_viewport for the description, and relation to the wl_buffer
- * size.
- *
- * If width is -1.0 and height is -1.0, the destination size is unset
- * instead. Any other pair of values for width and height that
- * contains zero or negative values raises the bad_value protocol
- * error.
- *
- * The crop and scale state is double-buffered state, and will be
- * applied on the next wl_surface.commit.
- */
-static inline void
-wl_viewport_set_source(struct wl_viewport *wl_viewport, wl_fixed_t x, wl_fixed_t y, wl_fixed_t width, wl_fixed_t height)
-{
- wl_proxy_marshal((struct wl_proxy *) wl_viewport,
- WL_VIEWPORT_SET_SOURCE, x, y, width, height);
-}
-
-/**
- * @ingroup iface_wl_viewport
- *
- * Set the destination size of the associated wl_surface. See
- * wl_viewport for the description, and relation to the wl_buffer
- * size.
- *
- * If width is -1 and height is -1, the destination size is unset
- * instead. Any other pair of values for width and height that
- * contains zero or negative values raises the bad_value protocol
- * error.
- *
- * The crop and scale state is double-buffered state, and will be
- * applied on the next wl_surface.commit.
- *
- * Arguments x and y do not exist here, use the x and y arguments to
- * wl_surface.attach. The x, y, width, and height define the
- * surface-local coordinate system irrespective of the attached
- * wl_buffer size.
- */
-static inline void
-wl_viewport_set_destination(struct wl_viewport *wl_viewport, int32_t width, int32_t height)
-{
- wl_proxy_marshal((struct wl_proxy *) wl_viewport,
- WL_VIEWPORT_SET_DESTINATION, width, height);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/ext/wayland/scaler-protocol.c b/ext/wayland/scaler-protocol.c
deleted file mode 100644
index 0e8e3d1..0000000
--- a/ext/wayland/scaler-protocol.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Generated by wayland-scanner 1.11.0 */
-
-/*
- * Copyright © 2013-2014 Collabora, Ltd.
- *
- * Permission to use, copy, modify, distribute, and sell this
- * software and its documentation for any purpose is hereby granted
- * without fee, provided that the above copyright notice appear in
- * all copies and that both that copyright notice and this permission
- * notice appear in supporting documentation, and that the name of
- * the copyright holders not be used in advertising or publicity
- * pertaining to distribution of the software without specific,
- * written prior permission. The copyright holders make no
- * representations about the suitability of this software for any
- * purpose. It is provided "as is" without express or implied
- * warranty.
- *
- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
- * THIS SOFTWARE.
- */
-
-#include <stdlib.h>
-#include <stdint.h>
-#include "wayland-util.h"
-
-extern const struct wl_interface wl_surface_interface;
-extern const struct wl_interface wl_viewport_interface;
-
-static const struct wl_interface *types[] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- &wl_viewport_interface,
- &wl_surface_interface,
-};
-
-static const struct wl_message wl_scaler_requests[] = {
- { "destroy", "", types + 0 },
- { "get_viewport", "no", types + 6 },
-};
-
-WL_EXPORT const struct wl_interface wl_scaler_interface = {
- "wl_scaler", 2,
- 2, wl_scaler_requests,
- 0, NULL,
-};
-
-static const struct wl_message wl_viewport_requests[] = {
- { "destroy", "", types + 0 },
- { "set", "ffffii", types + 0 },
- { "set_source", "2ffff", types + 0 },
- { "set_destination", "2ii", types + 0 },
-};
-
-WL_EXPORT const struct wl_interface wl_viewport_interface = {
- "wl_viewport", 2,
- 4, wl_viewport_requests,
- 0, NULL,
-};
-
diff --git a/ext/wayland/scaler.xml b/ext/wayland/scaler.xml
deleted file mode 100644
index e21ae5b..0000000
--- a/ext/wayland/scaler.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<protocol name="scaler">
-
- <copyright>
- Copyright © 2013-2014 Collabora, Ltd.
-
- Permission to use, copy, modify, distribute, and sell this
- software and its documentation for any purpose is hereby granted
- without fee, provided that the above copyright notice appear in
- all copies and that both that copyright notice and this permission
- notice appear in supporting documentation, and that the name of
- the copyright holders not be used in advertising or publicity
- pertaining to distribution of the software without specific,
- written prior permission. The copyright holders make no
- representations about the suitability of this software for any
- purpose. It is provided "as is" without express or implied
- warranty.
-
- THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
- SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
- SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
- THIS SOFTWARE.
- </copyright>
-
- <interface name="wl_scaler" version="2">
- <description summary="surface cropping and scaling">
- The global interface exposing surface cropping and scaling
- capabilities is used to instantiate an interface extension for a
- wl_surface object. This extended interface will then allow
- cropping and scaling the surface contents, effectively
- disconnecting the direct relationship between the buffer and the
- surface size.
- </description>
-
- <request name="destroy" type="destructor">
- <description summary="unbind from the cropping and scaling interface">
- Informs the server that the client will not be using this
- protocol object anymore. This does not affect any other objects,
- wl_viewport objects included.
- </description>
- </request>
-
- <enum name="error">
- <entry name="viewport_exists" value="0"
- summary="the surface already has a viewport object associated"/>
- </enum>
-
- <request name="get_viewport">
- <description summary="extend surface interface for crop and scale">
- Instantiate an interface extension for the given wl_surface to
- crop and scale its content. If the given wl_surface already has
- a wl_viewport object associated, the viewport_exists
- protocol error is raised.
- </description>
-
- <arg name="id" type="new_id" interface="wl_viewport"
- summary="the new viewport interface id"/>
- <arg name="surface" type="object" interface="wl_surface"
- summary="the surface"/>
- </request>
- </interface>
-
- <interface name="wl_viewport" version="2">
- <description summary="crop and scale interface to a wl_surface">
- An additional interface to a wl_surface object, which allows the
- client to specify the cropping and scaling of the surface
- contents.
-
- This interface allows to define the source rectangle (src_x,
- src_y, src_width, src_height) from where to take the wl_buffer
- contents, and scale that to destination size (dst_width,
- dst_height). This state is double-buffered, and is applied on the
- next wl_surface.commit.
-
- The two parts of crop and scale state are independent: the source
- rectangle, and the destination size. Initially both are unset, that
- is, no scaling is applied. The whole of the current wl_buffer is
- used as the source, and the surface size is as defined in
- wl_surface.attach.
-
- If the destination size is set, it causes the surface size to become
- dst_width, dst_height. The source (rectangle) is scaled to exactly
- this size. This overrides whatever the attached wl_buffer size is,
- unless the wl_buffer is NULL. If the wl_buffer is NULL, the surface
- has no content and therefore no size. Otherwise, the size is always
- at least 1x1 in surface coordinates.
-
- If the source rectangle is set, it defines what area of the
- wl_buffer is taken as the source. If the source rectangle is set and
- the destination size is not set, the surface size becomes the source
- rectangle size rounded up to the nearest integer. If the source size
- is already exactly integers, this results in cropping without scaling.
-
- The coordinate transformations from buffer pixel coordinates up to
- the surface-local coordinates happen in the following order:
- 1. buffer_transform (wl_surface.set_buffer_transform)
- 2. buffer_scale (wl_surface.set_buffer_scale)
- 3. crop and scale (wl_viewport.set*)
- This means, that the source rectangle coordinates of crop and scale
- are given in the coordinates after the buffer transform and scale,
- i.e. in the coordinates that would be the surface-local coordinates
- if the crop and scale was not applied.
-
- If the source rectangle is partially or completely outside of the
- wl_buffer, then the surface contents are undefined (not void), and
- the surface size is still dst_width, dst_height.
-
- The x, y arguments of wl_surface.attach are applied as normal to
- the surface. They indicate how many pixels to remove from the
- surface size from the left and the top. In other words, they are
- still in the surface-local coordinate system, just like dst_width
- and dst_height are.
-
- If the wl_surface associated with the wl_viewport is destroyed,
- the wl_viewport object becomes inert.
-
- If the wl_viewport object is destroyed, the crop and scale
- state is removed from the wl_surface. The change will be applied
- on the next wl_surface.commit.
- </description>
-
- <request name="destroy" type="destructor">
- <description summary="remove scaling and cropping from the surface">
- The associated wl_surface's crop and scale state is removed.
- The change is applied on the next wl_surface.commit.
- </description>
- </request>
-
- <enum name="error">
- <entry name="bad_value" value="0"
- summary="negative or zero values in width or height"/>
- </enum>
-
- <request name="set">
- <description summary="set the crop and scale state">
- Set both source rectangle and destination size of the associated
- wl_surface. See wl_viewport for the description, and relation to
- the wl_buffer size.
-
- The bad_value protocol error is raised if src_width or
- src_height is negative, or if dst_width or dst_height is not
- positive.
-
- The crop and scale state is double-buffered state, and will be
- applied on the next wl_surface.commit.
-
- Arguments dst_x and dst_y do not exist here, use the x and y
- arguments to wl_surface.attach. The x, y, dst_width, and dst_height
- define the surface-local coordinate system irrespective of the
- attached wl_buffer size.
- </description>
-
- <arg name="src_x" type="fixed" summary="source rectangle x"/>
- <arg name="src_y" type="fixed" summary="source rectangle y"/>
- <arg name="src_width" type="fixed" summary="source rectangle width"/>
- <arg name="src_height" type="fixed" summary="source rectangle height"/>
- <arg name="dst_width" type="int" summary="surface width"/>
- <arg name="dst_height" type="int" summary="surface height"/>
- </request>
-
- <request name="set_source" since="2">
- <description summary="set the source rectangle for cropping">
- Set the source rectangle of the associated wl_surface. See
- wl_viewport for the description, and relation to the wl_buffer
- size.
-
- If width is -1.0 and height is -1.0, the destination size is unset
- instead. Any other pair of values for width and height that
- contains zero or negative values raises the bad_value protocol
- error.
-
- The crop and scale state is double-buffered state, and will be
- applied on the next wl_surface.commit.
- </description>
-
- <arg name="x" type="fixed" summary="source rectangle x"/>
- <arg name="y" type="fixed" summary="source rectangle y"/>
- <arg name="width" type="fixed" summary="source rectangle width"/>
- <arg name="height" type="fixed" summary="source rectangle height"/>
- </request>
-
- <request name="set_destination" since="2">
- <description summary="set the surface size for scaling">
- Set the destination size of the associated wl_surface. See
- wl_viewport for the description, and relation to the wl_buffer
- size.
-
- If width is -1 and height is -1, the destination size is unset
- instead. Any other pair of values for width and height that
- contains zero or negative values raises the bad_value protocol
- error.
-
- The crop and scale state is double-buffered state, and will be
- applied on the next wl_surface.commit.
-
- Arguments x and y do not exist here, use the x and y arguments to
- wl_surface.attach. The x, y, width, and height define the
- surface-local coordinate system irrespective of the attached
- wl_buffer size.
- </description>
-
- <arg name="width" type="int" summary="surface width"/>
- <arg name="height" type="int" summary="surface height"/>
- </request>
- </interface>
-</protocol>
diff --git a/ext/wayland/wldisplay.c b/ext/wayland/wldisplay.c
index 3318095..1011a04 100644
--- a/ext/wayland/wldisplay.c
+++ b/ext/wayland/wldisplay.c
@@ -75,6 +75,9 @@
g_hash_table_unref (self->buffers);
g_mutex_clear (&self->buffers_mutex);
+ if (self->viewporter)
+ wp_viewporter_destroy (self->viewporter);
+
if (self->shm)
wl_shm_destroy (self->shm);
@@ -161,8 +164,9 @@
} else if (g_strcmp0 (interface, "wl_shm") == 0) {
self->shm = wl_registry_bind (registry, id, &wl_shm_interface, 1);
wl_shm_add_listener (self->shm, &shm_listener, self);
- } else if (g_strcmp0 (interface, "wl_scaler") == 0) {
- self->scaler = wl_registry_bind (registry, id, &wl_scaler_interface, 2);
+ } else if (g_strcmp0 (interface, "wp_viewporter") == 0) {
+ self->viewporter =
+ wl_registry_bind (registry, id, &wp_viewporter_interface, 1);
}
}
@@ -266,10 +270,17 @@
VERIFY_INTERFACE_EXISTS (subcompositor, "wl_subcompositor");
VERIFY_INTERFACE_EXISTS (shell, "wl_shell");
VERIFY_INTERFACE_EXISTS (shm, "wl_shm");
- VERIFY_INTERFACE_EXISTS (scaler, "wl_scaler");
#undef VERIFY_INTERFACE_EXISTS
+ /* We make the viewporter optional even though it may cause bad display.
+ * This is so one can test wayland display on older compositor or on
+ * compositor that don't implement this extension. */
+ if (!self->viewporter) {
+ g_warning ("Wayland compositor is missing the ability to scale, video "
+ "display may not work properly.");
+ }
+
self->thread = g_thread_try_new ("GstWlDisplay", gst_wl_display_thread_run,
self, &err);
if (err) {
diff --git a/ext/wayland/wldisplay.h b/ext/wayland/wldisplay.h
index e9df749..9cbb500 100644
--- a/ext/wayland/wldisplay.h
+++ b/ext/wayland/wldisplay.h
@@ -23,7 +23,7 @@
#include <gst/gst.h>
#include <wayland-client.h>
-#include "scaler-client-protocol.h"
+#include "viewporter-client-protocol.h"
G_BEGIN_DECLS
@@ -51,7 +51,7 @@
struct wl_subcompositor *subcompositor;
struct wl_shell *shell;
struct wl_shm *shm;
- struct wl_scaler *scaler;
+ struct wp_viewporter *viewporter;
GArray *shm_formats;
/* private */
diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c
index 79000ae..b60f351 100644
--- a/ext/wayland/wlwindow.c
+++ b/ext/wayland/wlwindow.c
@@ -46,11 +46,21 @@
handle_configure (void *data, struct wl_shell_surface *shell_surface,
uint32_t edges, int32_t width, int32_t height)
{
+ GstWlWindow *window = data;
+
+ GST_DEBUG ("Windows configure: edges %x, width = %i, height %i", edges,
+ width, height);
+
+ if (width == 0 || height == 0)
+ return;
+
+ gst_wl_window_set_render_rectangle (window, 0, 0, width, height);
}
static void
handle_popup_done (void *data, struct wl_shell_surface *shell_surface)
{
+ GST_DEBUG ("Window popup done.");
}
static const struct wl_shell_surface_listener shell_surface_listener = {
@@ -76,18 +86,21 @@
{
GstWlWindow *self = GST_WL_WINDOW (gobject);
- if (self->shell_surface) {
+ if (self->shell_surface)
wl_shell_surface_destroy (self->shell_surface);
- }
- wl_viewport_destroy (self->video_viewport);
+ if (self->video_viewport)
+ wp_viewport_destroy (self->video_viewport);
+
wl_subsurface_destroy (self->video_subsurface);
wl_surface_destroy (self->video_surface);
- if (self->area_subsurface) {
+ if (self->area_subsurface)
wl_subsurface_destroy (self->area_subsurface);
- }
- wl_viewport_destroy (self->area_viewport);
+
+ if (self->area_viewport)
+ wp_viewport_destroy (self->area_viewport);
+
wl_surface_destroy (self->area_surface);
g_clear_object (&self->display);
@@ -96,18 +109,14 @@
}
static GstWlWindow *
-gst_wl_window_new_internal (GstWlDisplay * display)
+gst_wl_window_new_internal (GstWlDisplay * display, GMutex * render_lock)
{
GstWlWindow *window;
- GstVideoInfo info;
- GstBuffer *buf;
- GstMapInfo mapinfo;
- struct wl_buffer *wlbuf;
- GstWlBuffer *gwlbuf;
struct wl_region *region;
window = g_object_new (GST_TYPE_WL_WINDOW, NULL);
window->display = g_object_ref (display);
+ window->render_lock = render_lock;
window->area_surface = wl_compositor_create_surface (display->compositor);
window->video_surface = wl_compositor_create_surface (display->compositor);
@@ -122,34 +131,12 @@
window->video_surface, window->area_surface);
wl_subsurface_set_desync (window->video_subsurface);
- window->area_viewport = wl_scaler_get_viewport (display->scaler,
- window->area_surface);
- window->video_viewport = wl_scaler_get_viewport (display->scaler,
- window->video_surface);
-
- /* draw the area_subsurface */
- gst_video_info_set_format (&info,
- /* we want WL_SHM_FORMAT_XRGB8888 */
-#if G_BYTE_ORDER == G_BIG_ENDIAN
- GST_VIDEO_FORMAT_xRGB,
-#else
- GST_VIDEO_FORMAT_BGRx,
-#endif
- 1, 1);
-
- buf = gst_buffer_new_allocate (gst_wl_shm_allocator_get (), info.size, NULL);
- gst_buffer_map (buf, &mapinfo, GST_MAP_WRITE);
- *((guint32 *) mapinfo.data) = 0; /* paint it black */
- gst_buffer_unmap (buf, &mapinfo);
- wlbuf =
- gst_wl_shm_memory_construct_wl_buffer (gst_buffer_peek_memory (buf, 0),
- display, &info);
- gwlbuf = gst_buffer_add_wl_buffer (buf, wlbuf, display);
- gst_wl_buffer_attach (gwlbuf, window->area_surface);
-
- /* at this point, the GstWlBuffer keeps the buffer
- * alive and will free it on wl_buffer::release */
- gst_buffer_unref (buf);
+ if (display->viewporter) {
+ window->area_viewport = wp_viewporter_get_viewport (display->viewporter,
+ window->area_surface);
+ window->video_viewport = wp_viewporter_get_viewport (display->viewporter,
+ window->video_surface);
+ }
/* do not accept input */
region = wl_compositor_create_region (display->compositor);
@@ -164,12 +151,13 @@
}
GstWlWindow *
-gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info)
+gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
+ GMutex * render_lock)
{
GstWlWindow *window;
gint width;
- window = gst_wl_window_new_internal (display);
+ window = gst_wl_window_new_internal (display, render_lock);
/* go toplevel */
window->shell_surface = wl_shell_get_shell_surface (display->shell,
@@ -196,10 +184,10 @@
GstWlWindow *
gst_wl_window_new_in_surface (GstWlDisplay * display,
- struct wl_surface * parent)
+ struct wl_surface * parent, GMutex * render_lock)
{
GstWlWindow *window;
- window = gst_wl_window_new_internal (display);
+ window = gst_wl_window_new_internal (display, render_lock);
/* embed in parent */
window->area_subsurface =
@@ -246,10 +234,15 @@
src.h = window->video_height;
dst.w = window->render_rectangle.w;
dst.h = window->render_rectangle.h;
- gst_video_sink_center_rect (src, dst, &res, TRUE);
+
+ if (window->video_viewport) {
+ gst_video_sink_center_rect (src, dst, &res, TRUE);
+ wp_viewport_set_destination (window->video_viewport, res.w, res.h);
+ } else {
+ gst_video_sink_center_rect (src, dst, &res, FALSE);
+ }
wl_subsurface_set_position (window->video_subsurface, res.x, res.y);
- wl_viewport_set_destination (window->video_viewport, res.w, res.h);
if (commit) {
wl_surface_damage (window->video_surface, 0, 0, res.w, res.h);
@@ -267,8 +260,7 @@
}
/* this is saved for use in wl_surface_damage */
- window->surface_width = res.w;
- window->surface_height = res.h;
+ window->video_rectangle = res;
}
void
@@ -289,8 +281,8 @@
else
wl_surface_attach (window->video_surface, NULL, 0, 0);
- wl_surface_damage (window->video_surface, 0, 0, window->surface_width,
- window->surface_height);
+ wl_surface_damage (window->video_surface, 0, 0, window->video_rectangle.w,
+ window->video_rectangle.h);
wl_surface_commit (window->video_surface);
if (G_UNLIKELY (info)) {
@@ -305,6 +297,53 @@
wl_display_flush (window->display->display);
}
+/* Update the buffer used to draw black borders. When we have viewporter
+ * support, this is a scaled up 1x1 image, and without we need an black image
+ * the size of the rendering areay. */
+static void
+gst_wl_window_update_borders (GstWlWindow * window)
+{
+ GstVideoFormat format;
+ GstVideoInfo info;
+ gint width, height;
+ GstBuffer *buf;
+ struct wl_buffer *wlbuf;
+ GstWlBuffer *gwlbuf;
+
+ if (window->no_border_update)
+ return;
+
+ if (window->display->viewporter) {
+ width = height = 1;
+ window->no_border_update = TRUE;
+ } else {
+ width = window->render_rectangle.w;
+ height = window->render_rectangle.h;
+ }
+
+ /* we want WL_SHM_FORMAT_XRGB8888 */
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+ format = GST_VIDEO_FORMAT_xRGB;
+#else
+ format = GST_VIDEO_FORMAT_BGRx;
+#endif
+
+ /* draw the area_subsurface */
+ gst_video_info_set_format (&info, format, width, height);
+
+ buf = gst_buffer_new_allocate (gst_wl_shm_allocator_get (), info.size, NULL);
+ gst_buffer_memset (buf, 0, 0, info.size);
+ wlbuf =
+ gst_wl_shm_memory_construct_wl_buffer (gst_buffer_peek_memory (buf, 0),
+ window->display, &info);
+ gwlbuf = gst_buffer_add_wl_buffer (buf, wlbuf, window->display);
+ gst_wl_buffer_attach (gwlbuf, window->area_surface);
+
+ /* at this point, the GstWlBuffer keeps the buffer
+ * alive and will free it on wl_buffer::release */
+ gst_buffer_unref (buf);
+}
+
void
gst_wl_window_set_render_rectangle (GstWlWindow * window, gint x, gint y,
gint w, gint h)
@@ -321,7 +360,10 @@
wl_subsurface_set_position (window->area_subsurface, x, y);
/* change the size of the area */
- wl_viewport_set_destination (window->area_viewport, w, h);
+ if (window->area_viewport)
+ wp_viewport_set_destination (window->area_viewport, w, h);
+
+ gst_wl_window_update_borders (window);
if (window->video_width != 0) {
wl_subsurface_set_sync (window->video_subsurface);
diff --git a/ext/wayland/wlwindow.h b/ext/wayland/wlwindow.h
index e22cb26..e247b4e 100644
--- a/ext/wayland/wlwindow.h
+++ b/ext/wayland/wlwindow.h
@@ -41,21 +41,30 @@
{
GObject parent_instance;
+ GMutex *render_lock;
+
GstWlDisplay *display;
struct wl_surface *area_surface;
struct wl_subsurface *area_subsurface;
- struct wl_viewport *area_viewport;
+ struct wp_viewport *area_viewport;
struct wl_surface *video_surface;
struct wl_subsurface *video_subsurface;
- struct wl_viewport *video_viewport;
+ struct wp_viewport *video_viewport;
struct wl_shell_surface *shell_surface;
/* the size and position of the area_(sub)surface */
GstVideoRectangle render_rectangle;
+
+ /* the size and position of the video_subsurface */
+ GstVideoRectangle video_rectangle;
+
/* the size of the video in the buffers */
gint video_width, video_height;
- /* the size of the video_(sub)surface */
- gint surface_width, surface_height;
+
+ /* this will be set when viewporter is available and black background has
+ * already been set on the area_subsurface */
+ gboolean no_border_update;
+
};
struct _GstWlWindowClass
@@ -66,9 +75,9 @@
GType gst_wl_window_get_type (void);
GstWlWindow *gst_wl_window_new_toplevel (GstWlDisplay * display,
- const GstVideoInfo * info);
+ const GstVideoInfo * info, GMutex * render_lock);
GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display,
- struct wl_surface * parent);
+ struct wl_surface * parent, GMutex * render_lock);
GstWlDisplay *gst_wl_window_get_display (GstWlWindow * window);
struct wl_surface *gst_wl_window_get_wl_surface (GstWlWindow * window);
diff --git a/ext/webp/Makefile.in b/ext/webp/Makefile.in
index f233b26..8f69240 100644
--- a/ext/webp/Makefile.in
+++ b/ext/webp/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/webrtcdsp/Makefile.in b/ext/webrtcdsp/Makefile.in
index d815d38..7b11d5f 100644
--- a/ext/webrtcdsp/Makefile.in
+++ b/ext/webrtcdsp/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/x265/Makefile.in b/ext/x265/Makefile.in
index def658f..f55e4fb 100644
--- a/ext/x265/Makefile.in
+++ b/ext/x265/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/xvid/Makefile.in b/ext/xvid/Makefile.in
index d60dc56..ed514eb 100644
--- a/ext/xvid/Makefile.in
+++ b/ext/xvid/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/ext/zbar/Makefile.in b/ext/zbar/Makefile.in
index 43f9f32..33ee46e 100644
--- a/ext/zbar/Makefile.in
+++ b/ext/zbar/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/Makefile.in b/gst-libs/Makefile.in
index ba4525a..433c67f 100644
--- a/gst-libs/Makefile.in
+++ b/gst-libs/Makefile.in
@@ -667,6 +667,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/Makefile.in b/gst-libs/gst/Makefile.in
index ea419f6..3fb0167 100644
--- a/gst-libs/gst/Makefile.in
+++ b/gst-libs/gst/Makefile.in
@@ -669,6 +669,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/adaptivedemux/Makefile.in b/gst-libs/gst/adaptivedemux/Makefile.in
index f81f5f0..0a35ee3 100644
--- a/gst-libs/gst/adaptivedemux/Makefile.in
+++ b/gst-libs/gst/adaptivedemux/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
index c465226..715893c 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ -434,6 +434,9 @@
gst_segment_init (&demux->segment, GST_FORMAT_TIME);
+ gst_bin_set_suppressed_flags (GST_BIN_CAST (demux),
+ GST_ELEMENT_FLAG_SOURCE | GST_ELEMENT_FLAG_SINK);
+
demux->realtime_clock = gst_system_clock_obtain ();
g_assert (demux->realtime_clock != NULL);
gobject_class = G_OBJECT_GET_CLASS (demux->realtime_clock);
diff --git a/gst-libs/gst/audio/Makefile.in b/gst-libs/gst/audio/Makefile.in
index a2eb92a..9fd5c4b 100644
--- a/gst-libs/gst/audio/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -685,6 +685,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/base/Makefile.in b/gst-libs/gst/base/Makefile.in
index e06d16a..fa78568 100644
--- a/gst-libs/gst/base/Makefile.in
+++ b/gst-libs/gst/base/Makefile.in
@@ -679,6 +679,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/base/gstaggregator.c b/gst-libs/gst/base/gstaggregator.c
index d458e97..7e8c5be 100644
--- a/gst-libs/gst/base/gstaggregator.c
+++ b/gst-libs/gst/base/gstaggregator.c
@@ -2310,10 +2310,11 @@
return FALSE;
}
-static gboolean
+static GstFlowReturn
gst_aggregator_pad_event_func (GstPad * pad, GstObject * parent,
GstEvent * event)
{
+ GstFlowReturn ret = GST_FLOW_OK;
GstAggregator *self = GST_AGGREGATOR (parent);
GstAggregatorPad *aggpad = GST_AGGREGATOR_PAD (pad);
GstAggregatorClass *klass = GST_AGGREGATOR_GET_CLASS (parent);
@@ -2324,8 +2325,10 @@
PAD_LOCK (aggpad);
if (aggpad->priv->flow_return != GST_FLOW_OK
- && GST_EVENT_TYPE (event) != GST_EVENT_FLUSH_STOP)
+ && GST_EVENT_TYPE (event) != GST_EVENT_FLUSH_STOP) {
+ ret = aggpad->priv->flow_return;
goto flushing;
+ }
if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT) {
GST_OBJECT_LOCK (aggpad);
@@ -2347,10 +2350,22 @@
SRC_UNLOCK (self);
}
- if (event)
- return klass->sink_event (self, aggpad, event);
- else
- return TRUE;
+ if (event) {
+ if (!klass->sink_event (self, aggpad, event)) {
+ /* Copied from GstPad to convert boolean to a GstFlowReturn in
+ * the event handling func */
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_CAPS:
+ ret = GST_FLOW_NOT_NEGOTIATED;
+ break;
+ default:
+ ret = GST_FLOW_ERROR;
+ break;
+ }
+ }
+ }
+
+ return ret;
flushing:
GST_DEBUG_OBJECT (aggpad, "Pad is %s, dropping event",
@@ -2360,7 +2375,8 @@
if (GST_EVENT_IS_STICKY (event))
gst_pad_store_sticky_event (pad, event);
gst_event_unref (event);
- return FALSE;
+
+ return ret;
}
static gboolean
@@ -2397,8 +2413,9 @@
gst_pad_set_chain_function (pad,
GST_DEBUG_FUNCPTR (gst_aggregator_pad_chain));
- gst_pad_set_event_function (pad,
- GST_DEBUG_FUNCPTR (gst_aggregator_pad_event_func));
+ gst_pad_set_event_full_function_full (pad,
+ GST_DEBUG_FUNCPTR (gst_aggregator_pad_event_func),
+ NULL, NULL);
gst_pad_set_query_function (pad,
GST_DEBUG_FUNCPTR (gst_aggregator_pad_query_func));
gst_pad_set_activatemode_function (pad,
diff --git a/gst-libs/gst/basecamerabinsrc/Makefile.in b/gst-libs/gst/basecamerabinsrc/Makefile.in
index c6846f8..1453b08 100644
--- a/gst-libs/gst/basecamerabinsrc/Makefile.in
+++ b/gst-libs/gst/basecamerabinsrc/Makefile.in
@@ -684,6 +684,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/codecparsers/Makefile.in b/gst-libs/gst/codecparsers/Makefile.in
index 5971a4a..2eead8b 100644
--- a/gst-libs/gst/codecparsers/Makefile.in
+++ b/gst-libs/gst/codecparsers/Makefile.in
@@ -715,6 +715,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
index a54ea3f..5572d2d 100644
--- a/gst-libs/gst/gl/Makefile.am
+++ b/gst-libs/gst/gl/Makefile.am
@@ -131,7 +131,6 @@
libgstgl_@GST_API_VERSION@_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
- $(GL_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
diff --git a/gst-libs/gst/gl/Makefile.in b/gst-libs/gst/gl/Makefile.in
index dc7d55b..43eb799 100644
--- a/gst-libs/gst/gl/Makefile.in
+++ b/gst-libs/gst/gl/Makefile.in
@@ -792,6 +792,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
@@ -970,7 +973,6 @@
libgstgl_@GST_API_VERSION@_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
- $(GL_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
diff --git a/gst-libs/gst/gl/android/Makefile.in b/gst-libs/gst/gl/android/Makefile.in
index 449d69f..a54865b 100644
--- a/gst-libs/gst/gl/android/Makefile.in
+++ b/gst-libs/gst/gl/android/Makefile.in
@@ -692,6 +692,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/cocoa/Makefile.in b/gst-libs/gst/gl/cocoa/Makefile.in
index 004afb3..1e4b991 100644
--- a/gst-libs/gst/gl/cocoa/Makefile.in
+++ b/gst-libs/gst/gl/cocoa/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/dispmanx/Makefile.in b/gst-libs/gst/gl/dispmanx/Makefile.in
index 2c39ca6..b49a2e5 100644
--- a/gst-libs/gst/gl/dispmanx/Makefile.in
+++ b/gst-libs/gst/gl/dispmanx/Makefile.in
@@ -664,6 +664,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
index f4a5ae0..d06424c 100644
--- a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
+++ b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
@@ -57,7 +57,8 @@
static gboolean gst_gl_window_dispmanx_egl_open (GstGLWindow * window,
GError ** error);
static guintptr gst_gl_window_dispmanx_egl_get_display (GstGLWindow * window);
-
+static gboolean gst_gl_window_dispmanx_egl_set_render_rectangle (GstGLWindow *
+ window, gint x, gint y, gint width, gint height);
static void window_resize (GstGLWindowDispmanxEGL * window_egl, guint width,
guint height, gboolean visible);
@@ -78,6 +79,8 @@
GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_get_display);
window_class->set_preferred_size =
GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_set_preferred_size);
+ window_class->set_render_rectangle =
+ GST_DEBUG_FUNCPTR (gst_gl_window_dispmanx_egl_set_render_rectangle);
}
static void
@@ -92,6 +95,10 @@
window_egl->native.element = 0;
window_egl->native.width = 0;
window_egl->native.height = 0;
+ window_egl->render_rect.x = 0;
+ window_egl->render_rect.y = 0;
+ window_egl->render_rect.w = 0;
+ window_egl->render_rect.h = 0;
}
/* Must be called in the gl thread */
@@ -194,20 +201,27 @@
if (window_egl->display) {
VC_RECT_T dst_rect;
VC_RECT_T src_rect;
- GstVideoRectangle src, dst, res;
+ GstVideoRectangle src, res;
DISPMANX_UPDATE_HANDLE_T dispman_update;
uint32_t opacity = visible ? 255 : 0;
VC_DISPMANX_ALPHA_T alpha =
{ DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, opacity, 0 };
- /* Center width*height frame inside dp_width*dp_height */
src.w = width;
src.h = height;
src.x = src.y = 0;
- dst.w = window_egl->dp_width;
- dst.h = window_egl->dp_height;
- dst.x = dst.y = 0;
- gst_video_sink_center_rect (src, dst, &res, FALSE);
+
+ /* If there is no render rectangle, center the width*height frame
+ * inside dp_width*dp_height */
+ if (window_egl->render_rect.w <= 0 || window_egl->render_rect.h <= 0) {
+ GstVideoRectangle dst;
+ dst.w = window_egl->dp_width;
+ dst.h = window_egl->dp_height;
+ dst.x = dst.y = 0;
+ gst_video_sink_center_rect (src, dst, &res, FALSE);
+ } else {
+ gst_video_sink_center_rect (src, window_egl->render_rect, &res, FALSE);
+ }
dst_rect.x = res.x;
dst_rect.y = res.y;
@@ -243,6 +257,21 @@
window_egl->native.height = height;
}
+static gboolean
+gst_gl_window_dispmanx_egl_set_render_rectangle (GstGLWindow * window,
+ gint x, gint y, gint width, gint height)
+{
+ GstGLWindowDispmanxEGL *window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
+ window_egl->render_rect.x = x;
+ window_egl->render_rect.y = x;
+ window_egl->render_rect.w = width;
+ window_egl->render_rect.h = height;
+
+ window_resize (window_egl, window_egl->render_rect.w,
+ window_egl->render_rect.h, TRUE);
+ return TRUE;
+}
+
static void
gst_gl_window_dispmanx_egl_show (GstGLWindow * window)
{
diff --git a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
index 3130a6c..f0663e2 100644
--- a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
+++ b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
@@ -67,6 +67,7 @@
gint preferred_width;
gint preferred_height;
+ GstVideoRectangle render_rect;
gboolean visible;
diff --git a/gst-libs/gst/gl/eagl/Makefile.in b/gst-libs/gst/gl/eagl/Makefile.in
index 070966f..11ee06c 100644
--- a/gst-libs/gst/gl/eagl/Makefile.in
+++ b/gst-libs/gst/gl/eagl/Makefile.in
@@ -664,6 +664,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/egl/Makefile.in b/gst-libs/gst/gl/egl/Makefile.in
index f6f49a4..bf567c6 100644
--- a/gst-libs/gst/gl/egl/Makefile.in
+++ b/gst-libs/gst/gl/egl/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/glprototypes/Makefile.in b/gst-libs/gst/gl/glprototypes/Makefile.in
index 3e1b479..b1819df 100644
--- a/gst-libs/gst/gl/glprototypes/Makefile.in
+++ b/gst-libs/gst/gl/glprototypes/Makefile.in
@@ -656,6 +656,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/gstglbasefilter.h b/gst-libs/gst/gl/gstglbasefilter.h
index fa16d07..f893127 100644
--- a/gst-libs/gst/gl/gstglbasefilter.h
+++ b/gst-libs/gst/gl/gstglbasefilter.h
@@ -58,7 +58,7 @@
GstCaps *out_caps;
/* <private> */
- gpointer _padding[GST_PADDING];
+ gpointer _padding[GST_PADDING];
GstGLBaseFilterPrivate *priv;
};
diff --git a/gst-libs/gst/gl/gstglbasememory.h b/gst-libs/gst/gl/gstglbasememory.h
index bee2844..22129d0 100644
--- a/gst-libs/gst/gl/gstglbasememory.h
+++ b/gst-libs/gst/gl/gstglbasememory.h
@@ -112,6 +112,8 @@
GDestroyNotify notify;
gpointer user_data;
+
+ gpointer _padding[GST_PADDING];
};
typedef struct _GstGLAllocationParams GstGLAllocationParams;
@@ -174,6 +176,9 @@
gpointer wrapped_data;
/* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE only */
gpointer gl_handle;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
gboolean gst_gl_allocation_params_init (GstGLAllocationParams * params,
@@ -293,6 +298,8 @@
/*< private >*/
GstAllocator parent;
GstMemoryCopyFunction fallback_mem_copy;
+
+ gpointer _padding[GST_PADDING];
};
/**
@@ -315,13 +322,16 @@
GstGLBaseMemoryAllocatorCreateFunction create;
GstGLBaseMemoryAllocatorMapFunction map;
+ GstGLBaseMemoryAllocatorUnmapFunction unmap;
+ GstGLBaseMemoryAllocatorCopyFunction copy;
+ GstGLBaseMemoryAllocatorDestroyFunction destroy;
#if 0
GstGLBaseMemoryAllocatorFlushFunction flush; /* make CPU writes visible to the GPU */
GstGLBaseMemoryAllocatorInvalidateFunction invalidate; /* make GPU writes visible to the CPU */
#endif
- GstGLBaseMemoryAllocatorUnmapFunction unmap;
- GstGLBaseMemoryAllocatorCopyFunction copy;
- GstGLBaseMemoryAllocatorDestroyFunction destroy;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
#include <gst/gl/gl.h>
diff --git a/gst-libs/gst/gl/gstglbuffer.h b/gst-libs/gst/gl/gstglbuffer.h
index ef519d8..e481536 100644
--- a/gst-libs/gst/gl/gstglbuffer.h
+++ b/gst-libs/gst/gl/gstglbuffer.h
@@ -74,6 +74,9 @@
guint gl_target;
guint gl_usage;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLContext * context,
@@ -90,6 +93,9 @@
struct _GstGLBufferAllocator
{
GstGLBaseMemoryAllocator parent;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
/**
@@ -100,6 +106,9 @@
struct _GstGLBufferAllocatorClass
{
GstGLBaseMemoryAllocatorClass parent_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
#define GST_CAPS_FEATURE_MEMORY_GL_BUFFER "memory:GLBuffer"
diff --git a/gst-libs/gst/gl/gstglbufferpool.h b/gst-libs/gst/gl/gstglbufferpool.h
index 2f964a8..a136955 100644
--- a/gst-libs/gst/gl/gstglbufferpool.h
+++ b/gst-libs/gst/gl/gstglbufferpool.h
@@ -47,7 +47,10 @@
GstGLContext *context;
+ /* <private> */
GstGLBufferPoolPrivate *priv;
+
+ gpointer _padding[GST_PADDING];
};
/**
@@ -58,6 +61,9 @@
struct _GstGLBufferPoolClass
{
GstBufferPoolClass parent_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
diff --git a/gst-libs/gst/gl/gstglcolorconvert.h b/gst-libs/gst/gl/gstglcolorconvert.h
index fbbbf3b..d978e7e 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.h
+++ b/gst-libs/gst/gl/gstglcolorconvert.h
@@ -76,6 +76,9 @@
struct _GstGLColorConvertClass
{
GstObjectClass object_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
/**
diff --git a/gst-libs/gst/gl/gstglcontext.h b/gst-libs/gst/gl/gstglcontext.h
index 5cbc8ad..83e159d 100644
--- a/gst-libs/gst/gl/gstglcontext.h
+++ b/gst-libs/gst/gl/gstglcontext.h
@@ -69,7 +69,6 @@
* Opaque #GstGLContext object
*/
struct _GstGLContext {
- /*< private >*/
GstObject parent;
GstGLDisplay *display;
@@ -77,9 +76,10 @@
GstGLFuncs *gl_vtable;
- gpointer _reserved[GST_PADDING];
-
+ /*< private >*/
GstGLContextPrivate *priv;
+
+ gpointer _reserved[GST_PADDING];
};
/**
diff --git a/gst-libs/gst/gl/gstgldebug.h b/gst-libs/gst/gl/gstgldebug.h
index f568a2b..f131428 100644
--- a/gst-libs/gst/gl/gstgldebug.h
+++ b/gst-libs/gst/gl/gstgldebug.h
@@ -51,6 +51,8 @@
GstGLAsyncDebugLogGetMessage callback;
gpointer user_data;
GDestroyNotify notify;
+
+ gpointer _padding[GST_PADDING];
};
GstGLAsyncDebug * gst_gl_async_debug_new (void);
diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c
index 7cb6266..3ffc906 100644
--- a/gst-libs/gst/gl/gstgldisplay.c
+++ b/gst-libs/gst/gl/gstgldisplay.c
@@ -433,6 +433,7 @@
if (!context) {
/* remove dead contexts */
g_weak_ref_clear (l->data);
+ g_free (l->data);
display->priv->contexts = g_list_delete_link (display->priv->contexts, l);
l = prev ? prev->next : display->priv->contexts;
continue;
diff --git a/gst-libs/gst/gl/gstgldisplay.h b/gst-libs/gst/gl/gstgldisplay.h
index 7f49a44..bc00b68 100644
--- a/gst-libs/gst/gl/gstgldisplay.h
+++ b/gst-libs/gst/gl/gstgldisplay.h
@@ -85,6 +85,9 @@
GstObjectClass object_class;
guintptr (*get_handle) (GstGLDisplay * display);
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
GstGLDisplay *gst_gl_display_new (void);
diff --git a/gst-libs/gst/gl/gstglfeature.h b/gst-libs/gst/gl/gstglfeature.h
index fdc3137..f1ae142 100644
--- a/gst-libs/gst/gl/gstglfeature.h
+++ b/gst-libs/gst/gl/gstglfeature.h
@@ -40,8 +40,8 @@
*
*/
-#ifndef __COGL_FEATURE_PRIVATE_H
-#define __COGL_FEATURE_PRIVATE_H
+#ifndef __GST_GL_FEATURE_H__
+#define __GST_GL_FEATURE_H__
#include <gst/gst.h>
@@ -113,4 +113,4 @@
G_END_DECLS
-#endif /* __COGL_FEATURE_PRIVATE_H */
+#endif /* __GST_GL_FEATURE_H__ */
diff --git a/gst-libs/gst/gl/gstglfilter.h b/gst-libs/gst/gl/gstglfilter.h
index f56e2d0..cdebe57 100644
--- a/gst-libs/gst/gl/gstglfilter.h
+++ b/gst-libs/gst/gl/gstglfilter.h
@@ -81,6 +81,8 @@
GLuint vertex_buffer;
GLint draw_attr_position_loc;
GLint draw_attr_texture_loc;
+
+ gpointer _padding[GST_PADDING];
};
/**
@@ -114,6 +116,8 @@
/* useful to init and cleanup custom gl resources */
void (*display_init_cb) (GstGLFilter *filter);
void (*display_reset_cb) (GstGLFilter *filter);
+
+ gpointer _padding[GST_PADDING];
};
gboolean gst_gl_filter_filter_texture (GstGLFilter * filter, GstBuffer * inbuf,
diff --git a/gst-libs/gst/gl/gstglframebuffer.h b/gst-libs/gst/gl/gstglframebuffer.h
index 0e135c8..6298af1 100644
--- a/gst-libs/gst/gl/gstglframebuffer.h
+++ b/gst-libs/gst/gl/gstglframebuffer.h
@@ -49,18 +49,22 @@
{
GstObject object;
- /* <private> */
GstGLContext *context;
+ /* <private> */
guint fbo_id;
GArray *attachments;
+ gpointer _padding[GST_PADDING];
+
GstGLFramebufferPrivate *priv;
};
struct _GstGLFramebufferClass
{
GstObjectClass object_class;
+
+ gpointer _padding[GST_PADDING];
};
GstGLFramebuffer * gst_gl_framebuffer_new (GstGLContext *context);
diff --git a/gst-libs/gst/gl/gstglmemory.h b/gst-libs/gst/gl/gstglmemory.h
index f36f64b..d632564 100644
--- a/gst-libs/gst/gl/gstglmemory.h
+++ b/gst-libs/gst/gl/gstglmemory.h
@@ -78,6 +78,9 @@
gboolean texture_wrapped;
guint unpack_length;
guint tex_width;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
typedef struct _GstGLVideoAllocationParams GstGLVideoAllocationParams;
@@ -93,6 +96,9 @@
GstVideoAlignment *valign;
GstGLTextureTarget target;
GstVideoGLTextureType tex_type;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAllocationParams * params,
@@ -165,6 +171,9 @@
struct _GstGLMemoryAllocator
{
GstGLBaseMemoryAllocator parent;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
/**
@@ -179,6 +188,9 @@
GstGLBaseMemoryAllocatorMapFunction map;
GstGLBaseMemoryAllocatorCopyFunction copy;
GstGLBaseMemoryAllocatorUnmapFunction unmap;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
#include <gst/gl/gstglbasememory.h>
diff --git a/gst-libs/gst/gl/gstglmemorypbo.h b/gst-libs/gst/gl/gstglmemorypbo.h
index aa4110e..830c0f4 100644
--- a/gst-libs/gst/gl/gstglmemorypbo.h
+++ b/gst-libs/gst/gl/gstglmemorypbo.h
@@ -52,6 +52,9 @@
/* <private> */
GstGLBuffer *pbo;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
/**
@@ -84,6 +87,9 @@
struct _GstGLMemoryPBOAllocator
{
GstGLMemoryAllocator parent;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
/**
@@ -94,6 +100,9 @@
struct _GstGLMemoryPBOAllocatorClass
{
GstGLMemoryAllocatorClass parent_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstgloverlaycompositor.h b/gst-libs/gst/gl/gstgloverlaycompositor.h
index dcecb49..dc8434a 100644
--- a/gst-libs/gst/gl/gstgloverlaycompositor.h
+++ b/gst-libs/gst/gl/gstgloverlaycompositor.h
@@ -43,7 +43,10 @@
struct _GstGLOverlayCompositor
{
GstObject parent;
+
GstGLContext *context;
+
+ /* <private> */
guint last_window_width;
guint last_window_height;
@@ -52,6 +55,8 @@
GstGLShader *shader;
GLint position_attrib;
GLint texcoord_attrib;
+
+ gpointer _padding[GST_PADDING];
};
/**
@@ -61,6 +66,9 @@
struct _GstGLOverlayCompositorClass
{
GstObjectClass object_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
GstGLOverlayCompositor *gst_gl_overlay_compositor_new (GstGLContext * context);
diff --git a/gst-libs/gst/gl/gstglquery.h b/gst-libs/gst/gl/gstglquery.h
index 9cf06fa..33777d4 100644
--- a/gst-libs/gst/gl/gstglquery.h
+++ b/gst-libs/gst/gl/gstglquery.h
@@ -42,6 +42,9 @@
gboolean start_called;
GstGLAsyncDebug debug;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
void gst_gl_query_init (GstGLQuery * query,
diff --git a/gst-libs/gst/gl/gstglrenderbuffer.h b/gst-libs/gst/gl/gstglrenderbuffer.h
index 1ed323e..5a9a1c0 100644
--- a/gst-libs/gst/gl/gstglrenderbuffer.h
+++ b/gst-libs/gst/gl/gstglrenderbuffer.h
@@ -69,6 +69,9 @@
/* <protected> */
gboolean renderbuffer_wrapped;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
/**
@@ -79,6 +82,9 @@
struct _GstGLRenderbufferAllocator
{
GstGLBaseMemoryAllocator parent;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
/**
@@ -89,6 +95,9 @@
struct _GstGLRenderbufferAllocatorClass
{
GstGLBaseMemoryAllocatorClass parent_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
#include <gst/gl/gstglbasememory.h>
@@ -100,6 +109,9 @@
GstVideoGLTextureType renderbuffer_type;
guint width;
guint height;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
} GstGLRenderbufferAllocationParams;
GstGLRenderbufferAllocationParams * gst_gl_renderbuffer_allocation_params_new (GstGLContext * context,
diff --git a/gst-libs/gst/gl/gstglshader.h b/gst-libs/gst/gl/gstglshader.h
index 2200b89..2164f21 100644
--- a/gst-libs/gst/gl/gstglshader.h
+++ b/gst-libs/gst/gl/gstglshader.h
@@ -34,12 +34,13 @@
#define GST_IS_GL_SHADER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_SHADER))
#define GST_GL_SHADER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_SHADER, GstGLShaderClass))
-struct _GstGLShader {
- /*< private >*/
+struct _GstGLShader
+{
GstObject parent;
GstGLContext *context;
+ /*< private >*/
GstGLShaderPrivate *priv;
gpointer _padding[GST_PADDING];
diff --git a/gst-libs/gst/gl/gstglslstage.h b/gst-libs/gst/gl/gstglslstage.h
index 31dcbec..3521e22 100644
--- a/gst-libs/gst/gl/gstglslstage.h
+++ b/gst-libs/gst/gl/gstglslstage.h
@@ -39,11 +39,11 @@
*/
struct _GstGLSLStage
{
- /*< private >*/
GstObject parent;
GstGLContext *context;
+ /*< private >*/
GstGLSLStagePrivate *priv;
gpointer _padding[GST_PADDING];
@@ -56,8 +56,10 @@
*/
struct _GstGLSLStageClass
{
- /*< private >*/
GstObjectClass parent;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
GType gst_glsl_stage_get_type (void);
diff --git a/gst-libs/gst/gl/gstglupload.h b/gst-libs/gst/gl/gstglupload.h
index d158502..3e00298 100644
--- a/gst-libs/gst/gl/gstglupload.h
+++ b/gst-libs/gst/gl/gstglupload.h
@@ -59,11 +59,11 @@
*/
struct _GstGLUpload
{
- /* <private> */
GstObject parent;
GstGLContext *context;
+ /* <private> */
GstGLUploadPrivate *priv;
gpointer _reserved[GST_PADDING];
@@ -77,6 +77,9 @@
struct _GstGLUploadClass
{
GstObjectClass object_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
GstCaps * gst_gl_upload_get_input_template_caps (void);
diff --git a/gst-libs/gst/gl/gstglviewconvert.h b/gst-libs/gst/gl/gstglviewconvert.h
index ee1166c..4783dd1 100644
--- a/gst-libs/gst/gl/gstglviewconvert.h
+++ b/gst-libs/gst/gl/gstglviewconvert.h
@@ -70,12 +70,18 @@
GstGLFramebuffer *fbo;
+ /* <private> */
GstGLViewConvertPrivate *priv;
+
+ gpointer _padding[GST_PADDING];
};
struct _GstGLViewConvertClass
{
GstObjectClass object_class;
+
+ /* <private> */
+ gpointer _padding[GST_PADDING];
};
GType gst_gl_view_convert_get_type (void);
diff --git a/gst-libs/gst/gl/wayland/Makefile.in b/gst-libs/gst/gl/wayland/Makefile.in
index 3f5be32..4646c78 100644
--- a/gst-libs/gst/gl/wayland/Makefile.in
+++ b/gst-libs/gst/gl/wayland/Makefile.in
@@ -666,6 +666,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/win32/Makefile.in b/gst-libs/gst/gl/win32/Makefile.in
index 78f80a5..9fc5848 100644
--- a/gst-libs/gst/gl/win32/Makefile.in
+++ b/gst-libs/gst/gl/win32/Makefile.in
@@ -671,6 +671,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/gl/x11/Makefile.in b/gst-libs/gst/gl/x11/Makefile.in
index 6652f19..d2d059a 100644
--- a/gst-libs/gst/gl/x11/Makefile.in
+++ b/gst-libs/gst/gl/x11/Makefile.in
@@ -700,6 +700,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/insertbin/Makefile.in b/gst-libs/gst/insertbin/Makefile.in
index f14c347..d81f7ee 100644
--- a/gst-libs/gst/insertbin/Makefile.in
+++ b/gst-libs/gst/insertbin/Makefile.in
@@ -683,6 +683,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/interfaces/Makefile.in b/gst-libs/gst/interfaces/Makefile.in
index 90ed7b8..44e57bf 100644
--- a/gst-libs/gst/interfaces/Makefile.in
+++ b/gst-libs/gst/interfaces/Makefile.in
@@ -713,6 +713,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/mpegts/Makefile.in b/gst-libs/gst/mpegts/Makefile.in
index a23c1b6..b3c79d9 100644
--- a/gst-libs/gst/mpegts/Makefile.in
+++ b/gst-libs/gst/mpegts/Makefile.in
@@ -721,6 +721,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/player/Makefile.in b/gst-libs/gst/player/Makefile.in
index 12813a5..fe0747b 100644
--- a/gst-libs/gst/player/Makefile.in
+++ b/gst-libs/gst/player/Makefile.in
@@ -706,6 +706,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c
index 7c5c57d..62cd800 100644
--- a/gst-libs/gst/player/gstplayer.c
+++ b/gst-libs/gst/player/gstplayer.c
@@ -1590,8 +1590,10 @@
}
check_video_dimensions_changed (self);
- gst_element_query_duration (self->playbin, GST_FORMAT_TIME, &duration);
- emit_duration_changed (self, duration);
+ if (gst_element_query_duration (self->playbin, GST_FORMAT_TIME,
+ &duration)) {
+ emit_duration_changed (self, duration);
+ }
}
if (new_state == GST_STATE_PAUSED
@@ -1730,14 +1732,7 @@
gst_message_parse_tag (msg, &tags);
- /*
- * NOTE: Inorder to get global tag you must apply the following patches in
- * your gstreamer build.
- *
- * http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9119fbd774093e3ae762c8652acd80d54b2c3b45
- * http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=18b058100940bdcaed86fa412e3582a02871f995
- */
- GST_DEBUG_OBJECT (self, "recieved %s tags",
+ GST_DEBUG_OBJECT (self, "received %s tags",
gst_tag_list_get_scope (tags) ==
GST_TAG_SCOPE_GLOBAL ? "global" : "stream");
@@ -2592,14 +2587,7 @@
scaletempo = gst_element_factory_make ("scaletempo", NULL);
if (scaletempo) {
- if (gst_plugin_feature_check_version (GST_PLUGIN_FEATURE
- (gst_element_get_factory (scaletempo)), 1, 6, 1)) {
- g_object_set (self->playbin, "audio-filter", scaletempo, NULL);
- } else {
- gst_object_unref (scaletempo);
- g_warning ("GstPlayer: scaletempo >= 1.6.1 is needed for preserving "
- "audio pitch during trick modes");
- }
+ g_object_set (self->playbin, "audio-filter", scaletempo, NULL);
} else {
g_warning ("GstPlayer: scaletempo element not available. Audio pitch "
"will not be preserved during trick modes");
@@ -2766,7 +2754,8 @@
change_state (self, GST_PLAYER_STATE_BUFFERING);
if (self->current_state >= GST_STATE_PAUSED && !self->is_eos
- && self->buffering >= 100) {
+ && self->buffering >= 100 && !(self->seek_position != GST_CLOCK_TIME_NONE
+ || self->seek_pending)) {
state_ret = gst_element_set_state (self->playbin, GST_STATE_PLAYING);
} else {
state_ret = gst_element_set_state (self->playbin, GST_STATE_PAUSED);
@@ -3013,11 +3002,9 @@
flags |= GST_SEEK_FLAG_FLUSH;
-#if GST_CHECK_VERSION(1,5,0)
if (rate != 1.0) {
flags |= GST_SEEK_FLAG_TRICKMODE;
}
-#endif
if (rate >= 0.0) {
s_event = gst_event_new_seek (rate, GST_FORMAT_TIME, flags,
@@ -3186,14 +3173,12 @@
*
* Sets the external subtitle URI.
*/
-gboolean
+void
gst_player_set_subtitle_uri (GstPlayer * self, const gchar * suburi)
{
- g_return_val_if_fail (GST_IS_PLAYER (self), FALSE);
+ g_return_if_fail (GST_IS_PLAYER (self));
g_object_set (self, "suburi", suburi, NULL);
-
- return TRUE;
}
/**
diff --git a/gst-libs/gst/player/gstplayer.h b/gst-libs/gst/player/gstplayer.h
index e51d8c5..0ac66be 100644
--- a/gst-libs/gst/player/gstplayer.h
+++ b/gst-libs/gst/player/gstplayer.h
@@ -110,16 +110,12 @@
gdouble rate);
gdouble gst_player_get_rate (GstPlayer * player);
-void gst_player_set_position_update_interval (GstPlayer * player,
- guint interval);
-guint gst_player_get_position_update_interval (GstPlayer * player);
-
gchar * gst_player_get_uri (GstPlayer * player);
void gst_player_set_uri (GstPlayer * player,
const gchar * uri);
gchar * gst_player_get_subtitle_uri (GstPlayer * player);
-gboolean gst_player_set_subtitle_uri (GstPlayer * player,
+void gst_player_set_subtitle_uri (GstPlayer * player,
const gchar *uri);
GstClockTime gst_player_get_position (GstPlayer * player);
diff --git a/gst-libs/gst/uridownloader/Makefile.in b/gst-libs/gst/uridownloader/Makefile.in
index cd272fc..7747e94 100644
--- a/gst-libs/gst/uridownloader/Makefile.in
+++ b/gst-libs/gst/uridownloader/Makefile.in
@@ -681,6 +681,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 8fe794c..24b7fc8 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -685,6 +685,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst-libs/gst/wayland/Makefile.am b/gst-libs/gst/wayland/Makefile.am
index 0344598..743a489 100644
--- a/gst-libs/gst/wayland/Makefile.am
+++ b/gst-libs/gst/wayland/Makefile.am
@@ -12,6 +12,7 @@
$(WAYLAND_CFLAGS)
libgstwayland_@GST_API_VERSION@_la_LIBADD = \
+ $(GST_PLUGINS_BASE_LIBS) \
$(GST_LIBS) \
$(WAYLAND_LIBS) \
-lgstvideo-$(GST_API_VERSION)
diff --git a/gst-libs/gst/wayland/Makefile.in b/gst-libs/gst/wayland/Makefile.in
index ce15520..35fb584 100644
--- a/gst-libs/gst/wayland/Makefile.in
+++ b/gst-libs/gst/wayland/Makefile.in
@@ -164,7 +164,8 @@
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libgstwayland_@GST_API_VERSION@_la_DEPENDENCIES = \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
am_libgstwayland_@GST_API_VERSION@_la_OBJECTS = \
libgstwayland_@GST_API_VERSION@_la-wayland.lo
libgstwayland_@GST_API_VERSION@_la_OBJECTS = \
@@ -695,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
@@ -799,6 +803,7 @@
$(WAYLAND_CFLAGS)
libgstwayland_@GST_API_VERSION@_la_LIBADD = \
+ $(GST_PLUGINS_BASE_LIBS) \
$(GST_LIBS) \
$(WAYLAND_LIBS) \
-lgstvideo-$(GST_API_VERSION)
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index 832fc1d..ec65d38 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,6 +35,16 @@
<release>
<Version>
+ <revision>1.9.90</revision>
+ <branch>master</branch>
+ <name></name>
+ <created>2016-09-30</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.9.90.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.9.2</revision>
<branch>master</branch>
<name></name>
diff --git a/gst-plugins-bad.spec b/gst-plugins-bad.spec
index 214aa7d..2ee8b4d 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.9.2
+Version: 1.9.90
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 4e514fb..fbff90f 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -672,6 +672,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/accurip/Makefile.in b/gst/accurip/Makefile.in
index dc25a0e..327137f 100644
--- a/gst/accurip/Makefile.in
+++ b/gst/accurip/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/adpcmdec/Makefile.in b/gst/adpcmdec/Makefile.in
index dbdb94c..86f2770 100644
--- a/gst/adpcmdec/Makefile.in
+++ b/gst/adpcmdec/Makefile.in
@@ -690,6 +690,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/adpcmenc/Makefile.in b/gst/adpcmenc/Makefile.in
index 010d8f3..6c7a7fd 100644
--- a/gst/adpcmenc/Makefile.in
+++ b/gst/adpcmenc/Makefile.in
@@ -690,6 +690,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/aiff/Makefile.in b/gst/aiff/Makefile.in
index d013cd8..235647d 100644
--- a/gst/aiff/Makefile.in
+++ b/gst/aiff/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/asfmux/Makefile.in b/gst/asfmux/Makefile.in
index adae8ba..3cf2159 100644
--- a/gst/asfmux/Makefile.in
+++ b/gst/asfmux/Makefile.in
@@ -698,6 +698,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/audiofxbad/Makefile.in b/gst/audiofxbad/Makefile.in
index 05d0feb..8a36765 100644
--- a/gst/audiofxbad/Makefile.in
+++ b/gst/audiofxbad/Makefile.in
@@ -692,6 +692,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/audiomixer/Makefile.in b/gst/audiomixer/Makefile.in
index cbe3065..51745cd 100644
--- a/gst/audiomixer/Makefile.in
+++ b/gst/audiomixer/Makefile.in
@@ -723,6 +723,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/audiovisualizers/Makefile.in b/gst/audiovisualizers/Makefile.in
index 925a461..057e21e 100644
--- a/gst/audiovisualizers/Makefile.in
+++ b/gst/audiovisualizers/Makefile.in
@@ -701,6 +701,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/autoconvert/Makefile.in b/gst/autoconvert/Makefile.in
index 5a56ce6..4f0081f 100644
--- a/gst/autoconvert/Makefile.in
+++ b/gst/autoconvert/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/bayer/Makefile.in b/gst/bayer/Makefile.in
index 3d1213f..898a1b1 100644
--- a/gst/bayer/Makefile.in
+++ b/gst/bayer/Makefile.in
@@ -719,6 +719,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/camerabin2/Makefile.in b/gst/camerabin2/Makefile.in
index 554a2f5..1341ce1 100644
--- a/gst/camerabin2/Makefile.in
+++ b/gst/camerabin2/Makefile.in
@@ -701,6 +701,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/cdxaparse/Makefile.in b/gst/cdxaparse/Makefile.in
index ea2cc0c..3035dd9 100644
--- a/gst/cdxaparse/Makefile.in
+++ b/gst/cdxaparse/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/coloreffects/Makefile.in b/gst/coloreffects/Makefile.in
index 5175637..d8d3a8f 100644
--- a/gst/coloreffects/Makefile.in
+++ b/gst/coloreffects/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/compositor/Makefile.in b/gst/compositor/Makefile.in
index b3e7666..0b87e2c 100644
--- a/gst/compositor/Makefile.in
+++ b/gst/compositor/Makefile.in
@@ -724,6 +724,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/dataurisrc/Makefile.in b/gst/dataurisrc/Makefile.in
index a6635b6..9e6681b 100644
--- a/gst/dataurisrc/Makefile.in
+++ b/gst/dataurisrc/Makefile.in
@@ -690,6 +690,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/dccp/Makefile.in b/gst/dccp/Makefile.in
index c3461f1..6248784 100644
--- a/gst/dccp/Makefile.in
+++ b/gst/dccp/Makefile.in
@@ -700,6 +700,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/debugutils/Makefile.in b/gst/debugutils/Makefile.in
index ca14b4e..bb1c977 100644
--- a/gst/debugutils/Makefile.in
+++ b/gst/debugutils/Makefile.in
@@ -701,6 +701,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/dvbsuboverlay/Makefile.in b/gst/dvbsuboverlay/Makefile.in
index 71d7354..c3cd836 100644
--- a/gst/dvbsuboverlay/Makefile.in
+++ b/gst/dvbsuboverlay/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/dvbsuboverlay/gstdvbsuboverlay.c b/gst/dvbsuboverlay/gstdvbsuboverlay.c
index 0602003..0b0062b 100644
--- a/gst/dvbsuboverlay/gstdvbsuboverlay.c
+++ b/gst/dvbsuboverlay/gstdvbsuboverlay.c
@@ -1128,7 +1128,7 @@
overlay->current_comp);
} else {
GST_DEBUG_OBJECT (overlay, "Blending overlay image to video buffer");
- gst_video_frame_map (&frame, &overlay->info, buffer, GST_MAP_WRITE);
+ gst_video_frame_map (&frame, &overlay->info, buffer, GST_MAP_READWRITE);
gst_video_overlay_composition_blend (overlay->current_comp, &frame);
gst_video_frame_unmap (&frame);
}
diff --git a/gst/dvdspu/Makefile.in b/gst/dvdspu/Makefile.in
index e34728c..040bf04 100644
--- a/gst/dvdspu/Makefile.in
+++ b/gst/dvdspu/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/faceoverlay/Makefile.in b/gst/faceoverlay/Makefile.in
index ddf88dd..755a258 100644
--- a/gst/faceoverlay/Makefile.in
+++ b/gst/faceoverlay/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/festival/Makefile.in b/gst/festival/Makefile.in
index 49c95ed..a4fe21f 100644
--- a/gst/festival/Makefile.in
+++ b/gst/festival/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/fieldanalysis/Makefile.in b/gst/fieldanalysis/Makefile.in
index 8f76739..63b63d4 100644
--- a/gst/fieldanalysis/Makefile.in
+++ b/gst/fieldanalysis/Makefile.in
@@ -722,6 +722,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/freeverb/Makefile.in b/gst/freeverb/Makefile.in
index 2b54f45..5ac2dbc 100644
--- a/gst/freeverb/Makefile.in
+++ b/gst/freeverb/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/frei0r/Makefile.in b/gst/frei0r/Makefile.in
index 606a7c7..53b2744 100644
--- a/gst/frei0r/Makefile.in
+++ b/gst/frei0r/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/gaudieffects/Makefile.in b/gst/gaudieffects/Makefile.in
index f9c07c9..67e58cb 100644
--- a/gst/gaudieffects/Makefile.in
+++ b/gst/gaudieffects/Makefile.in
@@ -728,6 +728,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/gdp/Makefile.in b/gst/gdp/Makefile.in
index a5d24b2..592ead1 100644
--- a/gst/gdp/Makefile.in
+++ b/gst/gdp/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/geometrictransform/Makefile.in b/gst/geometrictransform/Makefile.in
index f5186b5..b5a8c51 100644
--- a/gst/geometrictransform/Makefile.in
+++ b/gst/geometrictransform/Makefile.in
@@ -716,6 +716,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/hdvparse/Makefile.in b/gst/hdvparse/Makefile.in
index 429a566..05f1297 100644
--- a/gst/hdvparse/Makefile.in
+++ b/gst/hdvparse/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/id3tag/Makefile.in b/gst/id3tag/Makefile.in
index d26a95d..9c9e3c4 100644
--- a/gst/id3tag/Makefile.in
+++ b/gst/id3tag/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/inter/Makefile.in b/gst/inter/Makefile.in
index 65f9478..e00e5e1 100644
--- a/gst/inter/Makefile.in
+++ b/gst/inter/Makefile.in
@@ -710,6 +710,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/interlace/Makefile.in b/gst/interlace/Makefile.in
index e4b2770..aaffb82 100644
--- a/gst/interlace/Makefile.in
+++ b/gst/interlace/Makefile.in
@@ -690,6 +690,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/ivfparse/Makefile.in b/gst/ivfparse/Makefile.in
index c063c19..fd7eaa1 100644
--- a/gst/ivfparse/Makefile.in
+++ b/gst/ivfparse/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/ivtc/Makefile.in b/gst/ivtc/Makefile.in
index 6daaafa..4e559ff 100644
--- a/gst/ivtc/Makefile.in
+++ b/gst/ivtc/Makefile.in
@@ -691,6 +691,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/jp2kdecimator/Makefile.in b/gst/jp2kdecimator/Makefile.in
index 7c04639..7773514 100644
--- a/gst/jp2kdecimator/Makefile.in
+++ b/gst/jp2kdecimator/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/jpegformat/Makefile.in b/gst/jpegformat/Makefile.in
index 852b83e..2999ea3 100644
--- a/gst/jpegformat/Makefile.in
+++ b/gst/jpegformat/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/librfb/Makefile.in b/gst/librfb/Makefile.in
index da90a30..b8f39f1 100644
--- a/gst/librfb/Makefile.in
+++ b/gst/librfb/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/midi/Makefile.in b/gst/midi/Makefile.in
index c875eb6..070af53 100644
--- a/gst/midi/Makefile.in
+++ b/gst/midi/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/mpegdemux/Makefile.in b/gst/mpegdemux/Makefile.in
index 99a9319..23727f4 100644
--- a/gst/mpegdemux/Makefile.in
+++ b/gst/mpegdemux/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/mpegpsmux/Makefile.in b/gst/mpegpsmux/Makefile.in
index 329e2d8..1c89d5a 100644
--- a/gst/mpegpsmux/Makefile.in
+++ b/gst/mpegpsmux/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/mpegtsdemux/Makefile.in b/gst/mpegtsdemux/Makefile.in
index d31ac11..40d9134 100644
--- a/gst/mpegtsdemux/Makefile.in
+++ b/gst/mpegtsdemux/Makefile.in
@@ -701,6 +701,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/mpegtsdemux/gstmpegdefs.h b/gst/mpegtsdemux/gstmpegdefs.h
index 5947d71..f0a225b 100644
--- a/gst/mpegtsdemux/gstmpegdefs.h
+++ b/gst/mpegtsdemux/gstmpegdefs.h
@@ -48,6 +48,7 @@
/* private stream types */
#define ST_PS_VIDEO_MPEG2_DCII 0x80
#define ST_PS_AUDIO_AC3 0x81
+#define ST_PS_AUDIO_EAC3 0x87
#define ST_PS_AUDIO_LPCM2 0x83
#define ST_PS_AUDIO_DTS 0x8a
#define ST_PS_AUDIO_LPCM 0x8b
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index e736f9b..659faad 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -1023,14 +1023,24 @@
if ((desc =
gst_mpegts_find_descriptor (event->descriptors,
GST_MTS_DESC_DVB_SHORT_EVENT))) {
- gchar *name;
+ gchar *name = NULL, *text = NULL;
+
if (gst_mpegts_descriptor_parse_dvb_short_event (desc, NULL, &name,
- NULL)) {
+ &text)) {
+ program->tags = gst_tag_list_new_empty ();
+ if (name) {
+ gst_tag_list_add (program->tags, GST_TAG_MERGE_APPEND,
+ GST_TAG_TITLE, name, NULL);
+ g_free (name);
+ }
+ if (text) {
+ gst_tag_list_add (program->tags, GST_TAG_MERGE_APPEND,
+ GST_TAG_DESCRIPTION, text, NULL);
+ g_free (text);
+ }
/* FIXME : Is it correct to post an event duration as a GST_TAG_DURATION ??? */
- program->tags =
- gst_tag_list_new (GST_TAG_TITLE, name, GST_TAG_DURATION,
- event->duration * GST_SECOND, NULL);
- g_free (name);
+ gst_tag_list_add (program->tags, GST_TAG_MERGE_APPEND,
+ GST_TAG_DURATION, event->duration * GST_SECOND, NULL);
return TRUE;
}
}
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 7a396cd..0ac95bd 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -1506,6 +1506,11 @@
is_audio = TRUE;
caps = gst_caps_new_empty_simple ("audio/x-ac3");
break;
+ case ST_PS_AUDIO_EAC3:
+ /* ATSC_ENHANCED_AC3 */
+ is_audio = TRUE;
+ caps = gst_caps_new_empty_simple ("audio/x-eac3");
+ break;
case ST_PS_AUDIO_LPCM2:
is_audio = TRUE;
caps = gst_caps_new_empty_simple ("audio/x-private2-lpcm");
diff --git a/gst/mpegtsmux/Makefile.in b/gst/mpegtsmux/Makefile.in
index f426a2b..33c887b 100644
--- a/gst/mpegtsmux/Makefile.in
+++ b/gst/mpegtsmux/Makefile.in
@@ -740,6 +740,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/mpegtsmux/tsmux/Makefile.in b/gst/mpegtsmux/tsmux/Makefile.in
index 4ceb024..05fd2d1 100644
--- a/gst/mpegtsmux/tsmux/Makefile.in
+++ b/gst/mpegtsmux/tsmux/Makefile.in
@@ -665,6 +665,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/mve/Makefile.in b/gst/mve/Makefile.in
index 9d6fc66..811ee1e 100644
--- a/gst/mve/Makefile.in
+++ b/gst/mve/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/mxf/Makefile.in b/gst/mxf/Makefile.in
index a971f53..21ddb86 100644
--- a/gst/mxf/Makefile.in
+++ b/gst/mxf/Makefile.in
@@ -702,6 +702,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/netsim/Makefile.in b/gst/netsim/Makefile.in
index 22b3865..e555656 100644
--- a/gst/netsim/Makefile.in
+++ b/gst/netsim/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/nuvdemux/Makefile.in b/gst/nuvdemux/Makefile.in
index 3fab7dc..fe3f5b0 100644
--- a/gst/nuvdemux/Makefile.in
+++ b/gst/nuvdemux/Makefile.in
@@ -692,6 +692,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/onvif/Makefile.in b/gst/onvif/Makefile.in
index 9985535..1a707c8 100644
--- a/gst/onvif/Makefile.in
+++ b/gst/onvif/Makefile.in
@@ -692,6 +692,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/onvif/gstrtponviftimestamp.c b/gst/onvif/gstrtponviftimestamp.c
index 6777f9f..a957483 100644
--- a/gst/onvif/gstrtponviftimestamp.c
+++ b/gst/onvif/gstrtponviftimestamp.c
@@ -204,7 +204,7 @@
self->ntp_offset = self->prop_ntp_offset;
GST_DEBUG_OBJECT (self, "ntp-offset: %" GST_TIME_FORMAT,
GST_TIME_ARGS (self->ntp_offset));
- self->set_d_bit = FALSE;
+ self->set_d_bit = TRUE;
self->set_e_bit = FALSE;
break;
default:
@@ -316,7 +316,7 @@
/* if the "set-e-bit" property is set, an offset event might mark the
* stream as discontinued. We need to check if the currently cached buffer
* needs the e-bit before it's pushed */
- if (self->prop_set_e_bit &&
+ if (self->buffer != NULL && self->prop_set_e_bit &&
gst_event_has_name (event, GST_NTP_OFFSET_EVENT_NAME)) {
gboolean discont;
if (parse_event_ntp_offset (self, event, NULL, &discont)) {
@@ -345,7 +345,7 @@
}
case GST_EVENT_FLUSH_STOP:
purge_cached_buffer_and_events (self);
- self->set_d_bit = FALSE;
+ self->set_d_bit = TRUE;
self->set_e_bit = FALSE;
gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED);
break;
diff --git a/gst/patchdetect/Makefile.in b/gst/patchdetect/Makefile.in
index ce7bf67..cbc0358 100644
--- a/gst/patchdetect/Makefile.in
+++ b/gst/patchdetect/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/pcapparse/Makefile.in b/gst/pcapparse/Makefile.in
index 00bea88..e4ce753 100644
--- a/gst/pcapparse/Makefile.in
+++ b/gst/pcapparse/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/pnm/Makefile.in b/gst/pnm/Makefile.in
index 01c71c2..4a74f2a 100644
--- a/gst/pnm/Makefile.in
+++ b/gst/pnm/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/rawparse/Makefile.in b/gst/rawparse/Makefile.in
index a49d9b4..b024238 100644
--- a/gst/rawparse/Makefile.in
+++ b/gst/rawparse/Makefile.in
@@ -701,6 +701,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/removesilence/Makefile.in b/gst/removesilence/Makefile.in
index 92298ca..316ae84 100644
--- a/gst/removesilence/Makefile.in
+++ b/gst/removesilence/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/sdi/Makefile.in b/gst/sdi/Makefile.in
index 66bdbbc..bfbf9d7 100644
--- a/gst/sdi/Makefile.in
+++ b/gst/sdi/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/sdp/Makefile.in b/gst/sdp/Makefile.in
index 97bf80e..e908697 100644
--- a/gst/sdp/Makefile.in
+++ b/gst/sdp/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/segmentclip/Makefile.in b/gst/segmentclip/Makefile.in
index f17433e..4f6e6ed 100644
--- a/gst/segmentclip/Makefile.in
+++ b/gst/segmentclip/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/siren/Makefile.in b/gst/siren/Makefile.in
index bc50677..9c35f27 100644
--- a/gst/siren/Makefile.in
+++ b/gst/siren/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/smooth/Makefile.in b/gst/smooth/Makefile.in
index 58e488f..8468051 100644
--- a/gst/smooth/Makefile.in
+++ b/gst/smooth/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/speed/Makefile.in b/gst/speed/Makefile.in
index adfb143..48bb4ac 100644
--- a/gst/speed/Makefile.in
+++ b/gst/speed/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/stereo/Makefile.in b/gst/stereo/Makefile.in
index 1f0f33b..22c9315 100644
--- a/gst/stereo/Makefile.in
+++ b/gst/stereo/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/subenc/Makefile.in b/gst/subenc/Makefile.in
index 9ecf901..a0b0780 100644
--- a/gst/subenc/Makefile.in
+++ b/gst/subenc/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/timecode/Makefile.in b/gst/timecode/Makefile.in
index 67ac87d..2f73601 100644
--- a/gst/timecode/Makefile.in
+++ b/gst/timecode/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/tta/Makefile.in b/gst/tta/Makefile.in
index ff23ce4..f8a5a25 100644
--- a/gst/tta/Makefile.in
+++ b/gst/tta/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/videofilters/Makefile.in b/gst/videofilters/Makefile.in
index aa6b34f..88928cc 100644
--- a/gst/videofilters/Makefile.in
+++ b/gst/videofilters/Makefile.in
@@ -699,6 +699,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/videoframe_audiolevel/Makefile.in b/gst/videoframe_audiolevel/Makefile.in
index 1e3ac7f..c5a6d3a 100644
--- a/gst/videoframe_audiolevel/Makefile.in
+++ b/gst/videoframe_audiolevel/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/videomeasure/Makefile.in b/gst/videomeasure/Makefile.in
index 37c0295..c173c8c 100644
--- a/gst/videomeasure/Makefile.in
+++ b/gst/videomeasure/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/videoparsers/Makefile.in b/gst/videoparsers/Makefile.in
index 26339c0..97892f4 100644
--- a/gst/videoparsers/Makefile.in
+++ b/gst/videoparsers/Makefile.in
@@ -707,6 +707,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c
index 7954793..68fbe8d 100644
--- a/gst/videoparsers/gsth265parse.c
+++ b/gst/videoparsers/gsth265parse.c
@@ -2047,9 +2047,10 @@
off = 23;
for (i = 0; i < data[22]; i++) {
num_nals = GST_READ_UINT16_BE (data + off + 1);
+ off += 3;
for (j = 0; j < num_nals; j++) {
parseres = gst_h265_parser_identify_nalu_hevc (h265parse->nalparser,
- data, off + 3, size, 2, &nalu);
+ data, off, size, 2, &nalu);
if (parseres != GST_H265_PARSER_OK) {
gst_buffer_unmap (codec_data, &map);
diff --git a/gst/videoparsers/gstjpeg2000parse.c b/gst/videoparsers/gstjpeg2000parse.c
index 13fee2c..6468bf0 100644
--- a/gst/videoparsers/gstjpeg2000parse.c
+++ b/gst/videoparsers/gstjpeg2000parse.c
@@ -188,6 +188,7 @@
guint eoc_offset = 0;
GstCaps *current_caps = NULL;
GstStructure *current_caps_struct = NULL;
+ const gchar *colorspace_string = NULL;
GstJPEG2000Colorspace colorspace = GST_JPEG2000_COLORSPACE_NONE;
guint x0, y0, x1, y1;
guint width = 0, height = 0;
@@ -196,6 +197,7 @@
guint16 numcomps;
guint16 compno;
GstJPEG2000Sampling parsed_sampling = GST_JPEG2000_SAMPLING_NONE;
+ const gchar *sink_sampling_string = NULL;
GstJPEG2000Sampling sink_sampling = GST_JPEG2000_SAMPLING_NONE;
GstJPEG2000Sampling source_sampling = GST_JPEG2000_SAMPLING_NONE;
guint magic_offset = 0;
@@ -337,12 +339,14 @@
goto beach;
}
- colorspace =
- gst_jpeg2000_colorspace_from_string (gst_structure_get_string
- (current_caps_struct, "colorspace"));
- sink_sampling =
- gst_jpeg2000_sampling_from_string (gst_structure_get_string
- (current_caps_struct, "sampling"));
+ colorspace_string = gst_structure_get_string
+ (current_caps_struct, "colorspace");
+ if (colorspace_string)
+ colorspace = gst_jpeg2000_colorspace_from_string (colorspace_string);
+ sink_sampling_string = gst_structure_get_string
+ (current_caps_struct, "sampling");
+ if (sink_sampling_string)
+ sink_sampling = gst_jpeg2000_sampling_from_string (sink_sampling_string);
for (compno = 0; compno < numcomps; ++compno) {
diff --git a/gst/videosignal/Makefile.in b/gst/videosignal/Makefile.in
index d0aba62..afcb48b 100644
--- a/gst/videosignal/Makefile.in
+++ b/gst/videosignal/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/vmnc/Makefile.in b/gst/vmnc/Makefile.in
index a760253..523a4a6 100644
--- a/gst/vmnc/Makefile.in
+++ b/gst/vmnc/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/y4m/Makefile.in b/gst/y4m/Makefile.in
index 7d1ef95..03d499a 100644
--- a/gst/y4m/Makefile.in
+++ b/gst/y4m/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/gst/yadif/Makefile.in b/gst/yadif/Makefile.in
index 88e95c6..19e5dae 100644
--- a/gst/yadif/Makefile.in
+++ b/gst/yadif/Makefile.in
@@ -691,6 +691,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/m4/Makefile.in b/m4/Makefile.in
index d6b28b9..41206e5 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -607,6 +607,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index b56e542..e3e957f 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -669,6 +669,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/po/af.gmo b/po/af.gmo
index 434b581..0c11cda 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index 91329b9..afc2616 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2004-03-18 14:16+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
diff --git a/po/az.gmo b/po/az.gmo
index 8f5c9af..f1eb31e 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 789ba97..bae75a2 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2004-03-19 18:29+0200\n"
"Last-Translator: Metin Amiroff <metin@karegen.com>\n"
"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
diff --git a/po/bg.gmo b/po/bg.gmo
index 47546c5..0a21e7f 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 6608f03..8b52a90 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2016-02-21 21:03+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
diff --git a/po/ca.gmo b/po/ca.gmo
index 959a293..a3d82a1 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index eb6e274..3c63fa6 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2012-01-01 14:19+0100\n"
"Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
diff --git a/po/cs.gmo b/po/cs.gmo
index 27a4312..58531f8 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 5f0b918..4d6c56e 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-10-15 20:54+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
diff --git a/po/da.gmo b/po/da.gmo
index 2a19704..3fde8f2 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 216fcdb..ed4a584 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-12-05 11:28+0200\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
diff --git a/po/de.gmo b/po/de.gmo
index 689fbf0..4f6245c 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 0f8fc53..64537bb 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-10-21 00:15+0200\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
diff --git a/po/el.gmo b/po/el.gmo
index 2a42ab7..7d5900e 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index fe2fbb4..1b6e0c1 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2012-05-05 19:17+0100\n"
"Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
"Language-Team: Greek <team@lists.gnome.gr>\n"
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index e505037..7e4eec7 100644
--- a/po/en_GB.gmo
+++ b/po/en_GB.gmo
Binary files differ
diff --git a/po/en_GB.po b/po/en_GB.po
index eaf89f8..f4eea15 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins 0.8.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2004-04-26 10:41-0400\n"
"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
"Language-Team: English (British) <en_gb@li.org>\n"
diff --git a/po/eo.gmo b/po/eo.gmo
index 86cdc6c..bd10fce 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index d02b5eb..45e2583 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2011-06-04 22:18+0200\n"
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
diff --git a/po/es.gmo b/po/es.gmo
index b291ac1..238d0a9 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 04d3526..898a4ec 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2011-10-02 15:47+0200\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
diff --git a/po/eu.gmo b/po/eu.gmo
index a07d0f2..3fedd14 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 4386c35..52c80e5 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2010-03-25 12:30+0100\n"
"Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
"Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
diff --git a/po/fi.gmo b/po/fi.gmo
index 9cc41dc..d61e65e 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index ee4c35f..c86d78e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2009-08-12 22:13+0300\n"
"Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 3fa1fa4..d7d5691 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index be2fd9e..024fa49 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2016-02-20 16:27+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
diff --git a/po/gl.gmo b/po/gl.gmo
index e73e8af..7173231 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 5eb7239..027a614 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\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 6df5bfa..a21ccb3 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.9.2\n"
+"Project-Id-Version: gst-plugins-bad 1.9.90\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\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"
@@ -56,7 +56,7 @@
msgstr ""
#: ext/smoothstreaming/gstmssdemux.c:405
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:692
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:695
msgid "This file contains no playable streams."
msgstr ""
@@ -102,16 +102,16 @@
msgid "Subpicture format was not configured before data flow"
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3053
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3056
msgid "Failed to get fragment URL."
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3404
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3407
msgid "Couldn't download fragments"
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3493
-#: gst/mpegtsdemux/mpegtsbase.c:1382
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3496
+#: gst/mpegtsdemux/mpegtsbase.c:1392
msgid "Internal data stream error."
msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 333eea6..b15b5c8 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 3d0f443..0f18211 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2016-05-27 12:45-0700\n"
"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index 63e9c19..c4ee658 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 938a8fd..1079e61 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-11-20 23:46+0100\n"
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
diff --git a/po/id.gmo b/po/id.gmo
index 9f7eab4..4744a0b 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 8c3ea4e..5792ac2 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2014-05-31 22:16+0700\n"
"Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
diff --git a/po/it.gmo b/po/it.gmo
index d5d5c31..7368349 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 12e711b..160c36d 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2009-08-14 00:12+0200\n"
"Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
diff --git a/po/ja.gmo b/po/ja.gmo
index 858830d..c7668ab 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index dd4eb9a..d813aea 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2011-04-26 19:38+0900\n"
"Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
diff --git a/po/ky.gmo b/po/ky.gmo
index 0bdc59b..6afd057 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index d7a1074..65ccb6c 100644
--- a/po/ky.po
+++ b/po/ky.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\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"
@@ -14,6 +14,7 @@
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Poedit-Language: Kyrgyz\n"
"X-Poedit-Country: KYRGYZSTAN\n"
diff --git a/po/lt.gmo b/po/lt.gmo
index 1b113e1..5a7c491 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 1f6c885..3b0995f 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.6.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2008-05-14 02:13+0300\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
diff --git a/po/lv.gmo b/po/lv.gmo
index f1580fa..d66ee0f 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index e933294..536869a 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2014-04-20 15:52+0300\n"
"Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
"Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
diff --git a/po/mt.gmo b/po/mt.gmo
index 8aefa50..b5e536a 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index f002ee6..a31a907 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2008-10-26 20:27+0100\n"
"Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
"Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
diff --git a/po/nb.gmo b/po/nb.gmo
index ebd5fd2..396abde 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index e508329..745045c 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-12-22 21:08+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index be0c758..c0e4769 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 91e1b2e..8d26663 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2016-02-20 12:35+0100\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
diff --git a/po/or.gmo b/po/or.gmo
index 752eaca..319cc21 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index a4eaf9b..86a10ee 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2004-09-27 13:32+0530\n"
"Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n"
"Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n"
diff --git a/po/pl.gmo b/po/pl.gmo
index dfc47bb..a1ea176 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 2888657..1bd5f3b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-10-15 20:50+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index dfa910d..c9f898c 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 6cb4621..ef9de04 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2016-05-06 16:02-0300\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
diff --git a/po/ro.gmo b/po/ro.gmo
index 9e988e6..c72ee99 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 970fd2a..922d43e 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.18.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2010-08-16 03:11+0300\n"
"Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index 0586158..e326719 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index c4a18a4..41f8799 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-10-18 13:40+0300\n"
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
"Language-Team: Russian <gnu@d07.ru>\n"
diff --git a/po/sk.gmo b/po/sk.gmo
index c7f64ff..086f682 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index fea6121..1fc661e 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2016-05-20 12:33+0100\n"
"Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index 19adc55..2593e16 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index b37d1cc..cd58f1c 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2011-04-26 15:21+0100\n"
"Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
diff --git a/po/sq.gmo b/po/sq.gmo
index 78d5a40..89835e8 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index cd3c734..82c2710 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2008-08-15 16:07+0200\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
diff --git a/po/sr.gmo b/po/sr.gmo
index 871b3af..57abefe 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index dc12f85..e064215 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-12-24 11:34+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index 6a39cde..fdee880 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 3569469..d0ebea0 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-11-01 00:48+0100\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -16,6 +16,7 @@
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
"X-Generator: Poedit 1.8.6\n"
msgid "failed to draw pattern"
diff --git a/po/tr.gmo b/po/tr.gmo
index 351cef8..dcf7340 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index c08c42f..10c14c0 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-01-10 21:07+0100\n"
"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
diff --git a/po/uk.gmo b/po/uk.gmo
index 0e91a5b..d2860f7 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 93c6b85..73152fb 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-10-15 20:44+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
diff --git a/po/vi.gmo b/po/vi.gmo
index 6e77352..cdf9df8 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 2bbb892..35eeb0f 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-10-16 08:27+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index fe5e55d..cbe0a8c 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index f861a3a..25cc2f2 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-01 11:24+0300\n"
+"POT-Creation-Date: 2016-09-30 12:19+0300\n"
"PO-Revision-Date: 2015-10-16 19:27+0800\n"
"Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
diff --git a/sys/Makefile.in b/sys/Makefile.in
index e309628..781fd1d 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -672,6 +672,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/acmenc/Makefile.in b/sys/acmenc/Makefile.in
index d3666bb..9f53580 100644
--- a/sys/acmenc/Makefile.in
+++ b/sys/acmenc/Makefile.in
@@ -690,6 +690,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/acmmp3dec/Makefile.in b/sys/acmmp3dec/Makefile.in
index 7a87cef..4dabd3c 100644
--- a/sys/acmmp3dec/Makefile.in
+++ b/sys/acmmp3dec/Makefile.in
@@ -690,6 +690,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/androidmedia/Makefile.in b/sys/androidmedia/Makefile.in
index 88fda28..ab2e4ea 100644
--- a/sys/androidmedia/Makefile.in
+++ b/sys/androidmedia/Makefile.in
@@ -709,6 +709,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/applemedia/Makefile.in b/sys/applemedia/Makefile.in
index 0661e54..5494832 100644
--- a/sys/applemedia/Makefile.in
+++ b/sys/applemedia/Makefile.in
@@ -773,6 +773,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/avc/Makefile.in b/sys/avc/Makefile.in
index ff4d84f..d4298c4 100644
--- a/sys/avc/Makefile.in
+++ b/sys/avc/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/bluez/Makefile.am b/sys/bluez/Makefile.am
index c6b13db..e1a87c9 100644
--- a/sys/bluez/Makefile.am
+++ b/sys/bluez/Makefile.am
@@ -5,7 +5,8 @@
gsta2dpsink.c \
gstavdtpsink.c \
gstavdtpsrc.c \
- gstavdtputil.c
+ gstavdtputil.c \
+ gstavrcputil.c
nodist_libgstbluez_la_SOURCES = \
$(BUILT_SOURCES)
@@ -32,7 +33,8 @@
gsta2dpsink.h \
gstavdtpsink.h \
gstavdtpsrc.h \
- gstavdtputil.h
+ gstavdtputil.h \
+ gstavrcputil.h
BUILT_SOURCES = \
bluez.h \
diff --git a/sys/bluez/Makefile.in b/sys/bluez/Makefile.in
index fe8af68..7cdd4cf 100644
--- a/sys/bluez/Makefile.in
+++ b/sys/bluez/Makefile.in
@@ -168,7 +168,8 @@
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libgstbluez_la_OBJECTS = libgstbluez_la-bluez-plugin.lo \
libgstbluez_la-gsta2dpsink.lo libgstbluez_la-gstavdtpsink.lo \
- libgstbluez_la-gstavdtpsrc.lo libgstbluez_la-gstavdtputil.lo
+ libgstbluez_la-gstavdtpsrc.lo libgstbluez_la-gstavdtputil.lo \
+ libgstbluez_la-gstavrcputil.lo
am__objects_1 = libgstbluez_la-bluez.lo
nodist_libgstbluez_la_OBJECTS = $(am__objects_1)
libgstbluez_la_OBJECTS = $(am_libgstbluez_la_OBJECTS) \
@@ -699,6 +700,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
@@ -797,7 +801,8 @@
gsta2dpsink.c \
gstavdtpsink.c \
gstavdtpsrc.c \
- gstavdtputil.c
+ gstavdtputil.c \
+ gstavrcputil.c
nodist_libgstbluez_la_SOURCES = \
$(BUILT_SOURCES)
@@ -825,7 +830,8 @@
gsta2dpsink.h \
gstavdtpsink.h \
gstavdtpsrc.h \
- gstavdtputil.h
+ gstavdtputil.h \
+ gstavrcputil.h
BUILT_SOURCES = \
bluez.h \
@@ -918,6 +924,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbluez_la-gstavdtpsink.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbluez_la-gstavdtpsrc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbluez_la-gstavdtputil.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbluez_la-gstavrcputil.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -978,6 +985,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstbluez_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbluez_la_CFLAGS) $(CFLAGS) -c -o libgstbluez_la-gstavdtputil.lo `test -f 'gstavdtputil.c' || echo '$(srcdir)/'`gstavdtputil.c
+libgstbluez_la-gstavrcputil.lo: gstavrcputil.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstbluez_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbluez_la_CFLAGS) $(CFLAGS) -MT libgstbluez_la-gstavrcputil.lo -MD -MP -MF $(DEPDIR)/libgstbluez_la-gstavrcputil.Tpo -c -o libgstbluez_la-gstavrcputil.lo `test -f 'gstavrcputil.c' || echo '$(srcdir)/'`gstavrcputil.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstbluez_la-gstavrcputil.Tpo $(DEPDIR)/libgstbluez_la-gstavrcputil.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstavrcputil.c' object='libgstbluez_la-gstavrcputil.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 $(libgstbluez_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbluez_la_CFLAGS) $(CFLAGS) -c -o libgstbluez_la-gstavrcputil.lo `test -f 'gstavrcputil.c' || echo '$(srcdir)/'`gstavrcputil.c
+
libgstbluez_la-bluez.lo: bluez.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstbluez_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbluez_la_CFLAGS) $(CFLAGS) -MT libgstbluez_la-bluez.lo -MD -MP -MF $(DEPDIR)/libgstbluez_la-bluez.Tpo -c -o libgstbluez_la-bluez.lo `test -f 'bluez.c' || echo '$(srcdir)/'`bluez.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstbluez_la-bluez.Tpo $(DEPDIR)/libgstbluez_la-bluez.Plo
diff --git a/sys/bluez/gsta2dpsink.c b/sys/bluez/gsta2dpsink.c
index a7ffd29..6a2b50c 100644
--- a/sys/bluez/gsta2dpsink.c
+++ b/sys/bluez/gsta2dpsink.c
@@ -21,16 +21,10 @@
*
*/
-/* FIXME:
- * - the segment_event caching and re-sending should not be needed any
- * longer with sticky events
- */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#define GLIB_DISABLE_DEPRECATION_WARNINGS
-
#include <unistd.h>
#include "gsta2dpsink.h"
@@ -71,42 +65,17 @@
static gboolean gst_a2dp_sink_query (GstPad * pad, GstObject * parent,
GstQuery * query);
static GstCaps *gst_a2dp_sink_get_caps (GstA2dpSink * self);
-static gboolean gst_a2dp_sink_init_caps_filter (GstA2dpSink * self);
-static gboolean gst_a2dp_sink_init_fakesink (GstA2dpSink * self);
-static gboolean gst_a2dp_sink_remove_fakesink (GstA2dpSink * self);
-
-static void
-gst_a2dp_sink_finalize (GObject * obj)
-{
- GstA2dpSink *self = GST_A2DP_SINK (obj);
-
- g_mutex_clear (&self->cb_mutex);
-
- G_OBJECT_CLASS (parent_class)->finalize (obj);
-}
-
-static GstState
-gst_a2dp_sink_get_state (GstA2dpSink * self)
-{
- GstState current, pending;
-
- gst_element_get_state (GST_ELEMENT (self), ¤t, &pending, 0);
- if (pending == GST_STATE_VOID_PENDING)
- return current;
-
- return pending;
-}
/*
* Helper function to create elements, add to the bin and link it
* to another element.
*/
static GstElement *
-gst_a2dp_sink_init_element (GstA2dpSink * self,
- const gchar * elementname, const gchar * name, GstElement * link_to)
+gst_a2dp_sink_init_element (GstA2dpSink * self, const gchar * elementname,
+ const gchar * name)
{
GstElement *element;
- GstState state;
+ GstPad *sinkpad;
GST_LOG_OBJECT (self, "Initializing %s", elementname);
@@ -121,17 +90,16 @@
goto cleanup_and_fail;
}
- state = gst_a2dp_sink_get_state (self);
- if (gst_element_set_state (element, state) == GST_STATE_CHANGE_FAILURE) {
- GST_DEBUG_OBJECT (self, "%s failed to go to playing", elementname);
+ sinkpad = gst_element_get_static_pad (element, "sink");
+ if (!gst_ghost_pad_set_target (GST_GHOST_PAD (self->ghostpad), sinkpad)) {
+ GST_ERROR_OBJECT (self, "Failed to set target for ghost pad");
goto remove_element_and_fail;
}
- if (link_to != NULL)
- if (!gst_element_link (link_to, element)) {
- GST_DEBUG_OBJECT (self, "couldn't link %s", elementname);
- goto remove_element_and_fail;
- }
+ if (!gst_element_sync_state_with_parent (element)) {
+ GST_DEBUG_OBJECT (self, "%s failed to go to playing", elementname);
+ goto remove_element_and_fail;
+ }
return element;
@@ -221,21 +189,16 @@
static gboolean
gst_a2dp_sink_init_ghost_pad (GstA2dpSink * self)
{
- GstPad *capsfilter_pad;
-
- /* we search for the capsfilter sinkpad */
- capsfilter_pad = gst_element_get_static_pad (self->capsfilter, "sink");
+ GstPadTemplate *templ;
/* now we add a ghostpad */
- self->ghostpad = gst_ghost_pad_new ("sink", capsfilter_pad);
- g_object_unref (capsfilter_pad);
+ templ = gst_static_pad_template_get (&gst_a2dp_sink_factory);
+ self->ghostpad = gst_ghost_pad_new_no_target_from_template ("sink", templ);
+ g_object_unref (templ);
/* the getcaps of our ghostpad must reflect the device caps */
gst_pad_set_query_function (self->ghostpad, gst_a2dp_sink_query);
- /* we need to handle events on our own and we also need the eventfunc
- * of the ghostpad for forwarding calls */
- self->ghostpad_eventfunc = GST_PAD_EVENTFUNC (self->ghostpad);
gst_pad_set_event_function (self->ghostpad, gst_a2dp_sink_handle_event);
if (!gst_element_add_pad (GST_ELEMENT (self), self->ghostpad))
@@ -259,25 +222,15 @@
static GstStateChangeReturn
gst_a2dp_sink_change_state (GstElement * element, GstStateChange transition)
{
- GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
+ GstStateChangeReturn ret;
GstA2dpSink *self = GST_A2DP_SINK (element);
switch (transition) {
case GST_STATE_CHANGE_READY_TO_PAUSED:
self->taglist = gst_tag_list_new_empty ();
-
- gst_a2dp_sink_init_fakesink (self);
break;
case GST_STATE_CHANGE_NULL_TO_READY:
- self->sink_is_in_bin = FALSE;
- self->sink =
- GST_AVDTP_SINK (gst_element_factory_make ("avdtpsink", "avdtpsink"));
- if (self->sink == NULL) {
- GST_WARNING_OBJECT (self, "failed to create avdtpsink");
- return GST_STATE_CHANGE_FAILURE;
- }
-
if (self->device != NULL)
gst_avdtp_sink_set_device (self->sink, self->device);
@@ -287,18 +240,12 @@
g_object_set (G_OBJECT (self->sink), "auto-connect",
self->autoconnect, NULL);
- ret = gst_element_set_state (GST_ELEMENT (self->sink), GST_STATE_READY);
- if (ret == GST_STATE_CHANGE_FAILURE) {
- g_clear_object (&self->sink);
- }
break;
+
default:
break;
}
- if (ret == GST_STATE_CHANGE_FAILURE)
- return ret;
-
ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
switch (transition) {
@@ -307,25 +254,11 @@
gst_tag_list_unref (self->taglist);
self->taglist = NULL;
}
- if (self->segment_event != NULL) {
- gst_event_unref (self->segment_event);
- self->segment_event = NULL;
- }
- gst_a2dp_sink_remove_fakesink (self);
break;
case GST_STATE_CHANGE_READY_TO_NULL:
- if (self->sink_is_in_bin) {
- if (!gst_bin_remove (GST_BIN (self), GST_ELEMENT (self->sink)))
- GST_WARNING_OBJECT (self, "Failed to remove " "avdtpsink from bin");
- } else if (self->sink != NULL) {
- gst_element_set_state (GST_ELEMENT (self->sink), GST_STATE_NULL);
- g_object_unref (G_OBJECT (self->sink));
- }
-
- self->sink = NULL;
-
gst_a2dp_sink_remove_dynamic_elements (self);
+
break;
default:
break;
@@ -345,8 +278,6 @@
object_class->set_property = GST_DEBUG_FUNCPTR (gst_a2dp_sink_set_property);
object_class->get_property = GST_DEBUG_FUNCPTR (gst_a2dp_sink_get_property);
- object_class->finalize = GST_DEBUG_FUNCPTR (gst_a2dp_sink_finalize);
-
element_class->change_state = GST_DEBUG_FUNCPTR (gst_a2dp_sink_change_state);
g_object_class_install_property (object_class, PROP_DEVICE,
@@ -382,22 +313,16 @@
static GstCaps *
gst_a2dp_sink_get_caps (GstA2dpSink * self)
{
- GstCaps *caps;
- GstCaps *caps_aux;
+ GstCaps *caps = NULL;
- if (self->sink == NULL) {
- GST_DEBUG_OBJECT (self, "a2dpsink isn't initialized "
- "returning template caps");
- caps = gst_static_pad_template_get_caps (&gst_a2dp_sink_factory);
- } else {
+ if (self->sink != NULL) {
GST_LOG_OBJECT (self, "Getting device caps");
caps = gst_a2dp_sink_get_device_caps (self);
- if (caps == NULL)
- caps = gst_static_pad_template_get_caps (&gst_a2dp_sink_factory);
}
- caps_aux = gst_caps_copy (caps);
- g_object_set (self->capsfilter, "caps", caps_aux, NULL);
- gst_caps_unref (caps_aux);
+
+ if (!caps)
+ caps = gst_static_pad_template_get_caps (&gst_a2dp_sink_factory);
+
return caps;
}
@@ -406,10 +331,6 @@
{
GstElement *sink;
- /* check if we don't need a new sink */
- if (self->sink_is_in_bin)
- return TRUE;
-
if (self->sink == NULL)
sink = gst_element_factory_make ("avdtpsink", "avdtpsink");
else
@@ -425,30 +346,14 @@
goto cleanup_and_fail;
}
- if (gst_element_set_state (sink, GST_STATE_READY) == GST_STATE_CHANGE_FAILURE) {
- GST_ERROR_OBJECT (self, "avdtpsink failed to go to ready");
- goto remove_element_and_fail;
- }
-
- if (!gst_element_link (GST_ELEMENT (self->rtp), sink)) {
- GST_ERROR_OBJECT (self, "couldn't link rtpsbcpay " "to avdtpsink");
- goto remove_element_and_fail;
- }
-
self->sink = GST_AVDTP_SINK (sink);
- self->sink_is_in_bin = TRUE;
g_object_set (G_OBJECT (self->sink), "device", self->device, NULL);
g_object_set (G_OBJECT (self->sink), "transport", self->transport, NULL);
- gst_element_set_state (sink, GST_STATE_PAUSED);
+ gst_element_sync_state_with_parent (sink);
return TRUE;
-remove_element_and_fail:
- gst_element_set_state (sink, GST_STATE_NULL);
- gst_bin_remove (GST_BIN (self), sink);
- return FALSE;
-
cleanup_and_fail:
if (sink != NULL)
g_object_unref (G_OBJECT (sink));
@@ -465,8 +370,7 @@
if (self->rtp != NULL)
return TRUE;
- rtppay = gst_a2dp_sink_init_element (self, "rtpsbcpay", "rtp",
- self->capsfilter);
+ rtppay = gst_a2dp_sink_init_element (self, "rtpsbcpay", "rtp");
if (rtppay == NULL)
return FALSE;
@@ -488,12 +392,8 @@
return TRUE;
GST_LOG_OBJECT (self, "Initializing rtp mpeg element");
- /* if capsfilter is not created then we can't have our rtp element */
- if (self->capsfilter == NULL)
- return FALSE;
- rtppay = gst_a2dp_sink_init_element (self, "rtpmpapay", "rtp",
- self->capsfilter);
+ rtppay = gst_a2dp_sink_init_element (self, "rtpmpapay", "rtp");
if (rtppay == NULL)
return FALSE;
@@ -509,15 +409,11 @@
{
GstStructure *structure;
GstEvent *event;
- GstPad *capsfilterpad;
gboolean crc;
gchar *mode = NULL;
structure = gst_caps_get_structure (caps, 0);
- /* before everything we need to remove fakesink */
- gst_a2dp_sink_remove_fakesink (self);
-
/* first, we need to create our rtp payloader */
if (gst_structure_has_name (structure, "audio/x-sbc")) {
GST_LOG_OBJECT (self, "sbc media received");
@@ -532,8 +428,10 @@
return FALSE;
}
- if (!gst_a2dp_sink_init_avdtp_sink (self))
+ if (!gst_element_link (GST_ELEMENT (self->rtp), GST_ELEMENT (self->sink))) {
+ GST_ERROR_OBJECT (self, "couldn't link rtpsbcpay " "to avdtpsink");
return FALSE;
+ }
/* check if we should push the taglist FIXME should we push this?
* we can send the tags directly if needed */
@@ -548,71 +446,42 @@
if (gst_tag_list_get_string (self->taglist, "channel-mode", &mode))
gst_avdtp_sink_set_channel_mode (self->sink, mode);
- capsfilterpad = gst_ghost_pad_get_target (GST_GHOST_PAD (self->ghostpad));
- gst_pad_send_event (capsfilterpad, event);
+ gst_pad_send_event (self->ghostpad, event);
+
self->taglist = NULL;
g_free (mode);
}
- if (!gst_avdtp_sink_set_device_caps (self->sink, caps))
- return FALSE;
-
g_object_set (self->rtp, "mtu",
gst_avdtp_sink_get_link_mtu (self->sink), NULL);
-#if 0
- /* we forward our new segment here if we have one (FIXME: not needed any more) */
- if (self->segment_event) {
- gst_pad_send_event (GST_BASE_RTP_PAYLOAD_SINKPAD (self->rtp),
- self->segment_event);
- self->segment_event = NULL;
- }
-#endif
-
return TRUE;
}
-/* used for catching newsegment events while we don't have a sink, for
- * later forwarding it to the sink */
static gboolean
gst_a2dp_sink_handle_event (GstPad * pad, GstObject * pad_parent,
GstEvent * event)
{
GstA2dpSink *self;
GstTagList *taglist = NULL;
- GstObject *parent;
self = GST_A2DP_SINK (pad_parent);
- parent = gst_element_get_parent (GST_ELEMENT (self->sink));
- if (GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT &&
- parent != GST_OBJECT_CAST (self)) {
- if (self->segment_event != NULL)
- gst_event_unref (self->segment_event);
- self->segment_event = gst_event_ref (event);
-
- } else if (GST_EVENT_TYPE (event) == GST_EVENT_TAG &&
- parent != GST_OBJECT_CAST (self)) {
+ if (GST_EVENT_TYPE (event) == GST_EVENT_TAG) {
if (self->taglist == NULL)
gst_event_parse_tag (event, &self->taglist);
else {
gst_event_parse_tag (event, &taglist);
gst_tag_list_insert (self->taglist, taglist, GST_TAG_MERGE_REPLACE);
}
- } else if (GST_EVENT_TYPE (event) == GST_EVENT_CAPS &&
- parent != GST_OBJECT_CAST (self)) {
+ } else if (GST_EVENT_TYPE (event) == GST_EVENT_CAPS) {
GstCaps *caps = NULL;
- /* FIXME: really check for parent != self above? */
- /* now we know the caps */
gst_event_parse_caps (event, &caps);
gst_a2dp_sink_init_dynamic_elements (self, caps);
}
- if (parent != NULL)
- gst_object_unref (GST_OBJECT (parent));
-
- return self->ghostpad_eventfunc (self->ghostpad, GST_OBJECT (self), event);
+ return gst_pad_event_default (pad, pad_parent, event);
}
static gboolean
@@ -629,91 +498,24 @@
gst_caps_unref (caps);
ret = TRUE;
} else {
- ret = sink->ghostpad_queryfunc (pad, parent, query);
+ ret = gst_pad_query_default (pad, parent, query);
}
return ret;
}
-
-static gboolean
-gst_a2dp_sink_init_caps_filter (GstA2dpSink * self)
-{
- GstElement *element;
-
- element = gst_element_factory_make ("capsfilter", "filter");
- if (element == NULL)
- goto failed;
-
- if (!gst_bin_add (GST_BIN (self), element))
- goto failed;
-
- self->capsfilter = element;
- return TRUE;
-
-failed:
- GST_ERROR_OBJECT (self, "Failed to initialize caps filter");
- return FALSE;
-}
-
-static gboolean
-gst_a2dp_sink_init_fakesink (GstA2dpSink * self)
-{
- if (self->fakesink != NULL)
- return TRUE;
-
- g_mutex_lock (&self->cb_mutex);
- self->fakesink = gst_a2dp_sink_init_element (self, "fakesink",
- "fakesink", self->capsfilter);
- g_mutex_unlock (&self->cb_mutex);
-
- if (!self->fakesink)
- return FALSE;
-
- return TRUE;
-}
-
-static gboolean
-gst_a2dp_sink_remove_fakesink (GstA2dpSink * self)
-{
- g_mutex_lock (&self->cb_mutex);
-
- if (self->fakesink != NULL) {
- gst_element_set_locked_state (self->fakesink, TRUE);
- gst_element_set_state (self->fakesink, GST_STATE_NULL);
-
- gst_bin_remove (GST_BIN (self), self->fakesink);
- self->fakesink = NULL;
- }
-
- g_mutex_unlock (&self->cb_mutex);
-
- return TRUE;
-}
-
static void
gst_a2dp_sink_init (GstA2dpSink * self)
{
self->sink = NULL;
- self->fakesink = NULL;
self->rtp = NULL;
self->device = NULL;
self->transport = NULL;
self->autoconnect = DEFAULT_AUTOCONNECT;
- self->capsfilter = NULL;
- self->segment_event = NULL;
self->taglist = NULL;
self->ghostpad = NULL;
- self->sink_is_in_bin = FALSE;
-
- g_mutex_init (&self->cb_mutex);
-
- /* we initialize our capsfilter */
- gst_a2dp_sink_init_caps_filter (self);
- g_object_set (self->capsfilter, "caps",
- gst_static_pad_template_get_caps (&gst_a2dp_sink_factory), NULL);
-
- gst_a2dp_sink_init_fakesink (self);
gst_a2dp_sink_init_ghost_pad (self);
+
+ gst_a2dp_sink_init_avdtp_sink (self);
}
diff --git a/sys/bluez/gsta2dpsink.h b/sys/bluez/gsta2dpsink.h
index 20c40e8..bbfe87b 100644
--- a/sys/bluez/gsta2dpsink.h
+++ b/sys/bluez/gsta2dpsink.h
@@ -47,24 +47,16 @@
GstElement *rtp;
GstAvdtpSink *sink;
- GstElement *capsfilter;
- GstElement *fakesink;
gchar *device;
gchar *transport;
gboolean autoconnect;
- gboolean sink_is_in_bin;
GstPad *ghostpad;
- GstPadQueryFunction ghostpad_queryfunc;
- GstPadEventFunction ghostpad_eventfunc;
- GstEvent *segment_event;
/* Store the tags received before the a2dpsender sink is created
* when it is created we forward this to it */
GstTagList *taglist;
-
- GMutex cb_mutex;
};
struct _GstA2dpSinkClass
diff --git a/sys/bluez/gstavdtpsink.c b/sys/bluez/gstavdtpsink.c
index e91aed3..c6463d5 100644
--- a/sys/bluez/gstavdtpsink.c
+++ b/sys/bluez/gstavdtpsink.c
@@ -244,7 +244,7 @@
gst_tag_list_foreach (taglist, gst_avdtp_sink_tag, self);
}
- return TRUE;
+ return GST_BASE_SINK_CLASS (parent_class)->event (basesink, event);
}
static gboolean
@@ -427,21 +427,6 @@
return gst_caps_copy (sink->dev_caps);
}
-gboolean
-gst_avdtp_sink_set_device_caps (GstAvdtpSink * self, GstCaps * caps)
-{
- GST_DEBUG_OBJECT (self, "setting device caps");
- GST_AVDTP_SINK_MUTEX_LOCK (self);
-
- if (self->stream_caps)
- gst_caps_unref (self->stream_caps);
- self->stream_caps = gst_caps_ref (caps);
-
- GST_AVDTP_SINK_MUTEX_UNLOCK (self);
-
- return TRUE;
-}
-
guint
gst_avdtp_sink_get_link_mtu (GstAvdtpSink * sink)
{
diff --git a/sys/bluez/gstavdtpsink.h b/sys/bluez/gstavdtpsink.h
index 91eba40..c6b60b7 100644
--- a/sys/bluez/gstavdtpsink.h
+++ b/sys/bluez/gstavdtpsink.h
@@ -74,7 +74,6 @@
GType gst_avdtp_sink_get_type (void);
GstCaps *gst_avdtp_sink_get_device_caps (GstAvdtpSink * sink);
-gboolean gst_avdtp_sink_set_device_caps (GstAvdtpSink * sink, GstCaps * caps);
guint gst_avdtp_sink_get_link_mtu (GstAvdtpSink * sink);
diff --git a/sys/bluez/gstavdtpsrc.c b/sys/bluez/gstavdtpsrc.c
index 00c807a..1c68e45 100644
--- a/sys/bluez/gstavdtpsrc.c
+++ b/sys/bluez/gstavdtpsrc.c
@@ -68,6 +68,8 @@
const GValue * value, GParamSpec * pspec);
static GstCaps *gst_avdtp_src_getcaps (GstBaseSrc * bsrc, GstCaps * filter);
+static gboolean gst_avdtp_src_query (GstPad * pad, GstObject * parent,
+ GstQuery * query);
static gboolean gst_avdtp_src_start (GstBaseSrc * bsrc);
static gboolean gst_avdtp_src_stop (GstBaseSrc * bsrc);
static GstFlowReturn gst_avdtp_src_create (GstBaseSrc * bsrc, guint64 offset,
@@ -117,9 +119,14 @@
{
avdtpsrc->poll = gst_poll_new (TRUE);
+ avdtpsrc->duration = GST_CLOCK_TIME_NONE;
+
gst_base_src_set_format (GST_BASE_SRC (avdtpsrc), GST_FORMAT_TIME);
gst_base_src_set_live (GST_BASE_SRC (avdtpsrc), TRUE);
gst_base_src_set_do_timestamp (GST_BASE_SRC (avdtpsrc), TRUE);
+
+ gst_pad_set_query_function (GST_BASE_SRC_PAD (avdtpsrc),
+ GST_DEBUG_FUNCPTR (gst_avdtp_src_query));
}
static void
@@ -169,6 +176,35 @@
}
}
+static gboolean
+gst_avdtp_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
+{
+ GstAvdtpSrc *avdtpsrc = GST_AVDTP_SRC (gst_pad_get_parent_element (pad));
+ gboolean ret = FALSE;
+
+ switch (GST_QUERY_TYPE (query)) {
+ case GST_QUERY_DURATION:{
+ GstFormat format;
+
+ if (avdtpsrc->duration != GST_CLOCK_TIME_NONE) {
+ gst_query_parse_duration (query, &format, NULL);
+
+ if (format == GST_FORMAT_TIME) {
+ gst_query_set_duration (query, format, (gint64) avdtpsrc->duration);
+ ret = TRUE;
+ }
+ }
+
+ break;
+ }
+
+ default:
+ ret = gst_pad_query_default (pad, parent, query);
+ }
+
+ return ret;
+}
+
static GstCaps *
gst_avdtp_src_getcaps (GstBaseSrc * bsrc, GstCaps * filter)
{
@@ -247,6 +283,54 @@
return ret;
}
+static void
+avrcp_metadata_cb (GstAvrcpConnection * avrcp, GstTagList * taglist,
+ gpointer user_data)
+{
+ GstAvdtpSrc *src = GST_AVDTP_SRC (user_data);
+ guint64 duration;
+
+ if (gst_tag_list_get_uint64 (taglist, GST_TAG_DURATION, &duration)) {
+ src->duration = duration;
+ gst_element_post_message (GST_ELEMENT (src),
+ gst_message_new_duration_changed (GST_OBJECT (src)));
+ }
+
+ gst_pad_push_event (GST_BASE_SRC_PAD (src),
+ gst_event_new_tag (gst_tag_list_copy (taglist)));
+ gst_element_post_message (GST_ELEMENT (src),
+ gst_message_new_tag (GST_OBJECT (src), taglist));
+}
+
+static void
+gst_avdtp_src_start_avrcp (GstAvdtpSrc * src)
+{
+ gchar *path, **strv;
+ int i;
+
+ /* Strip out the /fdX in /org/bluez/dev_.../fdX */
+ strv = g_strsplit (src->conn.transport, "/", -1);
+
+ for (i = 0; strv[i]; i++);
+ g_return_if_fail (i > 0);
+
+ g_free (strv[i - 1]);
+ strv[i - 1] = NULL;
+
+ path = g_strjoinv ("/", strv);
+ g_strfreev (strv);
+
+ src->avrcp = gst_avrcp_connection_new (path, avrcp_metadata_cb, src, NULL);
+
+ g_free (path);
+}
+
+static void
+gst_avdtp_src_stop_avrcp (GstAvdtpSrc * src)
+{
+ gst_avrcp_connection_free (src->avrcp);
+}
+
static gboolean
gst_avdtp_src_start (GstBaseSrc * bsrc)
{
@@ -291,6 +375,8 @@
g_atomic_int_set (&avdtpsrc->unlocked, FALSE);
+ gst_avdtp_src_start_avrcp (avdtpsrc);
+
return TRUE;
fail:
@@ -306,6 +392,7 @@
gst_poll_remove_fd (avdtpsrc->poll, &avdtpsrc->pfd);
gst_poll_set_flushing (avdtpsrc->poll, TRUE);
+ gst_avdtp_src_stop_avrcp (avdtpsrc);
gst_avdtp_connection_release (&avdtpsrc->conn);
if (avdtpsrc->dev_caps) {
diff --git a/sys/bluez/gstavdtpsrc.h b/sys/bluez/gstavdtpsrc.h
index 67027fa..334ff15 100644
--- a/sys/bluez/gstavdtpsrc.h
+++ b/sys/bluez/gstavdtpsrc.h
@@ -27,6 +27,7 @@
#include <gst/gst.h>
#include <gst/base/gstbasesrc.h>
#include "gstavdtputil.h"
+#include "gstavrcputil.h"
G_BEGIN_DECLS
#define GST_TYPE_AVDTP_SRC \
@@ -54,9 +55,13 @@
GstAvdtpConnection conn;
GstCaps *dev_caps;
+ GstAvrcpConnection *avrcp;
+
GstPoll *poll;
GstPollFD pfd;
volatile gint unlocked;
+
+ GstClockTime duration;
};
GType gst_avdtp_src_get_type (void);
diff --git a/sys/bluez/gstavrcputil.c b/sys/bluez/gstavrcputil.c
new file mode 100644
index 0000000..efce32d
--- /dev/null
+++ b/sys/bluez/gstavrcputil.c
@@ -0,0 +1,333 @@
+/*
+ * Copyright (C) 2015 Arun Raghavan <git@arunraghavan.net>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "gstavrcputil.h"
+#include "bluez.h"
+
+#include <gio/gio.h>
+
+#define BLUEZ_NAME "org.bluez"
+#define BLUEZ_PATH "/"
+#define BLUEZ_MEDIA_PLAYER_IFACE BLUEZ_NAME ".MediaPlayer1"
+
+struct _GstAvrcpConnection
+{
+ GMainContext *context;
+ GMainLoop *mainloop;
+ GThread *thread;
+
+ gchar *dev_path;
+ GDBusObjectManager *manager;
+ BluezMediaPlayer1 *player;
+
+ GstAvrcpMetadataCb cb;
+ gpointer user_data;
+ GDestroyNotify user_data_free_cb;
+};
+
+static const char *
+tag_from_property (const char *name)
+{
+ if (g_str_equal (name, "Title"))
+ return GST_TAG_TITLE;
+ else if (g_str_equal (name, "Artist"))
+ return GST_TAG_ARTIST;
+ else if (g_str_equal (name, "Album"))
+ return GST_TAG_ALBUM;
+ else if (g_str_equal (name, "Genre"))
+ return GST_TAG_GENRE;
+ else if (g_str_equal (name, "NumberOfTracks"))
+ return GST_TAG_TRACK_COUNT;
+ else if (g_str_equal (name, "TrackNumber"))
+ return GST_TAG_TRACK_NUMBER;
+ else if (g_str_equal (name, "Duration"))
+ return GST_TAG_DURATION;
+ else
+ return NULL;
+}
+
+static GstTagList *
+tag_list_from_variant (GVariant * properties, gboolean track)
+{
+ const gchar *name, *s;
+ GVariant *value;
+ GVariantIter *iter;
+ GstTagList *taglist = NULL;
+
+ iter = g_variant_iter_new (properties);
+
+ if (track)
+ taglist = gst_tag_list_new_empty ();
+
+ /* The properties are in two levels -- at the top level we have the position
+ * and the 'track'. The 'track' is another level of {sv} so we recurse one
+ * level to pick up the actual track data. We get the taglist from the
+ * recursive call, and ignore the position for now. */
+
+ while (g_variant_iter_next (iter, "{&sv}", &name, &value)) {
+ if (!track && g_str_equal (name, "Track")) {
+ /* Top level property */
+ taglist = tag_list_from_variant (value, TRUE);
+
+ } else if (track) {
+ /* If we get here, we are in the recursive call and we're dealing with
+ * properties under "Track" */
+ GType type;
+ const gchar *tag;
+ guint i;
+ guint64 i64;
+
+ tag = tag_from_property (name);
+ if (!tag)
+ goto next;
+
+ type = gst_tag_get_type (tag);
+
+ switch (type) {
+ case G_TYPE_STRING:
+ s = g_variant_get_string (value, NULL);
+ if (s && s[0] != '\0')
+ gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE, tag, s, NULL);
+ break;
+
+ case G_TYPE_UINT:
+ i = g_variant_get_uint32 (value);
+ if (i > 0)
+ gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE, tag, i, NULL);
+ break;
+
+ case G_TYPE_UINT64:
+ /* If we're here, the tag is 'duration' */
+ i64 = g_variant_get_uint32 (value);
+ if (i64 > 0 && i64 != (guint32) (-1)) {
+ gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE, tag,
+ i64 * GST_MSECOND, NULL);
+ }
+ break;
+
+ default:
+ GST_WARNING ("Unknown property: %s", name);
+ break;
+ }
+ }
+
+ next:
+ g_variant_unref (value);
+ }
+
+ g_variant_iter_free (iter);
+
+ if (taglist && gst_tag_list_is_empty (taglist)) {
+ gst_tag_list_unref (taglist);
+ taglist = NULL;
+ }
+
+ return taglist;
+}
+
+static void
+player_property_changed_cb (GDBusProxy * proxy, GVariant * properties,
+ GStrv invalid, gpointer user_data)
+{
+ GstAvrcpConnection *avrcp = (GstAvrcpConnection *) user_data;
+ GstTagList *taglist;
+
+ taglist = tag_list_from_variant (properties, FALSE);
+
+ if (taglist)
+ avrcp->cb (avrcp, taglist, avrcp->user_data);
+}
+
+static GstTagList *
+player_get_taglist (BluezMediaPlayer1 * player)
+{
+ GstTagList *taglist = NULL;
+ GVariant *track;
+
+ track = bluez_media_player1_get_track (player);
+ if (track)
+ taglist = tag_list_from_variant (track, TRUE);
+
+ return taglist;
+}
+
+static void
+gst_avrcp_connection_set_player (GstAvrcpConnection * avrcp,
+ BluezMediaPlayer1 * player)
+{
+ GstTagList *taglist;
+
+ if (avrcp->player)
+ g_object_unref (avrcp->player);
+
+ if (!player) {
+ avrcp->player = NULL;
+ return;
+ }
+
+ avrcp->player = g_object_ref (player);
+
+ g_signal_connect (player, "g-properties-changed",
+ G_CALLBACK (player_property_changed_cb), avrcp);
+
+ taglist = player_get_taglist (avrcp->player);
+
+ if (taglist)
+ avrcp->cb (avrcp, taglist, avrcp->user_data);
+}
+
+static BluezMediaPlayer1 *
+media_player_from_dbus_object (GDBusObject * object)
+{
+ return (BluezMediaPlayer1 *) g_dbus_object_get_interface (object,
+ BLUEZ_MEDIA_PLAYER_IFACE);
+}
+
+static GType
+manager_proxy_type_func (GDBusObjectManagerClient * manager,
+ const gchar * object_path, const gchar * interface_name, gpointer user_data)
+{
+ if (!interface_name)
+ return G_TYPE_DBUS_OBJECT_PROXY;
+
+ if (g_str_equal (interface_name, BLUEZ_MEDIA_PLAYER_IFACE))
+ return BLUEZ_TYPE_MEDIA_PLAYER1_PROXY;
+
+ return G_TYPE_DBUS_PROXY;
+}
+
+static void
+manager_object_added_cb (GDBusObjectManager * manager,
+ GDBusObject * object, gpointer user_data)
+{
+ GstAvrcpConnection *avrcp = (GstAvrcpConnection *) user_data;
+ BluezMediaPlayer1 *player;
+
+ if (!(player = media_player_from_dbus_object (object)))
+ return;
+
+ gst_avrcp_connection_set_player (avrcp, player);
+}
+
+static void
+manager_object_removed_cb (GDBusObjectManager * manager,
+ GDBusObject * object, gpointer user_data)
+{
+ GstAvrcpConnection *avrcp = (GstAvrcpConnection *) user_data;
+ BluezMediaPlayer1 *player;
+
+ if (!(player = media_player_from_dbus_object (object)))
+ return;
+
+ if (player == avrcp->player)
+ gst_avrcp_connection_set_player (avrcp, NULL);
+}
+
+static void
+manager_ready_cb (GObject * object, GAsyncResult * res, gpointer user_data)
+{
+ GstAvrcpConnection *avrcp = (GstAvrcpConnection *) user_data;
+ GList *objects, *i;
+ GError *err = NULL;
+
+ avrcp->manager = g_dbus_object_manager_client_new_for_bus_finish (res, &err);
+ if (!avrcp->manager) {
+ GST_WARNING ("Could not create ObjectManager proxy: %s", err->message);
+ g_error_free (err);
+ return;
+ }
+
+ g_signal_connect (avrcp->manager, "object-added",
+ G_CALLBACK (manager_object_added_cb), avrcp);
+ g_signal_connect (avrcp->manager, "object-removed",
+ G_CALLBACK (manager_object_removed_cb), avrcp);
+
+ objects = g_dbus_object_manager_get_objects (avrcp->manager);
+
+ for (i = objects; i; i = i->next) {
+ BluezMediaPlayer1 *player =
+ media_player_from_dbus_object (G_DBUS_OBJECT (i->data));
+
+ if (player && g_str_equal (avrcp->dev_path,
+ bluez_media_player1_get_device (player))) {
+ gst_avrcp_connection_set_player (avrcp, player);
+ break;
+ }
+ }
+
+ g_list_free_full (objects, g_object_unref);
+}
+
+GstAvrcpConnection *
+gst_avrcp_connection_new (const gchar * dev_path, GstAvrcpMetadataCb cb,
+ gpointer user_data, GDestroyNotify user_data_free_cb)
+{
+ GstAvrcpConnection *avrcp;
+
+ avrcp = g_new0 (GstAvrcpConnection, 1);
+
+ avrcp->cb = cb;
+ avrcp->user_data = user_data;
+ avrcp->user_data_free_cb = user_data_free_cb;
+
+ avrcp->context = g_main_context_new ();
+ avrcp->mainloop = g_main_loop_new (avrcp->context, FALSE);
+
+ avrcp->dev_path = g_strdup (dev_path);
+
+ g_main_context_push_thread_default (avrcp->context);
+
+ g_dbus_object_manager_client_new_for_bus (G_BUS_TYPE_SYSTEM,
+ G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE, BLUEZ_NAME, BLUEZ_PATH,
+ manager_proxy_type_func, NULL, NULL, NULL, manager_ready_cb, avrcp);
+
+ g_main_context_pop_thread_default (avrcp->context);
+
+ avrcp->thread = g_thread_new ("gstavrcp", (GThreadFunc) g_main_loop_run,
+ avrcp->mainloop);
+
+ return avrcp;
+}
+
+void
+gst_avrcp_connection_free (GstAvrcpConnection * avrcp)
+{
+ g_main_loop_quit (avrcp->mainloop);
+ g_main_loop_unref (avrcp->mainloop);
+
+ g_main_context_unref (avrcp->context);
+
+ g_thread_join (avrcp->thread);
+
+ if (avrcp->player)
+ g_object_unref (avrcp->player);
+
+ if (avrcp->manager)
+ g_object_unref (avrcp->manager);
+
+ if (avrcp->user_data_free_cb)
+ avrcp->user_data_free_cb (avrcp->user_data);
+
+ g_free (avrcp->dev_path);
+ g_free (avrcp);
+}
diff --git a/sys/bluez/gstavrcputil.h b/sys/bluez/gstavrcputil.h
new file mode 100644
index 0000000..b59aa3c
--- /dev/null
+++ b/sys/bluez/gstavrcputil.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2015 Arun Raghavan <git@arunraghavan.net>
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser 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 __GST_AVRCP_UTIL_H
+#define __GST_AVRCP_UTIL_H
+
+#include <gst/gst.h>
+
+typedef struct _GstAvrcpConnection GstAvrcpConnection;
+
+typedef void (*GstAvrcpMetadataCb) (GstAvrcpConnection *, GstTagList *,
+ gpointer);
+
+GstAvrcpConnection *
+gst_avrcp_connection_new (const gchar * dev_path, GstAvrcpMetadataCb cb,
+ gpointer user_data, GDestroyNotify user_data_free_cb);
+
+void gst_avrcp_connection_free (GstAvrcpConnection * avrcp);
+
+#endif /* __GST_AVRCP_UTIL_H */
diff --git a/sys/bluez/org.bluez.xml b/sys/bluez/org.bluez.xml
index ff52ee3..facae70 100644
--- a/sys/bluez/org.bluez.xml
+++ b/sys/bluez/org.bluez.xml
@@ -26,4 +26,28 @@
<property name="Delay" type="q" access="read"></property>
<property name="Volume" type="q" access="readwrite"></property>
</interface>
+
+<interface name="org.bluez.MediaPlayer1">
+ <method name="Play"/>
+ <method name="Pause"/>
+ <method name="Stop"/>
+ <method name="Next"/>
+ <method name="Previous"/>
+ <method name="FastForward"/>
+ <method name="Rewind"/>
+ <property name="Name" type="s" access="read"/>
+ <property name="Type" type="s" access="read"/>
+ <property name="Subtype" type="s" access="read"/>
+ <property name="Position" type="u" access="read"/>
+ <property name="Status" type="s" access="read"/>
+ <property name="Equalizer" type="s" access="readwrite"/>
+ <property name="Repeat" type="s" access="readwrite"/>
+ <property name="Shuffle" type="s" access="readwrite"/>
+ <property name="Scan" type="s" access="readwrite"/>
+ <property name="Track" type="a{sv}" access="read"/>
+ <property name="Device" type="o" access="read"/>
+ <property name="Browsable" type="b" access="read"/>
+ <property name="Searchable" type="b" access="read"/>
+ <property name="Playlist" type="o" access="read"/>
+</interface>
</node>
diff --git a/sys/d3dvideosink/Makefile.in b/sys/d3dvideosink/Makefile.in
index 24eee93..4ba579a 100644
--- a/sys/d3dvideosink/Makefile.in
+++ b/sys/d3dvideosink/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/decklink/Makefile.in b/sys/decklink/Makefile.in
index dd3799d..23c0596 100644
--- a/sys/decklink/Makefile.in
+++ b/sys/decklink/Makefile.in
@@ -715,6 +715,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
index c8eb7b3..184f124 100644
--- a/sys/decklink/gstdecklink.cpp
+++ b/sys/decklink/gstdecklink.cpp
@@ -764,7 +764,8 @@
} else {
res = dtc->GetComponents (&hours, &minutes, &seconds, &frames);
if (res != S_OK) {
- GST_ERROR ("Could not get components for timecode %p", dtc);
+ GST_ERROR ("Could not get components for timecode %p: 0x%08x", dtc,
+ res);
hours = 0;
minutes = 0;
seconds = 0;
@@ -914,7 +915,8 @@
ret = decklink->QueryInterface (IID_IDeckLinkInput,
(void **) &devices[i].input.input);
if (ret != S_OK) {
- GST_WARNING ("selected device does not have input interface");
+ GST_WARNING ("selected device does not have input interface: 0x%08x",
+ ret);
} else {
devices[i].input.device = decklink;
devices[i].input.clock = gst_decklink_clock_new ("GstDecklinkInputClock");
@@ -928,7 +930,8 @@
ret = decklink->QueryInterface (IID_IDeckLinkOutput,
(void **) &devices[i].output.output);
if (ret != S_OK) {
- GST_WARNING ("selected device does not have output interface");
+ GST_WARNING ("selected device does not have output interface: 0x%08x",
+ ret);
} else {
devices[i].output.device = decklink;
devices[i].output.clock =
@@ -940,14 +943,16 @@
ret = decklink->QueryInterface (IID_IDeckLinkConfiguration,
(void **) &devices[i].input.config);
if (ret != S_OK) {
- GST_WARNING ("selected device does not have config interface");
+ GST_WARNING ("selected device does not have config interface: 0x%08x",
+ ret);
}
ret = decklink->QueryInterface (IID_IDeckLinkAttributes,
(void **) &devices[i].input.attributes);
devices[i].output.attributes = devices[i].input.attributes;
if (ret != S_OK) {
- GST_WARNING ("selected device does not have attributes interface");
+ GST_WARNING ("selected device does not have attributes interface: 0x%08x",
+ ret);
}
ret = iterator->Next (&decklink);
diff --git a/sys/decklink/gstdecklinkaudiosink.cpp b/sys/decklink/gstdecklinkaudiosink.cpp
index 9b480d5..1d63154 100644
--- a/sys/decklink/gstdecklinkaudiosink.cpp
+++ b/sys/decklink/gstdecklinkaudiosink.cpp
@@ -310,13 +310,16 @@
GstDecklinkAudioSinkRingBuffer *self =
GST_DECKLINK_AUDIO_SINK_RING_BUFFER_CAST (rb);
guint ret = 0;
+ HRESULT res = S_OK;
if (self->output) {
- if (self->output->output->GetBufferedAudioSampleFrameCount (&ret) != S_OK)
+ if ((res =
+ self->output->output->GetBufferedAudioSampleFrameCount (&ret)) !=
+ S_OK)
ret = 0;
}
- GST_DEBUG_OBJECT (self->sink, "Delay: %u", ret);
+ GST_DEBUG_OBJECT (self->sink, "Delay: %u (0x%08x)", ret, res);
return ret;
}
@@ -529,7 +532,8 @@
static GstStateChangeReturn gst_decklink_audio_sink_change_state (GstElement *
element, GstStateChange transition);
-static GstCaps * gst_decklink_audio_sink_get_caps (GstBaseSink * bsink, GstCaps * filter);
+static GstCaps *gst_decklink_audio_sink_get_caps (GstBaseSink * bsink,
+ GstCaps * filter);
static GstAudioRingBuffer
* gst_decklink_audio_sink_create_ringbuffer (GstAudioBaseSink * absink);
@@ -553,7 +557,8 @@
element_class->change_state =
GST_DEBUG_FUNCPTR (gst_decklink_audio_sink_change_state);
- basesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_decklink_audio_sink_get_caps);
+ basesink_class->get_caps =
+ GST_DEBUG_FUNCPTR (gst_decklink_audio_sink_get_caps);
audiobasesink_class->create_ringbuffer =
GST_DEBUG_FUNCPTR (gst_decklink_audio_sink_create_ringbuffer);
@@ -672,7 +677,9 @@
GValue arr = G_VALUE_INIT;
GValue v = G_VALUE_INIT;
- ret = buf->output->attributes->GetInt (BMDDeckLinkMaximumAudioChannels, &max_channels);
+ ret =
+ buf->output->attributes->GetInt (BMDDeckLinkMaximumAudioChannels,
+ &max_channels);
/* 2 should always be supported */
if (ret != S_OK) {
max_channels = 2;
@@ -702,7 +709,8 @@
}
if (filter) {
- GstCaps *intersection = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
+ GstCaps *intersection =
+ gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
gst_caps_unref (caps);
caps = intersection;
}
diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
index 4a66e96..5024bb5 100644
--- a/sys/decklink/gstdecklinkaudiosrc.cpp
+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
@@ -367,7 +367,7 @@
self->input->config->SetInt (bmdDeckLinkConfigAudioInputConnection,
conn);
if (ret != S_OK) {
- GST_ERROR ("set configuration (audio input connection)");
+ GST_ERROR ("set configuration (audio input connection): 0x%08x", ret);
return FALSE;
}
}
@@ -375,7 +375,7 @@
ret = self->input->input->EnableAudioInput (bmdAudioSampleRate48kHz,
sample_depth, 2);
if (ret != S_OK) {
- GST_WARNING_OBJECT (self, "Failed to enable audio input");
+ GST_WARNING_OBJECT (self, "Failed to enable audio input: 0x%08x", ret);
return FALSE;
}
diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
index 6f6f944..db7fa9d 100644
--- a/sys/decklink/gstdecklinkvideosink.cpp
+++ b/sys/decklink/gstdecklinkvideosink.cpp
@@ -378,7 +378,7 @@
ret = self->output->output->EnableVideoOutput (mode->mode, flags);
if (ret != S_OK) {
- GST_WARNING_OBJECT (self, "Failed to enable video output");
+ GST_WARNING_OBJECT (self, "Failed to enable video output: 0x%08x", ret);
return FALSE;
}
@@ -645,13 +645,8 @@
" with duration %" GST_TIME_FORMAT, frame, GST_TIME_ARGS (running_time),
GST_TIME_ARGS (running_time_duration));
- /* FIXME: Scale down to milliseconds, otherwise at least some hardware
- * has problems scheduling the frames (or schedules them too slow) and we
- * run out of available frames:
- * https://bugzilla.gnome.org/show_bug.cgi?id=770282
- */
ret = self->output->output->ScheduleVideoFrame (frame,
- running_time / GST_MSECOND, running_time_duration / GST_MSECOND, GST_MSECOND);
+ running_time, running_time_duration, GST_SECOND);
if (ret != S_OK) {
GST_ELEMENT_ERROR (self, STREAM, FAILED,
(NULL), ("Failed to schedule frame: 0x%08x", ret));
@@ -753,6 +748,14 @@
|| self->output->audio_enabled)
&& (GST_STATE (self) == GST_STATE_PLAYING
|| GST_STATE_PENDING (self) == GST_STATE_PLAYING)) {
+ GstClock *clock = NULL;
+
+ clock = gst_element_get_clock (element);
+ if (!clock) {
+ GST_ELEMENT_ERROR (self, STREAM, FAILED, (NULL),
+ ("Scheduled playback supposed to start but we have no clock"));
+ return;
+ }
// Need to unlock to get the clock time
g_mutex_unlock (&self->output->lock);
@@ -760,7 +763,7 @@
// but what we need here is the start time of this element!
start_time = gst_element_get_base_time (element);
if (start_time != GST_CLOCK_TIME_NONE)
- start_time = gst_clock_get_time (GST_ELEMENT_CLOCK (self)) - start_time;
+ start_time = gst_clock_get_time (clock) - start_time;
// FIXME: This will probably not work
if (start_time == GST_CLOCK_TIME_NONE)
@@ -774,15 +777,16 @@
// because we might go to PLAYING later than the pipeline
self->internal_base_time =
gst_clock_get_internal_time (self->output->clock);
- self->external_base_time =
- gst_clock_get_internal_time (GST_ELEMENT_CLOCK (self));
+ self->external_base_time = gst_clock_get_internal_time (clock);
convert_to_internal_clock (self, &start_time, NULL);
g_mutex_lock (&self->output->lock);
// Check if someone else started in the meantime
- if (self->output->started)
+ if (self->output->started) {
+ gst_object_unref (clock);
return;
+ }
active = false;
self->output->output->IsScheduledPlaybackRunning (&active);
@@ -795,6 +799,7 @@
if (res != S_OK) {
GST_ELEMENT_ERROR (self, STREAM, FAILED,
(NULL), ("Failed to stop scheduled playback: 0x%08x", res));
+ gst_object_unref (clock);
return;
}
}
@@ -809,6 +814,7 @@
if (res != S_OK) {
GST_ELEMENT_ERROR (self, STREAM, FAILED,
(NULL), ("Failed to start scheduled playback: 0x%08x", res));
+ gst_object_unref (clock);
return;
}
@@ -822,9 +828,9 @@
// after we started scheduled playback
self->internal_base_time =
gst_clock_get_internal_time (self->output->clock);
- self->external_base_time =
- gst_clock_get_internal_time (GST_ELEMENT_CLOCK (self));
+ self->external_base_time = gst_clock_get_internal_time (clock);
g_mutex_lock (&self->output->lock);
+ gst_object_unref (clock);
} else {
GST_DEBUG_OBJECT (self, "Not starting scheduled playback yet");
}
@@ -835,7 +841,7 @@
GstStateChange transition)
{
GstDecklinkVideoSink *self = GST_DECKLINK_VIDEO_SINK_CAST (element);
- GstStateChangeReturn ret;
+ GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
switch (transition) {
case GST_STATE_CHANGE_READY_TO_PAUSED:
@@ -853,14 +859,19 @@
GstClock *clock, *audio_clock;
clock = gst_element_get_clock (GST_ELEMENT_CAST (self));
- audio_clock = gst_decklink_output_get_audio_clock (self->output);
- if (clock && clock != self->output->clock && clock != audio_clock) {
- gst_clock_set_master (self->output->clock, clock);
- }
- if (clock)
+ if (clock) {
+ audio_clock = gst_decklink_output_get_audio_clock (self->output);
+ if (clock && clock != self->output->clock && clock != audio_clock) {
+ gst_clock_set_master (self->output->clock, clock);
+ }
gst_object_unref (clock);
- if (audio_clock)
- gst_object_unref (audio_clock);
+ if (audio_clock)
+ gst_object_unref (audio_clock);
+ } else {
+ GST_ELEMENT_ERROR (self, STREAM, FAILED,
+ (NULL), ("Need a clock to go to PLAYING"));
+ ret = GST_STATE_CHANGE_FAILURE;
+ }
break;
}
@@ -868,6 +879,8 @@
break;
}
+ if (ret == GST_STATE_CHANGE_FAILURE)
+ return ret;
ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
if (ret == GST_STATE_CHANGE_FAILURE)
return ret;
@@ -891,21 +904,31 @@
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:{
GstClockTime start_time;
HRESULT res;
+ GstClock *clock;
- // FIXME: start time is the same for the complete pipeline,
- // but what we need here is the start time of this element!
- start_time = gst_element_get_base_time (element);
- if (start_time != GST_CLOCK_TIME_NONE)
- start_time = gst_clock_get_time (GST_ELEMENT_CLOCK (self)) - start_time;
+ clock = gst_element_get_clock (GST_ELEMENT_CAST (self));
+ if (clock) {
+ // FIXME: start time is the same for the complete pipeline,
+ // but what we need here is the start time of this element!
+ start_time = gst_element_get_base_time (element);
+ if (start_time != GST_CLOCK_TIME_NONE)
+ start_time = gst_clock_get_time (clock) - start_time;
- // FIXME: This will probably not work
- if (start_time == GST_CLOCK_TIME_NONE)
+ // FIXME: This will probably not work
+ if (start_time == GST_CLOCK_TIME_NONE)
+ start_time = 0;
+
+ convert_to_internal_clock (self, &start_time, NULL);
+
+ // The start time is now the running time when we stopped
+ // playback
+
+ gst_object_unref (clock);
+ } else {
+ GST_WARNING_OBJECT (self,
+ "No clock, stopping scheduled playback immediately");
start_time = 0;
-
- convert_to_internal_clock (self, &start_time, NULL);
-
- // The start time is now the running time when we stopped
- // playback
+ }
GST_DEBUG_OBJECT (self,
"Stopping scheduled playback at %" GST_TIME_FORMAT,
diff --git a/sys/decklink/gstdecklinkvideosrc.cpp b/sys/decklink/gstdecklinkvideosrc.cpp
index 90492ae..d82c5fc 100644
--- a/sys/decklink/gstdecklinkvideosrc.cpp
+++ b/sys/decklink/gstdecklinkvideosrc.cpp
@@ -346,7 +346,8 @@
ret = self->input->config->SetInt (bmdDeckLinkConfigVideoInputConnection,
gst_decklink_get_connection (self->connection));
if (ret != S_OK) {
- GST_ERROR_OBJECT (self, "Failed to set configuration (input source)");
+ GST_ERROR_OBJECT (self,
+ "Failed to set configuration (input source): 0x%08x", ret);
return FALSE;
}
@@ -355,7 +356,7 @@
bmdAnalogVideoFlagCompositeSetup75);
if (ret != S_OK) {
GST_ERROR_OBJECT (self,
- "Failed to set configuration (composite setup)");
+ "Failed to set configuration (composite setup): 0x%08x", ret);
return FALSE;
}
}
@@ -371,7 +372,8 @@
attributes->GetFlag (BMDDeckLinkSupportsInputFormatDetection,
&autoDetection);
if (ret != S_OK) {
- GST_ERROR_OBJECT (self, "Failed to get attribute (autodetection)");
+ GST_ERROR_OBJECT (self,
+ "Failed to get attribute (autodetection): 0x%08x", ret);
return FALSE;
}
if (autoDetection)
@@ -389,7 +391,7 @@
format = self->caps_format;
ret = self->input->input->EnableVideoInput (mode->mode, format, flags);
if (ret != S_OK) {
- GST_WARNING_OBJECT (self, "Failed to enable video input");
+ GST_WARNING_OBJECT (self, "Failed to enable video input: 0x%08x", ret);
return FALSE;
}
@@ -817,12 +819,22 @@
|| self->input->audio_enabled)
&& (GST_STATE (self) == GST_STATE_PLAYING
|| GST_STATE_PENDING (self) == GST_STATE_PLAYING)) {
+ GstClock *clock;
+
+ clock = gst_element_get_clock (element);
+ if (!clock) {
+ GST_ELEMENT_ERROR (self, STREAM, FAILED, (NULL),
+ ("Streams supposed to start but we have no clock"));
+ return;
+ }
+
GST_DEBUG_OBJECT (self, "Starting streams");
res = self->input->input->StartStreams ();
if (res != S_OK) {
GST_ELEMENT_ERROR (self, STREAM, FAILED,
(NULL), ("Failed to start streams: 0x%08x", res));
+ gst_object_unref (clock);
return;
}
@@ -839,9 +851,9 @@
// We can't use the normal base time for the external clock
// because we might go to PLAYING later than the pipeline
self->internal_base_time = gst_clock_get_internal_time (self->input->clock);
- self->external_base_time =
- gst_clock_get_internal_time (GST_ELEMENT_CLOCK (self));
+ self->external_base_time = gst_clock_get_internal_time (clock);
+ gst_object_unref (clock);
g_mutex_lock (&self->input->lock);
} else {
GST_DEBUG_OBJECT (self, "Not starting streams yet");
@@ -853,7 +865,7 @@
GstStateChange transition)
{
GstDecklinkVideoSrc *self = GST_DECKLINK_VIDEO_SRC_CAST (element);
- GstStateChangeReturn ret;
+ GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
switch (transition) {
case GST_STATE_CHANGE_NULL_TO_READY:
@@ -883,11 +895,17 @@
GstClock *clock;
clock = gst_element_get_clock (GST_ELEMENT_CAST (self));
- if (clock && clock != self->input->clock) {
- gst_clock_set_master (self->input->clock, clock);
- }
- if (clock)
+ if (clock) {
+ if (clock != self->input->clock) {
+ gst_clock_set_master (self->input->clock, clock);
+ }
+
gst_object_unref (clock);
+ } else {
+ GST_ELEMENT_ERROR (self, STREAM, FAILED,
+ (NULL), ("Need a clock to go to PLAYING"));
+ ret = GST_STATE_CHANGE_FAILURE;
+ }
break;
}
@@ -895,6 +913,8 @@
break;
}
+ if (ret == GST_STATE_CHANGE_FAILURE)
+ return ret;
ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
if (ret == GST_STATE_CHANGE_FAILURE)
return ret;
diff --git a/sys/decklink/linux/DeckLinkAPI.h b/sys/decklink/linux/DeckLinkAPI.h
index c46ed77..6b0ac18 100644
--- a/sys/decklink/linux/DeckLinkAPI.h
+++ b/sys/decklink/linux/DeckLinkAPI.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -57,23 +57,31 @@
BMD_CONST REFIID IID_IDeckLinkVideoOutputCallback = /* 20AA5225-1958-47CB-820B-80A8D521A6EE */ {0x20,0xAA,0x52,0x25,0x19,0x58,0x47,0xCB,0x82,0x0B,0x80,0xA8,0xD5,0x21,0xA6,0xEE};
BMD_CONST REFIID IID_IDeckLinkInputCallback = /* DD04E5EC-7415-42AB-AE4A-E80C4DFC044A */ {0xDD,0x04,0xE5,0xEC,0x74,0x15,0x42,0xAB,0xAE,0x4A,0xE8,0x0C,0x4D,0xFC,0x04,0x4A};
+BMD_CONST REFIID IID_IDeckLinkEncoderInputCallback = /* ACF13E61-F4A0-4974-A6A7-59AFF6268B31 */ {0xAC,0xF1,0x3E,0x61,0xF4,0xA0,0x49,0x74,0xA6,0xA7,0x59,0xAF,0xF6,0x26,0x8B,0x31};
BMD_CONST REFIID IID_IDeckLinkMemoryAllocator = /* B36EB6E7-9D29-4AA8-92EF-843B87A289E8 */ {0xB3,0x6E,0xB6,0xE7,0x9D,0x29,0x4A,0xA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8};
BMD_CONST REFIID IID_IDeckLinkAudioOutputCallback = /* 403C681B-7F46-4A12-B993-2BB127084EE6 */ {0x40,0x3C,0x68,0x1B,0x7F,0x46,0x4A,0x12,0xB9,0x93,0x2B,0xB1,0x27,0x08,0x4E,0xE6};
BMD_CONST REFIID IID_IDeckLinkIterator = /* 50FB36CD-3063-4B73-BDBB-958087F2D8BA */ {0x50,0xFB,0x36,0xCD,0x30,0x63,0x4B,0x73,0xBD,0xBB,0x95,0x80,0x87,0xF2,0xD8,0xBA};
BMD_CONST REFIID IID_IDeckLinkAPIInformation = /* 7BEA3C68-730D-4322-AF34-8A7152B532A4 */ {0x7B,0xEA,0x3C,0x68,0x73,0x0D,0x43,0x22,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4};
BMD_CONST REFIID IID_IDeckLinkOutput = /* CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564 */ {0xCC,0x5C,0x8A,0x6E,0x3F,0x2F,0x4B,0x3A,0x87,0xEA,0xFD,0x78,0xAF,0x30,0x05,0x64};
BMD_CONST REFIID IID_IDeckLinkInput = /* AF22762B-DFAC-4846-AA79-FA8883560995 */ {0xAF,0x22,0x76,0x2B,0xDF,0xAC,0x48,0x46,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95};
+BMD_CONST REFIID IID_IDeckLinkEncoderInput = /* 270587DA-6B7D-42E7-A1F0-6D853F581185 */ {0x27,0x05,0x87,0xDA,0x6B,0x7D,0x42,0xE7,0xA1,0xF0,0x6D,0x85,0x3F,0x58,0x11,0x85};
BMD_CONST REFIID IID_IDeckLinkVideoFrame = /* 3F716FE0-F023-4111-BE5D-EF4414C05B17 */ {0x3F,0x71,0x6F,0xE0,0xF0,0x23,0x41,0x11,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17};
BMD_CONST REFIID IID_IDeckLinkMutableVideoFrame = /* 69E2639F-40DA-4E19-B6F2-20ACE815C390 */ {0x69,0xE2,0x63,0x9F,0x40,0xDA,0x4E,0x19,0xB6,0xF2,0x20,0xAC,0xE8,0x15,0xC3,0x90};
BMD_CONST REFIID IID_IDeckLinkVideoFrame3DExtensions = /* DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7 */ {0xDA,0x0F,0x7E,0x4A,0xED,0xC7,0x48,0xA8,0x9C,0xDD,0x2D,0xB5,0x1C,0x72,0x9C,0xD7};
+BMD_CONST REFIID IID_IDeckLinkVideoFrameMetadataExtensions = /* D5973DC9-6432-46D0-8F0B-2496F8A1238F */ {0xD5,0x97,0x3D,0xC9,0x64,0x32,0x46,0xD0,0x8F,0x0B,0x24,0x96,0xF8,0xA1,0x23,0x8F};
BMD_CONST REFIID IID_IDeckLinkVideoInputFrame = /* 05CFE374-537C-4094-9A57-680525118F44 */ {0x05,0xCF,0xE3,0x74,0x53,0x7C,0x40,0x94,0x9A,0x57,0x68,0x05,0x25,0x11,0x8F,0x44};
BMD_CONST REFIID IID_IDeckLinkVideoFrameAncillary = /* 732E723C-D1A4-4E29-9E8E-4A88797A0004 */ {0x73,0x2E,0x72,0x3C,0xD1,0xA4,0x4E,0x29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04};
+BMD_CONST REFIID IID_IDeckLinkEncoderPacket = /* B693F36C-316E-4AF1-B6C2-F389A4BCA620 */ {0xB6,0x93,0xF3,0x6C,0x31,0x6E,0x4A,0xF1,0xB6,0xC2,0xF3,0x89,0xA4,0xBC,0xA6,0x20};
+BMD_CONST REFIID IID_IDeckLinkEncoderVideoPacket = /* 4E7FD944-E8C7-4EAC-B8C0-7B77F80F5AE0 */ {0x4E,0x7F,0xD9,0x44,0xE8,0xC7,0x4E,0xAC,0xB8,0xC0,0x7B,0x77,0xF8,0x0F,0x5A,0xE0};
+BMD_CONST REFIID IID_IDeckLinkEncoderAudioPacket = /* 49E8EDC8-693B-4E14-8EF6-12C658F5A07A */ {0x49,0xE8,0xED,0xC8,0x69,0x3B,0x4E,0x14,0x8E,0xF6,0x12,0xC6,0x58,0xF5,0xA0,0x7A};
+BMD_CONST REFIID IID_IDeckLinkH265NALPacket = /* 639C8E0B-68D5-4BDE-A6D4-95F3AEAFF2E7 */ {0x63,0x9C,0x8E,0x0B,0x68,0xD5,0x4B,0xDE,0xA6,0xD4,0x95,0xF3,0xAE,0xAF,0xF2,0xE7};
BMD_CONST REFIID IID_IDeckLinkAudioInputPacket = /* E43D5870-2894-11DE-8C30-0800200C9A66 */ {0xE4,0x3D,0x58,0x70,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66};
BMD_CONST REFIID IID_IDeckLinkScreenPreviewCallback = /* B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438 */ {0xB1,0xD3,0xF4,0x9A,0x85,0xFE,0x4C,0x5D,0x95,0xC8,0x0B,0x5D,0x5D,0xCC,0xD4,0x38};
BMD_CONST REFIID IID_IDeckLinkGLScreenPreviewHelper = /* 504E2209-CAC7-4C1A-9FB4-C5BB6274D22F */ {0x50,0x4E,0x22,0x09,0xCA,0xC7,0x4C,0x1A,0x9F,0xB4,0xC5,0xBB,0x62,0x74,0xD2,0x2F};
BMD_CONST REFIID IID_IDeckLinkNotificationCallback = /* B002A1EC-070D-4288-8289-BD5D36E5FF0D */ {0xB0,0x02,0xA1,0xEC,0x07,0x0D,0x42,0x88,0x82,0x89,0xBD,0x5D,0x36,0xE5,0xFF,0x0D};
BMD_CONST REFIID IID_IDeckLinkNotification = /* 0A1FB207-E215-441B-9B19-6FA1575946C5 */ {0x0A,0x1F,0xB2,0x07,0xE2,0x15,0x44,0x1B,0x9B,0x19,0x6F,0xA1,0x57,0x59,0x46,0xC5};
BMD_CONST REFIID IID_IDeckLinkAttributes = /* ABC11843-D966-44CB-96E2-A1CB5D3135C4 */ {0xAB,0xC1,0x18,0x43,0xD9,0x66,0x44,0xCB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4};
+BMD_CONST REFIID IID_IDeckLinkStatus = /* 5F558200-4028-49BC-BEAC-DB3FA4A96E46 */ {0x5F,0x55,0x82,0x00,0x40,0x28,0x49,0xBC,0xBE,0xAC,0xDB,0x3F,0xA4,0xA9,0x6E,0x46};
BMD_CONST REFIID IID_IDeckLinkKeyer = /* 89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3 */ {0x89,0xAF,0xCA,0xF5,0x65,0xF8,0x42,0x1E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3};
BMD_CONST REFIID IID_IDeckLinkVideoConversion = /* 3BBCB8A2-DA2C-42D9-B5D8-88083644E99A */ {0x3B,0xBC,0xB8,0xA2,0xDA,0x2C,0x42,0xD9,0xB5,0xD8,0x88,0x08,0x36,0x44,0xE9,0x9A};
BMD_CONST REFIID IID_IDeckLinkDeviceNotificationCallback = /* 4997053B-0ADF-4CC8-AC70-7A50C4BE728F */ {0x49,0x97,0x05,0x3B,0x0A,0xDF,0x4C,0xC8,0xAC,0x70,0x7A,0x50,0xC4,0xBE,0x72,0x8F};
@@ -90,12 +98,21 @@
bmdVideoOutputDualStream3D = 1 << 4
};
+/* Enum BMDPacketType - Type of packet */
+
+typedef uint32_t BMDPacketType;
+enum _BMDPacketType {
+ bmdPacketTypeStreamInterruptedMarker = /* 'sint' */ 0x73696E74, // A packet of this type marks the time when a video stream was interrupted, for example by a disconnected cable
+ bmdPacketTypeStreamData = /* 'sdat' */ 0x73646174 // Regular stream data
+};
+
/* Enum BMDFrameFlags - Frame flags */
typedef uint32_t BMDFrameFlags;
enum _BMDFrameFlags {
bmdFrameFlagDefault = 0,
bmdFrameFlagFlipVertical = 1 << 0,
+ bmdFrameContainsHDRMetadata = 1 << 1,
/* Flags that are applicable only to instances of IDeckLinkVideoInputFrame */
@@ -133,6 +150,7 @@
typedef uint32_t BMDDeckLinkCapturePassthroughMode;
enum _BMDDeckLinkCapturePassthroughMode {
+ bmdDeckLinkCapturePassthroughModeDisabled = /* 'pdis' */ 0x70646973,
bmdDeckLinkCapturePassthroughModeDirect = /* 'pdir' */ 0x70646972,
bmdDeckLinkCapturePassthroughModeCleanSwitch = /* 'pcln' */ 0x70636C6E
};
@@ -155,6 +173,13 @@
bmdReferenceLocked = 1 << 1
};
+/* Enum BMDAudioFormat - Audio Format */
+
+typedef uint32_t BMDAudioFormat;
+enum _BMDAudioFormat {
+ bmdAudioFormatPCM = /* 'lpcm' */ 0x6C70636D // Linear signed PCM samples
+};
+
/* Enum BMDAudioSampleRate - Audio sample rates supported for output/input */
typedef uint32_t BMDAudioSampleRate;
@@ -267,8 +292,71 @@
typedef uint32_t BMDIdleVideoOutputOperation;
enum _BMDIdleVideoOutputOperation {
bmdIdleVideoOutputBlack = /* 'blac' */ 0x626C6163,
- bmdIdleVideoOutputLastFrame = /* 'lafa' */ 0x6C616661,
- bmdIdleVideoOutputDesktop = /* 'desk' */ 0x6465736B
+ bmdIdleVideoOutputLastFrame = /* 'lafa' */ 0x6C616661
+};
+
+/* Enum BMDVideoEncoderFrameCodingMode - Video frame coding mode */
+
+typedef uint32_t BMDVideoEncoderFrameCodingMode;
+enum _BMDVideoEncoderFrameCodingMode {
+ bmdVideoEncoderFrameCodingModeInter = /* 'inte' */ 0x696E7465,
+ bmdVideoEncoderFrameCodingModeIntra = /* 'intr' */ 0x696E7472
+};
+
+/* Enum BMDDNxHRLevel - DNxHR Levels */
+
+typedef uint32_t BMDDNxHRLevel;
+enum _BMDDNxHRLevel {
+ bmdDNxHRLevelSQ = /* 'dnsq' */ 0x646E7371,
+ bmdDNxHRLevelLB = /* 'dnlb' */ 0x646E6C62,
+ bmdDNxHRLevelHQ = /* 'dnhq' */ 0x646E6871,
+ bmdDNxHRLevelHQX = /* 'dhqx' */ 0x64687178,
+ bmdDNxHRLevel444 = /* 'd444' */ 0x64343434
+};
+
+/* Enum BMDLinkConfiguration - Video link configuration */
+
+typedef uint32_t BMDLinkConfiguration;
+enum _BMDLinkConfiguration {
+ bmdLinkConfigurationSingleLink = /* 'lcsl' */ 0x6C63736C,
+ bmdLinkConfigurationDualLink = /* 'lcdl' */ 0x6C63646C,
+ bmdLinkConfigurationQuadLink = /* 'lcql' */ 0x6C63716C
+};
+
+/* Enum BMDDeviceInterface - Device interface type */
+
+typedef uint32_t BMDDeviceInterface;
+enum _BMDDeviceInterface {
+ bmdDeviceInterfacePCI = /* 'pci ' */ 0x70636920,
+ bmdDeviceInterfaceUSB = /* 'usb ' */ 0x75736220,
+ bmdDeviceInterfaceThunderbolt = /* 'thun' */ 0x7468756E
+};
+
+/* Enum BMDDeckLinkFrameMetadataID - DeckLink Frame Metadata ID */
+
+typedef uint32_t BMDDeckLinkFrameMetadataID;
+enum _BMDDeckLinkFrameMetadataID {
+ bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = /* 'eotf' */ 0x656F7466, // EOTF in range 0-7 as per CEA 861.3
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedX = /* 'hdrx' */ 0x68647278, // Red display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedY = /* 'hdry' */ 0x68647279, // Red display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenX = /* 'hdgx' */ 0x68646778, // Green display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenY = /* 'hdgy' */ 0x68646779, // Green display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueX = /* 'hdbx' */ 0x68646278, // Blue display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueY = /* 'hdby' */ 0x68646279, // Blue display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRWhitePointX = /* 'hdwx' */ 0x68647778, // White point in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRWhitePointY = /* 'hdwy' */ 0x68647779, // White point in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRMaxDisplayMasteringLuminance = /* 'hdml' */ 0x68646D6C, // Max display mastering luminance in range 1 cd/m2 - 65535 cd/m2
+ bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance = /* 'hmil' */ 0x686D696C, // Min display mastering luminance in range 0.0001 cd/m2 - 6.5535 cd/m2
+ bmdDeckLinkFrameMetadataHDRMaximumContentLightLevel = /* 'mcll' */ 0x6D636C6C, // Maximum Content Light Level in range 1 cd/m2 - 65535 cd/m2
+ bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = /* 'fall' */ 0x66616C6C // Maximum Frame Average Light Level in range 1 cd/m2 - 65535 cd/m2
+};
+
+/* Enum BMDDuplexMode - Duplex for configurable ports */
+
+typedef uint32_t BMDDuplexMode;
+enum _BMDDuplexMode {
+ bmdDuplexModeFull = /* 'fdup' */ 0x66647570,
+ bmdDuplexModeHalf = /* 'hdup' */ 0x68647570
};
/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */
@@ -288,10 +376,16 @@
BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = /* 'ovog' */ 0x6F766F67,
BMDDeckLinkHasVideoInputAntiAliasingFilter = /* 'aafl' */ 0x6161666C,
BMDDeckLinkHasBypass = /* 'byps' */ 0x62797073,
- BMDDeckLinkSupportsDesktopDisplay = /* 'extd' */ 0x65787464,
BMDDeckLinkSupportsClockTimingAdjustment = /* 'ctad' */ 0x63746164,
BMDDeckLinkSupportsFullDuplex = /* 'fdup' */ 0x66647570,
BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = /* 'frin' */ 0x6672696E,
+ BMDDeckLinkSupportsSMPTELevelAOutput = /* 'lvla' */ 0x6C766C61,
+ BMDDeckLinkSupportsDualLinkSDI = /* 'sdls' */ 0x73646C73,
+ BMDDeckLinkSupportsQuadLinkSDI = /* 'sqls' */ 0x73716C73,
+ BMDDeckLinkSupportsIdleOutput = /* 'idou' */ 0x69646F75,
+ BMDDeckLinkHasLTCTimecodeInput = /* 'hltc' */ 0x686C7463,
+ BMDDeckLinkSupportsDuplexModeConfiguration = /* 'dupx' */ 0x64757078,
+ BMDDeckLinkSupportsHDRMetadata = /* 'hdrm' */ 0x6864726D,
/* Integers */
@@ -300,13 +394,20 @@
BMDDeckLinkNumberOfSubDevices = /* 'nsbd' */ 0x6E736264,
BMDDeckLinkSubDeviceIndex = /* 'subi' */ 0x73756269,
BMDDeckLinkPersistentID = /* 'peid' */ 0x70656964,
+ BMDDeckLinkDeviceGroupID = /* 'dgid' */ 0x64676964,
BMDDeckLinkTopologicalID = /* 'toid' */ 0x746F6964,
BMDDeckLinkVideoOutputConnections = /* 'vocn' */ 0x766F636E,
BMDDeckLinkVideoInputConnections = /* 'vicn' */ 0x7669636E,
BMDDeckLinkAudioOutputConnections = /* 'aocn' */ 0x616F636E,
BMDDeckLinkAudioInputConnections = /* 'aicn' */ 0x6169636E,
- BMDDeckLinkDeviceBusyState = /* 'dbst' */ 0x64627374,
BMDDeckLinkVideoIOSupport = /* 'vios' */ 0x76696F73, // Returns a BMDVideoIOSupport bit field
+ BMDDeckLinkDeckControlConnections = /* 'dccn' */ 0x6463636E,
+ BMDDeckLinkDeviceInterface = /* 'dbus' */ 0x64627573, // Returns a BMDDeviceInterface
+ BMDDeckLinkAudioInputRCAChannelCount = /* 'airc' */ 0x61697263,
+ BMDDeckLinkAudioInputXLRChannelCount = /* 'aixc' */ 0x61697863,
+ BMDDeckLinkAudioOutputRCAChannelCount = /* 'aorc' */ 0x616F7263,
+ BMDDeckLinkAudioOutputXLRChannelCount = /* 'aoxc' */ 0x616F7863,
+ BMDDeckLinkPairedDevicePersistentID = /* 'ppid' */ 0x70706964,
/* Floats */
@@ -314,10 +415,16 @@
BMDDeckLinkVideoInputGainMaximum = /* 'vigx' */ 0x76696778,
BMDDeckLinkVideoOutputGainMinimum = /* 'vogm' */ 0x766F676D,
BMDDeckLinkVideoOutputGainMaximum = /* 'vogx' */ 0x766F6778,
+ BMDDeckLinkMicrophoneInputGainMinimum = /* 'migm' */ 0x6D69676D,
+ BMDDeckLinkMicrophoneInputGainMaximum = /* 'migx' */ 0x6D696778,
/* Strings */
- BMDDeckLinkSerialPortDeviceName = /* 'slpn' */ 0x736C706E
+ BMDDeckLinkSerialPortDeviceName = /* 'slpn' */ 0x736C706E,
+ BMDDeckLinkVendorName = /* 'vndr' */ 0x766E6472,
+ BMDDeckLinkDisplayName = /* 'dspn' */ 0x6473706E,
+ BMDDeckLinkModelName = /* 'mdln' */ 0x6D646C6E,
+ BMDDeckLinkDeviceHandle = /* 'devh' */ 0x64657668
};
/* Enum BMDDeckLinkAPIInformationID - DeckLinkAPI information ID */
@@ -327,6 +434,52 @@
BMDDeckLinkAPIVersion = /* 'vers' */ 0x76657273
};
+/* Enum BMDDeckLinkStatusID - DeckLink Status ID */
+
+typedef uint32_t BMDDeckLinkStatusID;
+enum _BMDDeckLinkStatusID {
+
+ /* Integers */
+
+ bmdDeckLinkStatusDetectedVideoInputMode = /* 'dvim' */ 0x6476696D,
+ bmdDeckLinkStatusDetectedVideoInputFlags = /* 'dvif' */ 0x64766966,
+ bmdDeckLinkStatusCurrentVideoInputMode = /* 'cvim' */ 0x6376696D,
+ bmdDeckLinkStatusCurrentVideoInputPixelFormat = /* 'cvip' */ 0x63766970,
+ bmdDeckLinkStatusCurrentVideoInputFlags = /* 'cvif' */ 0x63766966,
+ bmdDeckLinkStatusCurrentVideoOutputMode = /* 'cvom' */ 0x63766F6D,
+ bmdDeckLinkStatusCurrentVideoOutputFlags = /* 'cvof' */ 0x63766F66,
+ bmdDeckLinkStatusPCIExpressLinkWidth = /* 'pwid' */ 0x70776964,
+ bmdDeckLinkStatusPCIExpressLinkSpeed = /* 'plnk' */ 0x706C6E6B,
+ bmdDeckLinkStatusLastVideoOutputPixelFormat = /* 'opix' */ 0x6F706978,
+ bmdDeckLinkStatusReferenceSignalMode = /* 'refm' */ 0x7265666D,
+ bmdDeckLinkStatusReferenceSignalFlags = /* 'reff' */ 0x72656666,
+ bmdDeckLinkStatusDuplexMode = /* 'dupx' */ 0x64757078,
+ bmdDeckLinkStatusBusy = /* 'busy' */ 0x62757379,
+
+ /* Flags */
+
+ bmdDeckLinkStatusVideoInputSignalLocked = /* 'visl' */ 0x7669736C,
+ bmdDeckLinkStatusReferenceSignalLocked = /* 'refl' */ 0x7265666C
+};
+
+/* Enum BMDDeckLinkVideoStatusFlags - */
+
+typedef uint32_t BMDDeckLinkVideoStatusFlags;
+enum _BMDDeckLinkVideoStatusFlags {
+ bmdDeckLinkVideoStatusPsF = 1 << 0,
+ bmdDeckLinkVideoStatusDualStream3D = 1 << 1
+};
+
+/* Enum BMDDuplexStatus - Duplex status of the device */
+
+typedef uint32_t BMDDuplexStatus;
+enum _BMDDuplexStatus {
+ bmdDuplexStatusFullDuplex = /* 'fdup' */ 0x66647570,
+ bmdDuplexStatusHalfDuplex = /* 'hdup' */ 0x68647570,
+ bmdDuplexStatusSimplex = /* 'splx' */ 0x73706C78,
+ bmdDuplexStatusInactive = /* 'inac' */ 0x696E6163
+};
+
/* Enum BMDDeviceBusyState - Current device busy state */
typedef uint32_t BMDDeviceBusyState;
@@ -359,7 +512,8 @@
typedef uint32_t BMDNotifications;
enum _BMDNotifications {
- bmdPreferencesChanged = /* 'pref' */ 0x70726566
+ bmdPreferencesChanged = /* 'pref' */ 0x70726566,
+ bmdStatusChanged = /* 'stat' */ 0x73746174
};
#if defined(__cplusplus)
@@ -368,23 +522,31 @@
class IDeckLinkVideoOutputCallback;
class IDeckLinkInputCallback;
+class IDeckLinkEncoderInputCallback;
class IDeckLinkMemoryAllocator;
class IDeckLinkAudioOutputCallback;
class IDeckLinkIterator;
class IDeckLinkAPIInformation;
class IDeckLinkOutput;
class IDeckLinkInput;
+class IDeckLinkEncoderInput;
class IDeckLinkVideoFrame;
class IDeckLinkMutableVideoFrame;
class IDeckLinkVideoFrame3DExtensions;
+class IDeckLinkVideoFrameMetadataExtensions;
class IDeckLinkVideoInputFrame;
class IDeckLinkVideoFrameAncillary;
+class IDeckLinkEncoderPacket;
+class IDeckLinkEncoderVideoPacket;
+class IDeckLinkEncoderAudioPacket;
+class IDeckLinkH265NALPacket;
class IDeckLinkAudioInputPacket;
class IDeckLinkScreenPreviewCallback;
class IDeckLinkGLScreenPreviewHelper;
class IDeckLinkNotificationCallback;
class IDeckLinkNotification;
class IDeckLinkAttributes;
+class IDeckLinkStatus;
class IDeckLinkKeyer;
class IDeckLinkVideoConversion;
class IDeckLinkDeviceNotificationCallback;
@@ -414,6 +576,19 @@
virtual ~IDeckLinkInputCallback () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderInputCallback - Frame arrival callback. */
+
+class IDeckLinkEncoderInputCallback : public IUnknown
+{
+public:
+ virtual HRESULT VideoInputSignalChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+ virtual HRESULT VideoPacketArrived (/* in */ IDeckLinkEncoderVideoPacket* videoPacket) = 0;
+ virtual HRESULT AudioPacketArrived (/* in */ IDeckLinkEncoderAudioPacket* audioPacket) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderInputCallback () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkMemoryAllocator - Memory allocator for video frames. */
class IDeckLinkMemoryAllocator : public IUnknown
@@ -552,6 +727,43 @@
virtual ~IDeckLinkInput () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderInput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkEncoderInput : public IUnknown
+{
+public:
+ virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
+ virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+ /* Video Input */
+
+ virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0;
+ virtual HRESULT DisableVideoInput (void) = 0;
+ virtual HRESULT GetAvailablePacketsCount (/* out */ uint32_t *availablePacketsCount) = 0;
+ virtual HRESULT SetMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+
+ /* Audio Input */
+
+ virtual HRESULT EnableAudioInput (/* in */ BMDAudioFormat audioFormat, /* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0;
+ virtual HRESULT DisableAudioInput (void) = 0;
+ virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0;
+
+ /* Input Control */
+
+ virtual HRESULT StartStreams (void) = 0;
+ virtual HRESULT StopStreams (void) = 0;
+ virtual HRESULT PauseStreams (void) = 0;
+ virtual HRESULT FlushStreams (void) = 0;
+ virtual HRESULT SetCallback (/* in */ IDeckLinkEncoderInputCallback *theCallback) = 0;
+
+ /* Hardware Timing */
+
+ virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderInput () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */
class IDeckLinkVideoFrame : public IUnknown
@@ -599,6 +811,20 @@
virtual ~IDeckLinkVideoFrame3DExtensions () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkVideoFrameMetadataExtensions - Optional interface implemented on IDeckLinkVideoFrame to support frame metadata such as HDMI HDR information */
+
+class IDeckLinkVideoFrameMetadataExtensions : public IUnknown
+{
+public:
+ virtual HRESULT GetInt (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ int64_t *value) = 0;
+ virtual HRESULT GetFloat (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ double *value) = 0;
+ virtual HRESULT GetFlag (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ bool* value) = 0;
+ virtual HRESULT GetString (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ const char **value) = 0;
+
+protected:
+ virtual ~IDeckLinkVideoFrameMetadataExtensions () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */
class IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
@@ -625,6 +851,58 @@
virtual ~IDeckLinkVideoFrameAncillary () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderPacket - Interface to encapsulate an encoded packet. */
+
+class IDeckLinkEncoderPacket : public IUnknown
+{
+public:
+ virtual HRESULT GetBytes (/* out */ void **buffer) = 0;
+ virtual long GetSize (void) = 0;
+ virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* in */ BMDTimeScale timeScale) = 0;
+ virtual BMDPacketType GetPacketType (void) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderPacket () {} // call Release method to drop reference count
+};
+
+/* Interface IDeckLinkEncoderVideoPacket - Provided by the IDeckLinkEncoderInput video packet arrival callback. */
+
+class IDeckLinkEncoderVideoPacket : public IDeckLinkEncoderPacket
+{
+public:
+ virtual BMDPixelFormat GetPixelFormat (void) = 0;
+ virtual HRESULT GetHardwareReferenceTimestamp (/* in */ BMDTimeScale timeScale, /* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration) = 0;
+
+ virtual HRESULT GetTimecode (/* in */ BMDTimecodeFormat format, /* out */ IDeckLinkTimecode **timecode) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderVideoPacket () {} // call Release method to drop reference count
+};
+
+/* Interface IDeckLinkEncoderAudioPacket - Provided by the IDeckLinkEncoderInput audio packet arrival callback. */
+
+class IDeckLinkEncoderAudioPacket : public IDeckLinkEncoderPacket
+{
+public:
+ virtual BMDAudioFormat GetAudioFormat (void) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderAudioPacket () {} // call Release method to drop reference count
+};
+
+/* Interface IDeckLinkH265NALPacket - Obtained through QueryInterface() on an IDeckLinkEncoderVideoPacket object */
+
+class IDeckLinkH265NALPacket : public IDeckLinkEncoderVideoPacket
+{
+public:
+ virtual HRESULT GetUnitType (/* out */ uint8_t *unitType) = 0;
+ virtual HRESULT GetBytesNoPrefix (/* out */ void **buffer) = 0;
+ virtual long GetSizeNoPrefix (void) = 0;
+
+protected:
+ virtual ~IDeckLinkH265NALPacket () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkAudioInputPacket - Provided by the IDeckLinkInput callback. */
class IDeckLinkAudioInputPacket : public IUnknown
@@ -697,6 +975,21 @@
virtual ~IDeckLinkAttributes () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkStatus - DeckLink Status interface */
+
+class IDeckLinkStatus : public IUnknown
+{
+public:
+ virtual HRESULT GetFlag (/* in */ BMDDeckLinkStatusID statusID, /* out */ bool *value) = 0;
+ virtual HRESULT GetInt (/* in */ BMDDeckLinkStatusID statusID, /* out */ int64_t *value) = 0;
+ virtual HRESULT GetFloat (/* in */ BMDDeckLinkStatusID statusID, /* out */ double *value) = 0;
+ virtual HRESULT GetString (/* in */ BMDDeckLinkStatusID statusID, /* out */ const char **value) = 0;
+ virtual HRESULT GetBytes (/* in */ BMDDeckLinkStatusID statusID, /* out */ void *buffer, /* in, out */ uint32_t *bufferSize) = 0;
+
+protected:
+ virtual ~IDeckLinkStatus () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkKeyer - DeckLink Keyer interface */
class IDeckLinkKeyer : public IUnknown
diff --git a/sys/decklink/linux/DeckLinkAPIConfiguration.h b/sys/decklink/linux/DeckLinkAPIConfiguration.h
index def498c..3a6ab69 100644
--- a/sys/decklink/linux/DeckLinkAPIConfiguration.h
+++ b/sys/decklink/linux/DeckLinkAPIConfiguration.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -42,7 +42,8 @@
// Interface ID Declarations
-BMD_CONST REFIID IID_IDeckLinkConfiguration = /* 1E69FCF6-4203-4936-8076-2A9F4CFD50CB */ {0x1E,0x69,0xFC,0xF6,0x42,0x03,0x49,0x36,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB};
+BMD_CONST REFIID IID_IDeckLinkConfiguration = /* CB71734A-FE37-4E8D-8E13-802133A1C3F2 */ {0xCB,0x71,0x73,0x4A,0xFE,0x37,0x4E,0x8D,0x8E,0x13,0x80,0x21,0x33,0xA1,0xC3,0xF2};
+BMD_CONST REFIID IID_IDeckLinkEncoderConfiguration = /* 138050E5-C60A-4552-BF3F-0F358049327E */ {0x13,0x80,0x50,0xE5,0xC6,0x0A,0x45,0x52,0xBF,0x3F,0x0F,0x35,0x80,0x49,0x32,0x7E};
/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */
@@ -62,6 +63,7 @@
bmdDeckLinkConfigHDMI3DPackingFormat = /* '3dpf' */ 0x33647066,
bmdDeckLinkConfigBypass = /* 'byps' */ 0x62797073,
bmdDeckLinkConfigClockTimingAdjustment = /* 'ctad' */ 0x63746164,
+ bmdDeckLinkConfigDuplexMode = /* 'dupx' */ 0x64757078,
/* Audio Input/Output Flags */
@@ -72,9 +74,10 @@
bmdDeckLinkConfigFieldFlickerRemoval = /* 'fdfr' */ 0x66646672,
bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = /* 'to59' */ 0x746F3539,
bmdDeckLinkConfig444SDIVideoOutput = /* '444o' */ 0x3434346F,
- bmdDeckLinkConfigSingleLinkVideoOutput = /* 'sglo' */ 0x73676C6F,
bmdDeckLinkConfigBlackVideoOutputDuringCapture = /* 'bvoc' */ 0x62766F63,
bmdDeckLinkConfigLowLatencyVideoOutput = /* 'llvo' */ 0x6C6C766F,
+ bmdDeckLinkConfigDownConversionOnAllAnalogOutput = /* 'caao' */ 0x6361616F,
+ bmdDeckLinkConfigSMPTELevelAOutput = /* 'smta' */ 0x736D7461,
/* Video Output Integers */
@@ -85,6 +88,7 @@
bmdDeckLinkConfigVideoOutputIdleOperation = /* 'voio' */ 0x766F696F,
bmdDeckLinkConfigDefaultVideoOutputMode = /* 'dvom' */ 0x64766F6D,
bmdDeckLinkConfigDefaultVideoOutputModeFlags = /* 'dvof' */ 0x64766F66,
+ bmdDeckLinkConfigSDIOutputLinkConfiguration = /* 'solc' */ 0x736F6C63,
/* Video Output Floats */
@@ -100,6 +104,7 @@
bmdDeckLinkConfigVideoInputScanning = /* 'visc' */ 0x76697363, // Applicable to H264 Pro Recorder only
bmdDeckLinkConfigUseDedicatedLTCInput = /* 'dltc' */ 0x646C7463, // Use timecode from LTC input instead of SDI stream
+ bmdDeckLinkConfigSDIInput3DPayloadOverride = /* '3dds' */ 0x33646473,
/* Video Input Integers */
@@ -122,6 +127,10 @@
bmdDeckLinkConfigVideoInputSVideoLumaGain = /* 'islg' */ 0x69736C67,
bmdDeckLinkConfigVideoInputSVideoChromaGain = /* 'iscg' */ 0x69736367,
+ /* Audio Input Flags */
+
+ bmdDeckLinkConfigMicrophonePhantomPower = /* 'mphp' */ 0x6D706870,
+
/* Audio Input Integers */
bmdDeckLinkConfigAudioInputConnection = /* 'aicn' */ 0x6169636E,
@@ -133,6 +142,7 @@
bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = /* 'ais3' */ 0x61697333,
bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = /* 'ais4' */ 0x61697334,
bmdDeckLinkConfigDigitalAudioInputScale = /* 'dais' */ 0x64616973,
+ bmdDeckLinkConfigMicrophoneInputGain = /* 'micg' */ 0x6D696367,
/* Audio Output Integers */
@@ -144,12 +154,55 @@
bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = /* 'aos2' */ 0x616F7332,
bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = /* 'aos3' */ 0x616F7333,
bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = /* 'aos4' */ 0x616F7334,
- bmdDeckLinkConfigDigitalAudioOutputScale = /* 'daos' */ 0x64616F73
+ bmdDeckLinkConfigDigitalAudioOutputScale = /* 'daos' */ 0x64616F73,
+ bmdDeckLinkConfigHeadphoneVolume = /* 'hvol' */ 0x68766F6C,
+
+ /* Device Information Strings */
+
+ bmdDeckLinkConfigDeviceInformationLabel = /* 'dila' */ 0x64696C61,
+ bmdDeckLinkConfigDeviceInformationSerialNumber = /* 'disn' */ 0x6469736E,
+ bmdDeckLinkConfigDeviceInformationCompany = /* 'dico' */ 0x6469636F,
+ bmdDeckLinkConfigDeviceInformationPhone = /* 'diph' */ 0x64697068,
+ bmdDeckLinkConfigDeviceInformationEmail = /* 'diem' */ 0x6469656D,
+ bmdDeckLinkConfigDeviceInformationDate = /* 'dida' */ 0x64696461,
+
+ /* Deck Control Integers */
+
+ bmdDeckLinkConfigDeckControlConnection = /* 'dcco' */ 0x6463636F
+};
+
+/* Enum BMDDeckLinkEncoderConfigurationID - DeckLink Encoder Configuration ID */
+
+typedef uint32_t BMDDeckLinkEncoderConfigurationID;
+enum _BMDDeckLinkEncoderConfigurationID {
+
+ /* Video Encoder Integers */
+
+ bmdDeckLinkEncoderConfigPreferredBitDepth = /* 'epbr' */ 0x65706272,
+ bmdDeckLinkEncoderConfigFrameCodingMode = /* 'efcm' */ 0x6566636D,
+
+ /* HEVC/H.265 Encoder Integers */
+
+ bmdDeckLinkEncoderConfigH265TargetBitrate = /* 'htbr' */ 0x68746272,
+
+ /* DNxHR/DNxHD Compression ID */
+
+ bmdDeckLinkEncoderConfigDNxHRCompressionID = /* 'dcid' */ 0x64636964,
+
+ /* DNxHR/DNxHD Level */
+
+ bmdDeckLinkEncoderConfigDNxHRLevel = /* 'dlev' */ 0x646C6576,
+
+ /* Encoded Sample Decriptions */
+
+ bmdDeckLinkEncoderConfigMPEG4SampleDescription = /* 'stsE' */ 0x73747345, // Full MPEG4 sample description (aka SampleEntry of an 'stsd' atom-box). Useful for MediaFoundation, QuickTime, MKV and more
+ bmdDeckLinkEncoderConfigMPEG4CodecSpecificDesc = /* 'esds' */ 0x65736473 // Sample description extensions only (atom stream, each with size and fourCC header). Useful for AVFoundation, VideoToolbox, MKV and more
};
// Forward Declarations
class IDeckLinkConfiguration;
+class IDeckLinkEncoderConfiguration;
/* Interface IDeckLinkConfiguration - DeckLink Configuration interface */
@@ -170,6 +223,25 @@
virtual ~IDeckLinkConfiguration () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderConfiguration - DeckLink Encoder Configuration interface. Obtained from IDeckLinkEncoderInput */
+
+class IDeckLinkEncoderConfiguration : public IUnknown
+{
+public:
+ virtual HRESULT SetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ bool value) = 0;
+ virtual HRESULT GetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ bool *value) = 0;
+ virtual HRESULT SetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ int64_t value) = 0;
+ virtual HRESULT GetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ int64_t *value) = 0;
+ virtual HRESULT SetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ double value) = 0;
+ virtual HRESULT GetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ double *value) = 0;
+ virtual HRESULT SetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ const char *value) = 0;
+ virtual HRESULT GetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ const char **value) = 0;
+ virtual HRESULT GetBytes (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ void *buffer /* optional */, /* in, out */ uint32_t *bufferSize) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderConfiguration () {} // call Release method to drop reference count
+};
+
/* Functions */
extern "C" {
diff --git a/sys/decklink/linux/DeckLinkAPIDeckControl.h b/sys/decklink/linux/DeckLinkAPIDeckControl.h
index b83d013..24f72d2 100644
--- a/sys/decklink/linux/DeckLinkAPIDeckControl.h
+++ b/sys/decklink/linux/DeckLinkAPIDeckControl.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
diff --git a/sys/decklink/linux/DeckLinkAPIDiscovery.h b/sys/decklink/linux/DeckLinkAPIDiscovery.h
index 424d9d5..fac3099 100644
--- a/sys/decklink/linux/DeckLinkAPIDiscovery.h
+++ b/sys/decklink/linux/DeckLinkAPIDiscovery.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
diff --git a/sys/decklink/linux/DeckLinkAPIModes.h b/sys/decklink/linux/DeckLinkAPIModes.h
index 394d68c..2788e7a 100644
--- a/sys/decklink/linux/DeckLinkAPIModes.h
+++ b/sys/decklink/linux/DeckLinkAPIModes.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -135,7 +135,12 @@
bmdFormat12BitRGB = /* 'R12B' */ 0x52313242, // Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component
bmdFormat12BitRGBLE = /* 'R12L' */ 0x5231324C, // Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component
bmdFormat10BitRGBXLE = /* 'R10l' */ 0x5231306C, // Little-endian 10-bit RGB with SMPTE video levels (64-940)
- bmdFormat10BitRGBX = /* 'R10b' */ 0x52313062 // Big-endian 10-bit RGB with SMPTE video levels (64-940)
+ bmdFormat10BitRGBX = /* 'R10b' */ 0x52313062, // Big-endian 10-bit RGB with SMPTE video levels (64-940)
+ bmdFormatH265 = /* 'hev1' */ 0x68657631, // High Efficiency Video Coding (HEVC/h.265)
+
+ /* AVID DNxHR */
+
+ bmdFormatDNxHR = /* 'AVdh' */ 0x41566468
};
/* Enum BMDDisplayModeFlags - Flags to describe the characteristics of an IDeckLinkDisplayMode. */
diff --git a/sys/decklink/linux/DeckLinkAPITypes.h b/sys/decklink/linux/DeckLinkAPITypes.h
index 55e015f..e3379e3 100644
--- a/sys/decklink/linux/DeckLinkAPITypes.h
+++ b/sys/decklink/linux/DeckLinkAPITypes.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -77,7 +77,17 @@
bmdAudioConnectionAESEBU = 1 << 1,
bmdAudioConnectionAnalog = 1 << 2,
bmdAudioConnectionAnalogXLR = 1 << 3,
- bmdAudioConnectionAnalogRCA = 1 << 4
+ bmdAudioConnectionAnalogRCA = 1 << 4,
+ bmdAudioConnectionMicrophone = 1 << 5,
+ bmdAudioConnectionHeadphones = 1 << 6
+};
+
+/* Enum BMDDeckControlConnection - Deck control connections */
+
+typedef uint32_t BMDDeckControlConnection;
+enum _BMDDeckControlConnection {
+ bmdDeckControlConnectionRS422Remote1 = 1 << 0,
+ bmdDeckControlConnectionRS422Remote2 = 1 << 1
};
// Forward Declarations
diff --git a/sys/decklink/osx/DeckLinkAPI.h b/sys/decklink/osx/DeckLinkAPI.h
index 8c334c0..fe8e03b 100644
--- a/sys/decklink/osx/DeckLinkAPI.h
+++ b/sys/decklink/osx/DeckLinkAPI.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -60,17 +60,24 @@
BMD_CONST REFIID IID_IDeckLinkVideoOutputCallback = /* 20AA5225-1958-47CB-820B-80A8D521A6EE */ {0x20,0xAA,0x52,0x25,0x19,0x58,0x47,0xCB,0x82,0x0B,0x80,0xA8,0xD5,0x21,0xA6,0xEE};
BMD_CONST REFIID IID_IDeckLinkInputCallback = /* DD04E5EC-7415-42AB-AE4A-E80C4DFC044A */ {0xDD,0x04,0xE5,0xEC,0x74,0x15,0x42,0xAB,0xAE,0x4A,0xE8,0x0C,0x4D,0xFC,0x04,0x4A};
+BMD_CONST REFIID IID_IDeckLinkEncoderInputCallback = /* ACF13E61-F4A0-4974-A6A7-59AFF6268B31 */ {0xAC,0xF1,0x3E,0x61,0xF4,0xA0,0x49,0x74,0xA6,0xA7,0x59,0xAF,0xF6,0x26,0x8B,0x31};
BMD_CONST REFIID IID_IDeckLinkMemoryAllocator = /* B36EB6E7-9D29-4AA8-92EF-843B87A289E8 */ {0xB3,0x6E,0xB6,0xE7,0x9D,0x29,0x4A,0xA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8};
BMD_CONST REFIID IID_IDeckLinkAudioOutputCallback = /* 403C681B-7F46-4A12-B993-2BB127084EE6 */ {0x40,0x3C,0x68,0x1B,0x7F,0x46,0x4A,0x12,0xB9,0x93,0x2B,0xB1,0x27,0x08,0x4E,0xE6};
BMD_CONST REFIID IID_IDeckLinkIterator = /* 50FB36CD-3063-4B73-BDBB-958087F2D8BA */ {0x50,0xFB,0x36,0xCD,0x30,0x63,0x4B,0x73,0xBD,0xBB,0x95,0x80,0x87,0xF2,0xD8,0xBA};
BMD_CONST REFIID IID_IDeckLinkAPIInformation = /* 7BEA3C68-730D-4322-AF34-8A7152B532A4 */ {0x7B,0xEA,0x3C,0x68,0x73,0x0D,0x43,0x22,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4};
BMD_CONST REFIID IID_IDeckLinkOutput = /* CC5C8A6E-3F2F-4B3A-87EA-FD78AF300564 */ {0xCC,0x5C,0x8A,0x6E,0x3F,0x2F,0x4B,0x3A,0x87,0xEA,0xFD,0x78,0xAF,0x30,0x05,0x64};
BMD_CONST REFIID IID_IDeckLinkInput = /* AF22762B-DFAC-4846-AA79-FA8883560995 */ {0xAF,0x22,0x76,0x2B,0xDF,0xAC,0x48,0x46,0xAA,0x79,0xFA,0x88,0x83,0x56,0x09,0x95};
+BMD_CONST REFIID IID_IDeckLinkEncoderInput = /* 270587DA-6B7D-42E7-A1F0-6D853F581185 */ {0x27,0x05,0x87,0xDA,0x6B,0x7D,0x42,0xE7,0xA1,0xF0,0x6D,0x85,0x3F,0x58,0x11,0x85};
BMD_CONST REFIID IID_IDeckLinkVideoFrame = /* 3F716FE0-F023-4111-BE5D-EF4414C05B17 */ {0x3F,0x71,0x6F,0xE0,0xF0,0x23,0x41,0x11,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17};
BMD_CONST REFIID IID_IDeckLinkMutableVideoFrame = /* 69E2639F-40DA-4E19-B6F2-20ACE815C390 */ {0x69,0xE2,0x63,0x9F,0x40,0xDA,0x4E,0x19,0xB6,0xF2,0x20,0xAC,0xE8,0x15,0xC3,0x90};
BMD_CONST REFIID IID_IDeckLinkVideoFrame3DExtensions = /* DA0F7E4A-EDC7-48A8-9CDD-2DB51C729CD7 */ {0xDA,0x0F,0x7E,0x4A,0xED,0xC7,0x48,0xA8,0x9C,0xDD,0x2D,0xB5,0x1C,0x72,0x9C,0xD7};
+BMD_CONST REFIID IID_IDeckLinkVideoFrameMetadataExtensions = /* D5973DC9-6432-46D0-8F0B-2496F8A1238F */ {0xD5,0x97,0x3D,0xC9,0x64,0x32,0x46,0xD0,0x8F,0x0B,0x24,0x96,0xF8,0xA1,0x23,0x8F};
BMD_CONST REFIID IID_IDeckLinkVideoInputFrame = /* 05CFE374-537C-4094-9A57-680525118F44 */ {0x05,0xCF,0xE3,0x74,0x53,0x7C,0x40,0x94,0x9A,0x57,0x68,0x05,0x25,0x11,0x8F,0x44};
BMD_CONST REFIID IID_IDeckLinkVideoFrameAncillary = /* 732E723C-D1A4-4E29-9E8E-4A88797A0004 */ {0x73,0x2E,0x72,0x3C,0xD1,0xA4,0x4E,0x29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04};
+BMD_CONST REFIID IID_IDeckLinkEncoderPacket = /* B693F36C-316E-4AF1-B6C2-F389A4BCA620 */ {0xB6,0x93,0xF3,0x6C,0x31,0x6E,0x4A,0xF1,0xB6,0xC2,0xF3,0x89,0xA4,0xBC,0xA6,0x20};
+BMD_CONST REFIID IID_IDeckLinkEncoderVideoPacket = /* 4E7FD944-E8C7-4EAC-B8C0-7B77F80F5AE0 */ {0x4E,0x7F,0xD9,0x44,0xE8,0xC7,0x4E,0xAC,0xB8,0xC0,0x7B,0x77,0xF8,0x0F,0x5A,0xE0};
+BMD_CONST REFIID IID_IDeckLinkEncoderAudioPacket = /* 49E8EDC8-693B-4E14-8EF6-12C658F5A07A */ {0x49,0xE8,0xED,0xC8,0x69,0x3B,0x4E,0x14,0x8E,0xF6,0x12,0xC6,0x58,0xF5,0xA0,0x7A};
+BMD_CONST REFIID IID_IDeckLinkH265NALPacket = /* 639C8E0B-68D5-4BDE-A6D4-95F3AEAFF2E7 */ {0x63,0x9C,0x8E,0x0B,0x68,0xD5,0x4B,0xDE,0xA6,0xD4,0x95,0xF3,0xAE,0xAF,0xF2,0xE7};
BMD_CONST REFIID IID_IDeckLinkAudioInputPacket = /* E43D5870-2894-11DE-8C30-0800200C9A66 */ {0xE4,0x3D,0x58,0x70,0x28,0x94,0x11,0xDE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66};
BMD_CONST REFIID IID_IDeckLinkScreenPreviewCallback = /* B1D3F49A-85FE-4C5D-95C8-0B5D5DCCD438 */ {0xB1,0xD3,0xF4,0x9A,0x85,0xFE,0x4C,0x5D,0x95,0xC8,0x0B,0x5D,0x5D,0xCC,0xD4,0x38};
BMD_CONST REFIID IID_IDeckLinkCocoaScreenPreviewCallback = /* D174152F-8F96-4C07-83A5-DD5F5AF0A2AA */ {0xD1,0x74,0x15,0x2F,0x8F,0x96,0x4C,0x07,0x83,0xA5,0xDD,0x5F,0x5A,0xF0,0xA2,0xAA};
@@ -78,6 +85,7 @@
BMD_CONST REFIID IID_IDeckLinkNotificationCallback = /* B002A1EC-070D-4288-8289-BD5D36E5FF0D */ {0xB0,0x02,0xA1,0xEC,0x07,0x0D,0x42,0x88,0x82,0x89,0xBD,0x5D,0x36,0xE5,0xFF,0x0D};
BMD_CONST REFIID IID_IDeckLinkNotification = /* 0A1FB207-E215-441B-9B19-6FA1575946C5 */ {0x0A,0x1F,0xB2,0x07,0xE2,0x15,0x44,0x1B,0x9B,0x19,0x6F,0xA1,0x57,0x59,0x46,0xC5};
BMD_CONST REFIID IID_IDeckLinkAttributes = /* ABC11843-D966-44CB-96E2-A1CB5D3135C4 */ {0xAB,0xC1,0x18,0x43,0xD9,0x66,0x44,0xCB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4};
+BMD_CONST REFIID IID_IDeckLinkStatus = /* 5F558200-4028-49BC-BEAC-DB3FA4A96E46 */ {0x5F,0x55,0x82,0x00,0x40,0x28,0x49,0xBC,0xBE,0xAC,0xDB,0x3F,0xA4,0xA9,0x6E,0x46};
BMD_CONST REFIID IID_IDeckLinkKeyer = /* 89AFCAF5-65F8-421E-98F7-96FE5F5BFBA3 */ {0x89,0xAF,0xCA,0xF5,0x65,0xF8,0x42,0x1E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3};
BMD_CONST REFIID IID_IDeckLinkVideoConversion = /* 3BBCB8A2-DA2C-42D9-B5D8-88083644E99A */ {0x3B,0xBC,0xB8,0xA2,0xDA,0x2C,0x42,0xD9,0xB5,0xD8,0x88,0x08,0x36,0x44,0xE9,0x9A};
BMD_CONST REFIID IID_IDeckLinkDeviceNotificationCallback = /* 4997053B-0ADF-4CC8-AC70-7A50C4BE728F */ {0x49,0x97,0x05,0x3B,0x0A,0xDF,0x4C,0xC8,0xAC,0x70,0x7A,0x50,0xC4,0xBE,0x72,0x8F};
@@ -94,12 +102,21 @@
bmdVideoOutputDualStream3D = 1 << 4
};
+/* Enum BMDPacketType - Type of packet */
+
+typedef uint32_t BMDPacketType;
+enum _BMDPacketType {
+ bmdPacketTypeStreamInterruptedMarker = 'sint', // A packet of this type marks the time when a video stream was interrupted, for example by a disconnected cable
+ bmdPacketTypeStreamData = 'sdat' // Regular stream data
+};
+
/* Enum BMDFrameFlags - Frame flags */
typedef uint32_t BMDFrameFlags;
enum _BMDFrameFlags {
bmdFrameFlagDefault = 0,
bmdFrameFlagFlipVertical = 1 << 0,
+ bmdFrameContainsHDRMetadata = 1 << 1,
/* Flags that are applicable only to instances of IDeckLinkVideoInputFrame */
@@ -137,6 +154,7 @@
typedef uint32_t BMDDeckLinkCapturePassthroughMode;
enum _BMDDeckLinkCapturePassthroughMode {
+ bmdDeckLinkCapturePassthroughModeDisabled = 'pdis',
bmdDeckLinkCapturePassthroughModeDirect = 'pdir',
bmdDeckLinkCapturePassthroughModeCleanSwitch = 'pcln'
};
@@ -159,6 +177,13 @@
bmdReferenceLocked = 1 << 1
};
+/* Enum BMDAudioFormat - Audio Format */
+
+typedef uint32_t BMDAudioFormat;
+enum _BMDAudioFormat {
+ bmdAudioFormatPCM = 'lpcm' // Linear signed PCM samples
+};
+
/* Enum BMDAudioSampleRate - Audio sample rates supported for output/input */
typedef uint32_t BMDAudioSampleRate;
@@ -271,8 +296,71 @@
typedef uint32_t BMDIdleVideoOutputOperation;
enum _BMDIdleVideoOutputOperation {
bmdIdleVideoOutputBlack = 'blac',
- bmdIdleVideoOutputLastFrame = 'lafa',
- bmdIdleVideoOutputDesktop = 'desk'
+ bmdIdleVideoOutputLastFrame = 'lafa'
+};
+
+/* Enum BMDVideoEncoderFrameCodingMode - Video frame coding mode */
+
+typedef uint32_t BMDVideoEncoderFrameCodingMode;
+enum _BMDVideoEncoderFrameCodingMode {
+ bmdVideoEncoderFrameCodingModeInter = 'inte',
+ bmdVideoEncoderFrameCodingModeIntra = 'intr'
+};
+
+/* Enum BMDDNxHRLevel - DNxHR Levels */
+
+typedef uint32_t BMDDNxHRLevel;
+enum _BMDDNxHRLevel {
+ bmdDNxHRLevelSQ = 'dnsq',
+ bmdDNxHRLevelLB = 'dnlb',
+ bmdDNxHRLevelHQ = 'dnhq',
+ bmdDNxHRLevelHQX = 'dhqx',
+ bmdDNxHRLevel444 = 'd444'
+};
+
+/* Enum BMDLinkConfiguration - Video link configuration */
+
+typedef uint32_t BMDLinkConfiguration;
+enum _BMDLinkConfiguration {
+ bmdLinkConfigurationSingleLink = 'lcsl',
+ bmdLinkConfigurationDualLink = 'lcdl',
+ bmdLinkConfigurationQuadLink = 'lcql'
+};
+
+/* Enum BMDDeviceInterface - Device interface type */
+
+typedef uint32_t BMDDeviceInterface;
+enum _BMDDeviceInterface {
+ bmdDeviceInterfacePCI = 'pci ',
+ bmdDeviceInterfaceUSB = 'usb ',
+ bmdDeviceInterfaceThunderbolt = 'thun'
+};
+
+/* Enum BMDDeckLinkFrameMetadataID - DeckLink Frame Metadata ID */
+
+typedef uint32_t BMDDeckLinkFrameMetadataID;
+enum _BMDDeckLinkFrameMetadataID {
+ bmdDeckLinkFrameMetadataHDRElectroOpticalTransferFunc = 'eotf', // EOTF in range 0-7 as per CEA 861.3
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedX = 'hdrx', // Red display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesRedY = 'hdry', // Red display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenX = 'hdgx', // Green display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesGreenY = 'hdgy', // Green display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueX = 'hdbx', // Blue display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRDisplayPrimariesBlueY = 'hdby', // Blue display primaries in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRWhitePointX = 'hdwx', // White point in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRWhitePointY = 'hdwy', // White point in range 0.0 - 1.0
+ bmdDeckLinkFrameMetadataHDRMaxDisplayMasteringLuminance = 'hdml', // Max display mastering luminance in range 1 cd/m2 - 65535 cd/m2
+ bmdDeckLinkFrameMetadataHDRMinDisplayMasteringLuminance = 'hmil', // Min display mastering luminance in range 0.0001 cd/m2 - 6.5535 cd/m2
+ bmdDeckLinkFrameMetadataHDRMaximumContentLightLevel = 'mcll', // Maximum Content Light Level in range 1 cd/m2 - 65535 cd/m2
+ bmdDeckLinkFrameMetadataHDRMaximumFrameAverageLightLevel = 'fall' // Maximum Frame Average Light Level in range 1 cd/m2 - 65535 cd/m2
+};
+
+/* Enum BMDDuplexMode - Duplex for configurable ports */
+
+typedef uint32_t BMDDuplexMode;
+enum _BMDDuplexMode {
+ bmdDuplexModeFull = 'fdup',
+ bmdDuplexModeHalf = 'hdup'
};
/* Enum BMDDeckLinkAttributeID - DeckLink Attribute ID */
@@ -292,10 +380,16 @@
BMDDeckLinkCanOnlyAdjustOverallVideoOutputGain = 'ovog',
BMDDeckLinkHasVideoInputAntiAliasingFilter = 'aafl',
BMDDeckLinkHasBypass = 'byps',
- BMDDeckLinkSupportsDesktopDisplay = 'extd',
BMDDeckLinkSupportsClockTimingAdjustment = 'ctad',
BMDDeckLinkSupportsFullDuplex = 'fdup',
BMDDeckLinkSupportsFullFrameReferenceInputTimingOffset = 'frin',
+ BMDDeckLinkSupportsSMPTELevelAOutput = 'lvla',
+ BMDDeckLinkSupportsDualLinkSDI = 'sdls',
+ BMDDeckLinkSupportsQuadLinkSDI = 'sqls',
+ BMDDeckLinkSupportsIdleOutput = 'idou',
+ BMDDeckLinkHasLTCTimecodeInput = 'hltc',
+ BMDDeckLinkSupportsDuplexModeConfiguration = 'dupx',
+ BMDDeckLinkSupportsHDRMetadata = 'hdrm',
/* Integers */
@@ -304,13 +398,20 @@
BMDDeckLinkNumberOfSubDevices = 'nsbd',
BMDDeckLinkSubDeviceIndex = 'subi',
BMDDeckLinkPersistentID = 'peid',
+ BMDDeckLinkDeviceGroupID = 'dgid',
BMDDeckLinkTopologicalID = 'toid',
BMDDeckLinkVideoOutputConnections = 'vocn',
BMDDeckLinkVideoInputConnections = 'vicn',
BMDDeckLinkAudioOutputConnections = 'aocn',
BMDDeckLinkAudioInputConnections = 'aicn',
- BMDDeckLinkDeviceBusyState = 'dbst',
BMDDeckLinkVideoIOSupport = 'vios', // Returns a BMDVideoIOSupport bit field
+ BMDDeckLinkDeckControlConnections = 'dccn',
+ BMDDeckLinkDeviceInterface = 'dbus', // Returns a BMDDeviceInterface
+ BMDDeckLinkAudioInputRCAChannelCount = 'airc',
+ BMDDeckLinkAudioInputXLRChannelCount = 'aixc',
+ BMDDeckLinkAudioOutputRCAChannelCount = 'aorc',
+ BMDDeckLinkAudioOutputXLRChannelCount = 'aoxc',
+ BMDDeckLinkPairedDevicePersistentID = 'ppid',
/* Floats */
@@ -318,10 +419,16 @@
BMDDeckLinkVideoInputGainMaximum = 'vigx',
BMDDeckLinkVideoOutputGainMinimum = 'vogm',
BMDDeckLinkVideoOutputGainMaximum = 'vogx',
+ BMDDeckLinkMicrophoneInputGainMinimum = 'migm',
+ BMDDeckLinkMicrophoneInputGainMaximum = 'migx',
/* Strings */
- BMDDeckLinkSerialPortDeviceName = 'slpn'
+ BMDDeckLinkSerialPortDeviceName = 'slpn',
+ BMDDeckLinkVendorName = 'vndr',
+ BMDDeckLinkDisplayName = 'dspn',
+ BMDDeckLinkModelName = 'mdln',
+ BMDDeckLinkDeviceHandle = 'devh'
};
/* Enum BMDDeckLinkAPIInformationID - DeckLinkAPI information ID */
@@ -331,6 +438,52 @@
BMDDeckLinkAPIVersion = 'vers'
};
+/* Enum BMDDeckLinkStatusID - DeckLink Status ID */
+
+typedef uint32_t BMDDeckLinkStatusID;
+enum _BMDDeckLinkStatusID {
+
+ /* Integers */
+
+ bmdDeckLinkStatusDetectedVideoInputMode = 'dvim',
+ bmdDeckLinkStatusDetectedVideoInputFlags = 'dvif',
+ bmdDeckLinkStatusCurrentVideoInputMode = 'cvim',
+ bmdDeckLinkStatusCurrentVideoInputPixelFormat = 'cvip',
+ bmdDeckLinkStatusCurrentVideoInputFlags = 'cvif',
+ bmdDeckLinkStatusCurrentVideoOutputMode = 'cvom',
+ bmdDeckLinkStatusCurrentVideoOutputFlags = 'cvof',
+ bmdDeckLinkStatusPCIExpressLinkWidth = 'pwid',
+ bmdDeckLinkStatusPCIExpressLinkSpeed = 'plnk',
+ bmdDeckLinkStatusLastVideoOutputPixelFormat = 'opix',
+ bmdDeckLinkStatusReferenceSignalMode = 'refm',
+ bmdDeckLinkStatusReferenceSignalFlags = 'reff',
+ bmdDeckLinkStatusDuplexMode = 'dupx',
+ bmdDeckLinkStatusBusy = 'busy',
+
+ /* Flags */
+
+ bmdDeckLinkStatusVideoInputSignalLocked = 'visl',
+ bmdDeckLinkStatusReferenceSignalLocked = 'refl'
+};
+
+/* Enum BMDDeckLinkVideoStatusFlags - */
+
+typedef uint32_t BMDDeckLinkVideoStatusFlags;
+enum _BMDDeckLinkVideoStatusFlags {
+ bmdDeckLinkVideoStatusPsF = 1 << 0,
+ bmdDeckLinkVideoStatusDualStream3D = 1 << 1
+};
+
+/* Enum BMDDuplexStatus - Duplex status of the device */
+
+typedef uint32_t BMDDuplexStatus;
+enum _BMDDuplexStatus {
+ bmdDuplexStatusFullDuplex = 'fdup',
+ bmdDuplexStatusHalfDuplex = 'hdup',
+ bmdDuplexStatusSimplex = 'splx',
+ bmdDuplexStatusInactive = 'inac'
+};
+
/* Enum BMDDeviceBusyState - Current device busy state */
typedef uint32_t BMDDeviceBusyState;
@@ -363,7 +516,8 @@
typedef uint32_t BMDNotifications;
enum _BMDNotifications {
- bmdPreferencesChanged = 'pref'
+ bmdPreferencesChanged = 'pref',
+ bmdStatusChanged = 'stat'
};
#if defined(__cplusplus)
@@ -372,17 +526,24 @@
class IDeckLinkVideoOutputCallback;
class IDeckLinkInputCallback;
+class IDeckLinkEncoderInputCallback;
class IDeckLinkMemoryAllocator;
class IDeckLinkAudioOutputCallback;
class IDeckLinkIterator;
class IDeckLinkAPIInformation;
class IDeckLinkOutput;
class IDeckLinkInput;
+class IDeckLinkEncoderInput;
class IDeckLinkVideoFrame;
class IDeckLinkMutableVideoFrame;
class IDeckLinkVideoFrame3DExtensions;
+class IDeckLinkVideoFrameMetadataExtensions;
class IDeckLinkVideoInputFrame;
class IDeckLinkVideoFrameAncillary;
+class IDeckLinkEncoderPacket;
+class IDeckLinkEncoderVideoPacket;
+class IDeckLinkEncoderAudioPacket;
+class IDeckLinkH265NALPacket;
class IDeckLinkAudioInputPacket;
class IDeckLinkScreenPreviewCallback;
class IDeckLinkCocoaScreenPreviewCallback;
@@ -390,6 +551,7 @@
class IDeckLinkNotificationCallback;
class IDeckLinkNotification;
class IDeckLinkAttributes;
+class IDeckLinkStatus;
class IDeckLinkKeyer;
class IDeckLinkVideoConversion;
class IDeckLinkDeviceNotificationCallback;
@@ -419,6 +581,19 @@
virtual ~IDeckLinkInputCallback () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderInputCallback - Frame arrival callback. */
+
+class IDeckLinkEncoderInputCallback : public IUnknown
+{
+public:
+ virtual HRESULT VideoInputSignalChanged (/* in */ BMDVideoInputFormatChangedEvents notificationEvents, /* in */ IDeckLinkDisplayMode *newDisplayMode, /* in */ BMDDetectedVideoInputFormatFlags detectedSignalFlags) = 0;
+ virtual HRESULT VideoPacketArrived (/* in */ IDeckLinkEncoderVideoPacket* videoPacket) = 0;
+ virtual HRESULT AudioPacketArrived (/* in */ IDeckLinkEncoderAudioPacket* audioPacket) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderInputCallback () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkMemoryAllocator - Memory allocator for video frames. */
class IDeckLinkMemoryAllocator : public IUnknown
@@ -557,6 +732,43 @@
virtual ~IDeckLinkInput () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderInput - Created by QueryInterface from IDeckLink. */
+
+class IDeckLinkEncoderInput : public IUnknown
+{
+public:
+ virtual HRESULT DoesSupportVideoMode (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags, /* out */ BMDDisplayModeSupport *result, /* out */ IDeckLinkDisplayMode **resultDisplayMode) = 0;
+ virtual HRESULT GetDisplayModeIterator (/* out */ IDeckLinkDisplayModeIterator **iterator) = 0;
+
+ /* Video Input */
+
+ virtual HRESULT EnableVideoInput (/* in */ BMDDisplayMode displayMode, /* in */ BMDPixelFormat pixelFormat, /* in */ BMDVideoInputFlags flags) = 0;
+ virtual HRESULT DisableVideoInput (void) = 0;
+ virtual HRESULT GetAvailablePacketsCount (/* out */ uint32_t *availablePacketsCount) = 0;
+ virtual HRESULT SetMemoryAllocator (/* in */ IDeckLinkMemoryAllocator *theAllocator) = 0;
+
+ /* Audio Input */
+
+ virtual HRESULT EnableAudioInput (/* in */ BMDAudioFormat audioFormat, /* in */ BMDAudioSampleRate sampleRate, /* in */ BMDAudioSampleType sampleType, /* in */ uint32_t channelCount) = 0;
+ virtual HRESULT DisableAudioInput (void) = 0;
+ virtual HRESULT GetAvailableAudioSampleFrameCount (/* out */ uint32_t *availableSampleFrameCount) = 0;
+
+ /* Input Control */
+
+ virtual HRESULT StartStreams (void) = 0;
+ virtual HRESULT StopStreams (void) = 0;
+ virtual HRESULT PauseStreams (void) = 0;
+ virtual HRESULT FlushStreams (void) = 0;
+ virtual HRESULT SetCallback (/* in */ IDeckLinkEncoderInputCallback *theCallback) = 0;
+
+ /* Hardware Timing */
+
+ virtual HRESULT GetHardwareReferenceClock (/* in */ BMDTimeScale desiredTimeScale, /* out */ BMDTimeValue *hardwareTime, /* out */ BMDTimeValue *timeInFrame, /* out */ BMDTimeValue *ticksPerFrame) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderInput () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkVideoFrame - Interface to encapsulate a video frame; can be caller-implemented. */
class IDeckLinkVideoFrame : public IUnknown
@@ -604,6 +816,20 @@
virtual ~IDeckLinkVideoFrame3DExtensions () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkVideoFrameMetadataExtensions - Optional interface implemented on IDeckLinkVideoFrame to support frame metadata such as HDMI HDR information */
+
+class IDeckLinkVideoFrameMetadataExtensions : public IUnknown
+{
+public:
+ virtual HRESULT GetInt (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ int64_t *value) = 0;
+ virtual HRESULT GetFloat (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ double *value) = 0;
+ virtual HRESULT GetFlag (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ bool* value) = 0;
+ virtual HRESULT GetString (/* in */ BMDDeckLinkFrameMetadataID metadataID, /* out */ CFStringRef *value) = 0;
+
+protected:
+ virtual ~IDeckLinkVideoFrameMetadataExtensions () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkVideoInputFrame - Provided by the IDeckLinkVideoInput frame arrival callback. */
class IDeckLinkVideoInputFrame : public IDeckLinkVideoFrame
@@ -630,6 +856,58 @@
virtual ~IDeckLinkVideoFrameAncillary () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderPacket - Interface to encapsulate an encoded packet. */
+
+class IDeckLinkEncoderPacket : public IUnknown
+{
+public:
+ virtual HRESULT GetBytes (/* out */ void **buffer) = 0;
+ virtual long GetSize (void) = 0;
+ virtual HRESULT GetStreamTime (/* out */ BMDTimeValue *frameTime, /* in */ BMDTimeScale timeScale) = 0;
+ virtual BMDPacketType GetPacketType (void) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderPacket () {} // call Release method to drop reference count
+};
+
+/* Interface IDeckLinkEncoderVideoPacket - Provided by the IDeckLinkEncoderInput video packet arrival callback. */
+
+class IDeckLinkEncoderVideoPacket : public IDeckLinkEncoderPacket
+{
+public:
+ virtual BMDPixelFormat GetPixelFormat (void) = 0;
+ virtual HRESULT GetHardwareReferenceTimestamp (/* in */ BMDTimeScale timeScale, /* out */ BMDTimeValue *frameTime, /* out */ BMDTimeValue *frameDuration) = 0;
+
+ virtual HRESULT GetTimecode (/* in */ BMDTimecodeFormat format, /* out */ IDeckLinkTimecode **timecode) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderVideoPacket () {} // call Release method to drop reference count
+};
+
+/* Interface IDeckLinkEncoderAudioPacket - Provided by the IDeckLinkEncoderInput audio packet arrival callback. */
+
+class IDeckLinkEncoderAudioPacket : public IDeckLinkEncoderPacket
+{
+public:
+ virtual BMDAudioFormat GetAudioFormat (void) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderAudioPacket () {} // call Release method to drop reference count
+};
+
+/* Interface IDeckLinkH265NALPacket - Obtained through QueryInterface() on an IDeckLinkEncoderVideoPacket object */
+
+class IDeckLinkH265NALPacket : public IDeckLinkEncoderVideoPacket
+{
+public:
+ virtual HRESULT GetUnitType (/* out */ uint8_t *unitType) = 0;
+ virtual HRESULT GetBytesNoPrefix (/* out */ void **buffer) = 0;
+ virtual long GetSizeNoPrefix (void) = 0;
+
+protected:
+ virtual ~IDeckLinkH265NALPacket () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkAudioInputPacket - Provided by the IDeckLinkInput callback. */
class IDeckLinkAudioInputPacket : public IUnknown
@@ -712,6 +990,21 @@
virtual ~IDeckLinkAttributes () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkStatus - DeckLink Status interface */
+
+class IDeckLinkStatus : public IUnknown
+{
+public:
+ virtual HRESULT GetFlag (/* in */ BMDDeckLinkStatusID statusID, /* out */ bool *value) = 0;
+ virtual HRESULT GetInt (/* in */ BMDDeckLinkStatusID statusID, /* out */ int64_t *value) = 0;
+ virtual HRESULT GetFloat (/* in */ BMDDeckLinkStatusID statusID, /* out */ double *value) = 0;
+ virtual HRESULT GetString (/* in */ BMDDeckLinkStatusID statusID, /* out */ CFStringRef *value) = 0;
+ virtual HRESULT GetBytes (/* in */ BMDDeckLinkStatusID statusID, /* out */ void *buffer, /* in, out */ uint32_t *bufferSize) = 0;
+
+protected:
+ virtual ~IDeckLinkStatus () {} // call Release method to drop reference count
+};
+
/* Interface IDeckLinkKeyer - DeckLink Keyer interface */
class IDeckLinkKeyer : public IUnknown
diff --git a/sys/decklink/osx/DeckLinkAPIConfiguration.h b/sys/decklink/osx/DeckLinkAPIConfiguration.h
index 693fa38..717d17d 100644
--- a/sys/decklink/osx/DeckLinkAPIConfiguration.h
+++ b/sys/decklink/osx/DeckLinkAPIConfiguration.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -42,7 +42,8 @@
// Interface ID Declarations
-BMD_CONST REFIID IID_IDeckLinkConfiguration = /* 1E69FCF6-4203-4936-8076-2A9F4CFD50CB */ {0x1E,0x69,0xFC,0xF6,0x42,0x03,0x49,0x36,0x80,0x76,0x2A,0x9F,0x4C,0xFD,0x50,0xCB};
+BMD_CONST REFIID IID_IDeckLinkConfiguration = /* CB71734A-FE37-4E8D-8E13-802133A1C3F2 */ {0xCB,0x71,0x73,0x4A,0xFE,0x37,0x4E,0x8D,0x8E,0x13,0x80,0x21,0x33,0xA1,0xC3,0xF2};
+BMD_CONST REFIID IID_IDeckLinkEncoderConfiguration = /* 138050E5-C60A-4552-BF3F-0F358049327E */ {0x13,0x80,0x50,0xE5,0xC6,0x0A,0x45,0x52,0xBF,0x3F,0x0F,0x35,0x80,0x49,0x32,0x7E};
/* Enum BMDDeckLinkConfigurationID - DeckLink Configuration ID */
@@ -62,6 +63,7 @@
bmdDeckLinkConfigHDMI3DPackingFormat = '3dpf',
bmdDeckLinkConfigBypass = 'byps',
bmdDeckLinkConfigClockTimingAdjustment = 'ctad',
+ bmdDeckLinkConfigDuplexMode = 'dupx',
/* Audio Input/Output Flags */
@@ -72,9 +74,10 @@
bmdDeckLinkConfigFieldFlickerRemoval = 'fdfr',
bmdDeckLinkConfigHD1080p24ToHD1080i5994Conversion = 'to59',
bmdDeckLinkConfig444SDIVideoOutput = '444o',
- bmdDeckLinkConfigSingleLinkVideoOutput = 'sglo',
bmdDeckLinkConfigBlackVideoOutputDuringCapture = 'bvoc',
bmdDeckLinkConfigLowLatencyVideoOutput = 'llvo',
+ bmdDeckLinkConfigDownConversionOnAllAnalogOutput = 'caao',
+ bmdDeckLinkConfigSMPTELevelAOutput = 'smta',
/* Video Output Integers */
@@ -85,6 +88,7 @@
bmdDeckLinkConfigVideoOutputIdleOperation = 'voio',
bmdDeckLinkConfigDefaultVideoOutputMode = 'dvom',
bmdDeckLinkConfigDefaultVideoOutputModeFlags = 'dvof',
+ bmdDeckLinkConfigSDIOutputLinkConfiguration = 'solc',
/* Video Output Floats */
@@ -100,6 +104,7 @@
bmdDeckLinkConfigVideoInputScanning = 'visc', // Applicable to H264 Pro Recorder only
bmdDeckLinkConfigUseDedicatedLTCInput = 'dltc', // Use timecode from LTC input instead of SDI stream
+ bmdDeckLinkConfigSDIInput3DPayloadOverride = '3dds',
/* Video Input Integers */
@@ -122,6 +127,10 @@
bmdDeckLinkConfigVideoInputSVideoLumaGain = 'islg',
bmdDeckLinkConfigVideoInputSVideoChromaGain = 'iscg',
+ /* Audio Input Flags */
+
+ bmdDeckLinkConfigMicrophonePhantomPower = 'mphp',
+
/* Audio Input Integers */
bmdDeckLinkConfigAudioInputConnection = 'aicn',
@@ -133,6 +142,7 @@
bmdDeckLinkConfigAnalogAudioInputScaleChannel3 = 'ais3',
bmdDeckLinkConfigAnalogAudioInputScaleChannel4 = 'ais4',
bmdDeckLinkConfigDigitalAudioInputScale = 'dais',
+ bmdDeckLinkConfigMicrophoneInputGain = 'micg',
/* Audio Output Integers */
@@ -144,12 +154,55 @@
bmdDeckLinkConfigAnalogAudioOutputScaleChannel2 = 'aos2',
bmdDeckLinkConfigAnalogAudioOutputScaleChannel3 = 'aos3',
bmdDeckLinkConfigAnalogAudioOutputScaleChannel4 = 'aos4',
- bmdDeckLinkConfigDigitalAudioOutputScale = 'daos'
+ bmdDeckLinkConfigDigitalAudioOutputScale = 'daos',
+ bmdDeckLinkConfigHeadphoneVolume = 'hvol',
+
+ /* Device Information Strings */
+
+ bmdDeckLinkConfigDeviceInformationLabel = 'dila',
+ bmdDeckLinkConfigDeviceInformationSerialNumber = 'disn',
+ bmdDeckLinkConfigDeviceInformationCompany = 'dico',
+ bmdDeckLinkConfigDeviceInformationPhone = 'diph',
+ bmdDeckLinkConfigDeviceInformationEmail = 'diem',
+ bmdDeckLinkConfigDeviceInformationDate = 'dida',
+
+ /* Deck Control Integers */
+
+ bmdDeckLinkConfigDeckControlConnection = 'dcco'
+};
+
+/* Enum BMDDeckLinkEncoderConfigurationID - DeckLink Encoder Configuration ID */
+
+typedef uint32_t BMDDeckLinkEncoderConfigurationID;
+enum _BMDDeckLinkEncoderConfigurationID {
+
+ /* Video Encoder Integers */
+
+ bmdDeckLinkEncoderConfigPreferredBitDepth = 'epbr',
+ bmdDeckLinkEncoderConfigFrameCodingMode = 'efcm',
+
+ /* HEVC/H.265 Encoder Integers */
+
+ bmdDeckLinkEncoderConfigH265TargetBitrate = 'htbr',
+
+ /* DNxHR/DNxHD Compression ID */
+
+ bmdDeckLinkEncoderConfigDNxHRCompressionID = 'dcid',
+
+ /* DNxHR/DNxHD Level */
+
+ bmdDeckLinkEncoderConfigDNxHRLevel = 'dlev',
+
+ /* Encoded Sample Decriptions */
+
+ bmdDeckLinkEncoderConfigMPEG4SampleDescription = 'stsE', // Full MPEG4 sample description (aka SampleEntry of an 'stsd' atom-box). Useful for MediaFoundation, QuickTime, MKV and more
+ bmdDeckLinkEncoderConfigMPEG4CodecSpecificDesc = 'esds' // Sample description extensions only (atom stream, each with size and fourCC header). Useful for AVFoundation, VideoToolbox, MKV and more
};
// Forward Declarations
class IDeckLinkConfiguration;
+class IDeckLinkEncoderConfiguration;
/* Interface IDeckLinkConfiguration - DeckLink Configuration interface */
@@ -170,6 +223,25 @@
virtual ~IDeckLinkConfiguration () {} // call Release method to drop reference count
};
+/* Interface IDeckLinkEncoderConfiguration - DeckLink Encoder Configuration interface. Obtained from IDeckLinkEncoderInput */
+
+class IDeckLinkEncoderConfiguration : public IUnknown
+{
+public:
+ virtual HRESULT SetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ bool value) = 0;
+ virtual HRESULT GetFlag (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ bool *value) = 0;
+ virtual HRESULT SetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ int64_t value) = 0;
+ virtual HRESULT GetInt (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ int64_t *value) = 0;
+ virtual HRESULT SetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ double value) = 0;
+ virtual HRESULT GetFloat (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ double *value) = 0;
+ virtual HRESULT SetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* in */ CFStringRef value) = 0;
+ virtual HRESULT GetString (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ CFStringRef *value) = 0;
+ virtual HRESULT GetBytes (/* in */ BMDDeckLinkEncoderConfigurationID cfgID, /* out */ void *buffer /* optional */, /* in, out */ uint32_t *bufferSize) = 0;
+
+protected:
+ virtual ~IDeckLinkEncoderConfiguration () {} // call Release method to drop reference count
+};
+
/* Functions */
extern "C" {
diff --git a/sys/decklink/osx/DeckLinkAPIDeckControl.h b/sys/decklink/osx/DeckLinkAPIDeckControl.h
index 4075f32..0fd4e96 100644
--- a/sys/decklink/osx/DeckLinkAPIDeckControl.h
+++ b/sys/decklink/osx/DeckLinkAPIDeckControl.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
diff --git a/sys/decklink/osx/DeckLinkAPIDiscovery.h b/sys/decklink/osx/DeckLinkAPIDiscovery.h
index adbde29..ac17a1e 100644
--- a/sys/decklink/osx/DeckLinkAPIDiscovery.h
+++ b/sys/decklink/osx/DeckLinkAPIDiscovery.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
diff --git a/sys/decklink/osx/DeckLinkAPIDispatch.cpp b/sys/decklink/osx/DeckLinkAPIDispatch.cpp
index cb646de..cde0634 100644
--- a/sys/decklink/osx/DeckLinkAPIDispatch.cpp
+++ b/sys/decklink/osx/DeckLinkAPIDispatch.cpp
@@ -53,7 +53,7 @@
static CreateDeckLinkDiscoveryInstanceFunc gCreateDeckLinkDiscoveryFunc= NULL;
-void InitDeckLinkAPI (void)
+static void InitDeckLinkAPI (void)
{
CFURLRef bundleURL;
@@ -74,6 +74,7 @@
}
}
+#if 0
bool IsDeckLinkAPIPresent (void)
{
// If the DeckLink API bundle was successfully loaded, return this knowledge to the caller
@@ -82,6 +83,7 @@
return false;
}
+#endif
IDeckLinkIterator* CreateDeckLinkIteratorInstance (void)
{
diff --git a/sys/decklink/osx/DeckLinkAPIModes.h b/sys/decklink/osx/DeckLinkAPIModes.h
index 478a2fd..7bd6852 100644
--- a/sys/decklink/osx/DeckLinkAPIModes.h
+++ b/sys/decklink/osx/DeckLinkAPIModes.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -135,7 +135,12 @@
bmdFormat12BitRGB = 'R12B', // Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component
bmdFormat12BitRGBLE = 'R12L', // Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component
bmdFormat10BitRGBXLE = 'R10l', // Little-endian 10-bit RGB with SMPTE video levels (64-940)
- bmdFormat10BitRGBX = 'R10b' // Big-endian 10-bit RGB with SMPTE video levels (64-940)
+ bmdFormat10BitRGBX = 'R10b', // Big-endian 10-bit RGB with SMPTE video levels (64-940)
+ bmdFormatH265 = 'hev1', // High Efficiency Video Coding (HEVC/h.265)
+
+ /* AVID DNxHR */
+
+ bmdFormatDNxHR = 'AVdh'
};
/* Enum BMDDisplayModeFlags - Flags to describe the characteristics of an IDeckLinkDisplayMode. */
diff --git a/sys/decklink/osx/DeckLinkAPIStreaming.h b/sys/decklink/osx/DeckLinkAPIStreaming.h
index 725c187..625ae55 100644
--- a/sys/decklink/osx/DeckLinkAPIStreaming.h
+++ b/sys/decklink/osx/DeckLinkAPIStreaming.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
diff --git a/sys/decklink/osx/DeckLinkAPITypes.h b/sys/decklink/osx/DeckLinkAPITypes.h
index 396680c..65866d9 100644
--- a/sys/decklink/osx/DeckLinkAPITypes.h
+++ b/sys/decklink/osx/DeckLinkAPITypes.h
@@ -1,5 +1,5 @@
/* -LICENSE-START-
-** Copyright (c) 2014 Blackmagic Design
+** Copyright (c) 2016 Blackmagic Design
**
** Permission is hereby granted, free of charge, to any person or organization
** obtaining a copy of the software and accompanying documentation covered by
@@ -77,7 +77,17 @@
bmdAudioConnectionAESEBU = 1 << 1,
bmdAudioConnectionAnalog = 1 << 2,
bmdAudioConnectionAnalogXLR = 1 << 3,
- bmdAudioConnectionAnalogRCA = 1 << 4
+ bmdAudioConnectionAnalogRCA = 1 << 4,
+ bmdAudioConnectionMicrophone = 1 << 5,
+ bmdAudioConnectionHeadphones = 1 << 6
+};
+
+/* Enum BMDDeckControlConnection - Deck control connections */
+
+typedef uint32_t BMDDeckControlConnection;
+enum _BMDDeckControlConnection {
+ bmdDeckControlConnectionRS422Remote1 = 1 << 0,
+ bmdDeckControlConnectionRS422Remote2 = 1 << 1
};
// Forward Declarations
diff --git a/sys/decklink/osx/DeckLinkAPIVersion.h b/sys/decklink/osx/DeckLinkAPIVersion.h
index 4e41492..e19fa11 100644
--- a/sys/decklink/osx/DeckLinkAPIVersion.h
+++ b/sys/decklink/osx/DeckLinkAPIVersion.h
@@ -30,8 +30,8 @@
#ifndef __DeckLink_API_Version_h__
#define __DeckLink_API_Version_h__
-#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a030100
-#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.3.1"
+#define BLACKMAGIC_DECKLINK_API_VERSION 0x0a080000
+#define BLACKMAGIC_DECKLINK_API_VERSION_STRING "10.8"
#endif // __DeckLink_API_Version_h__
diff --git a/sys/directsound/Makefile.in b/sys/directsound/Makefile.in
index c03bebd..9257db8 100644
--- a/sys/directsound/Makefile.in
+++ b/sys/directsound/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/dshowdecwrapper/Makefile.in b/sys/dshowdecwrapper/Makefile.in
index e3261e9..8b8bd6e 100644
--- a/sys/dshowdecwrapper/Makefile.in
+++ b/sys/dshowdecwrapper/Makefile.in
@@ -699,6 +699,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/dshowsrcwrapper/Makefile.in b/sys/dshowsrcwrapper/Makefile.in
index 0318375..aab2d38 100644
--- a/sys/dshowsrcwrapper/Makefile.in
+++ b/sys/dshowsrcwrapper/Makefile.in
@@ -610,6 +610,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/dshowvideosink/Makefile.in b/sys/dshowvideosink/Makefile.in
index a947aeb..b76897f 100644
--- a/sys/dshowvideosink/Makefile.in
+++ b/sys/dshowvideosink/Makefile.in
@@ -610,6 +610,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/dvb/Makefile.in b/sys/dvb/Makefile.in
index adbf2e7..3adcbbc 100644
--- a/sys/dvb/Makefile.in
+++ b/sys/dvb/Makefile.in
@@ -703,6 +703,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/fbdev/Makefile.in b/sys/fbdev/Makefile.in
index 1ba38af..554ba4d 100644
--- a/sys/fbdev/Makefile.in
+++ b/sys/fbdev/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/kms/Makefile.in b/sys/kms/Makefile.in
index 467c252..0201bdc 100644
--- a/sys/kms/Makefile.in
+++ b/sys/kms/Makefile.in
@@ -698,6 +698,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/kms/gstkmsallocator.c b/sys/kms/gstkmsallocator.c
index 7df1aa3..e031848 100644
--- a/sys/kms/gstkmsallocator.c
+++ b/sys/kms/gstkmsallocator.c
@@ -303,7 +303,7 @@
{
int i, ret;
gint num_planes = GST_VIDEO_INFO_N_PLANES (vinfo);
- guint32 w, h, fmt, bo_handles[4] = { 0, };
+ guint32 w, h, fmt, pitch = 0, bo_handles[4] = { 0, };
guint32 offsets[4] = { 0, };
guint32 pitches[4] = { 0, };
@@ -318,6 +318,10 @@
kms_bo_get_prop (kmsmem->bo, KMS_HANDLE, &bo_handles[0]);
for (i = 1; i < num_planes; i++)
bo_handles[i] = bo_handles[0];
+
+ /* Get the bo pitch calculated by the kms driver.
+ * If it's defined, it will overwrite the video info's stride */
+ kms_bo_get_prop (kmsmem->bo, KMS_PITCH, &pitch);
} else {
for (i = 0; i < num_planes; i++)
bo_handles[i] = kmsmem->gem_handle[i];
@@ -328,6 +332,8 @@
for (i = 0; i < num_planes; i++) {
offsets[i] = mem_offsets[i];
+ if (pitch)
+ GST_VIDEO_INFO_PLANE_STRIDE (vinfo, i) = pitch;
pitches[i] = GST_VIDEO_INFO_PLANE_STRIDE (vinfo, i);
GST_DEBUG_OBJECT (alloc, "Create FB plane %i with stride %u and offset %u",
i, pitches[i], offsets[i]);
diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
index 72cb1f7..8508b0d 100644
--- a/sys/kms/gstkmssink.c
+++ b/sys/kms/gstkmssink.c
@@ -1084,27 +1084,37 @@
GST_TRACE_OBJECT (self, "displaying fb %d", fb_id);
- {
- if ((crop = gst_buffer_get_video_crop_meta (buffer))) {
- src.x = crop->x;
- src.y = crop->y;
- src.w = crop->width;
- src.h = crop->height;
- } else {
- src.w = GST_VIDEO_SINK_WIDTH (self);
- src.h = GST_VIDEO_SINK_HEIGHT (self);
- }
+ if ((crop = gst_buffer_get_video_crop_meta (buffer))) {
+ GstVideoInfo vinfo = self->vinfo;
+ vinfo.width = crop->width;
+ vinfo.height = crop->height;
+
+ if (!gst_kms_sink_calculate_display_ratio (self, &vinfo))
+ goto no_disp_ratio;
+
+ src.x = crop->x;
+ src.y = crop->y;
}
+ src.w = GST_VIDEO_SINK_WIDTH (self);
+ src.h = GST_VIDEO_SINK_HEIGHT (self);
+
dst.w = self->hdisplay;
dst.h = self->vdisplay;
- gst_video_sink_center_rect (src, dst, &result, FALSE);
+ gst_video_sink_center_rect (src, dst, &result, TRUE);
- /* if the frame size is bigger than the display size, the source
- * must be the display size */
- src.w = MIN (src.w, self->hdisplay);
- src.h = MIN (src.h, self->vdisplay);
+ if (crop) {
+ src.w = crop->width;
+ src.h = crop->height;
+ } else {
+ src.w = GST_VIDEO_INFO_WIDTH (&self->vinfo);
+ src.h = GST_VIDEO_INFO_HEIGHT (&self->vinfo);
+ }
+
+ GST_TRACE_OBJECT (self,
+ "drmModeSetPlane at (%i,%i) %ix%i sourcing at (%i,%i) %ix%i",
+ result.x, result.y, result.w, result.h, src.x, src.y, src.w, src.h);
ret = drmModeSetPlane (self->fd, self->plane_id, self->crtc_id, fb_id, 0,
result.x, result.y, result.w, result.h,
@@ -1141,6 +1151,12 @@
(NULL), ("drmModeSetPlane failed: %s (%d)", strerror (-ret), ret));
goto bail;
}
+no_disp_ratio:
+ {
+ GST_ELEMENT_ERROR (self, CORE, NEGOTIATION, (NULL),
+ ("Error calculating the output display ratio of the video."));
+ goto bail;
+ }
}
static void
diff --git a/sys/linsys/Makefile.in b/sys/linsys/Makefile.in
index 6032f8b..fd5824e 100644
--- a/sys/linsys/Makefile.in
+++ b/sys/linsys/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/nvenc/Makefile.in b/sys/nvenc/Makefile.in
index c3485fa..39922d6 100644
--- a/sys/nvenc/Makefile.in
+++ b/sys/nvenc/Makefile.in
@@ -699,6 +699,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/opensles/Makefile.in b/sys/opensles/Makefile.in
index faff953..a804960 100644
--- a/sys/opensles/Makefile.in
+++ b/sys/opensles/Makefile.in
@@ -696,6 +696,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/pvr2d/Makefile.in b/sys/pvr2d/Makefile.in
index 121009c..45bcbdb 100644
--- a/sys/pvr2d/Makefile.in
+++ b/sys/pvr2d/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/shm/Makefile.in b/sys/shm/Makefile.in
index 03eee08..07d3e25 100644
--- a/sys/shm/Makefile.in
+++ b/sys/shm/Makefile.in
@@ -695,6 +695,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/tinyalsa/Makefile.in b/sys/tinyalsa/Makefile.in
index 843d5f2..fff9a69 100644
--- a/sys/tinyalsa/Makefile.in
+++ b/sys/tinyalsa/Makefile.in
@@ -694,6 +694,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/uvch264/Makefile.in b/sys/uvch264/Makefile.in
index 1f7b750..7eda0dd 100644
--- a/sys/uvch264/Makefile.in
+++ b/sys/uvch264/Makefile.in
@@ -698,6 +698,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/vcd/Makefile.in b/sys/vcd/Makefile.in
index 1c4db38..a60f7f8 100644
--- a/sys/vcd/Makefile.in
+++ b/sys/vcd/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/vdpau/Makefile.in b/sys/vdpau/Makefile.in
index 13903a0..ea82b95 100644
--- a/sys/vdpau/Makefile.in
+++ b/sys/vdpau/Makefile.in
@@ -701,6 +701,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/wasapi/Makefile.in b/sys/wasapi/Makefile.in
index 882d1aa..431242e 100644
--- a/sys/wasapi/Makefile.in
+++ b/sys/wasapi/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/wininet/Makefile.in b/sys/wininet/Makefile.in
index 21363b0..cc663ea 100644
--- a/sys/wininet/Makefile.in
+++ b/sys/wininet/Makefile.in
@@ -693,6 +693,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/winks/Makefile.in b/sys/winks/Makefile.in
index 21a37eb..117eae2 100644
--- a/sys/winks/Makefile.in
+++ b/sys/winks/Makefile.in
@@ -698,6 +698,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/winscreencap/Makefile.in b/sys/winscreencap/Makefile.in
index 957a2bf..c464bf3 100644
--- a/sys/winscreencap/Makefile.in
+++ b/sys/winscreencap/Makefile.in
@@ -697,6 +697,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/sys/winscreencap/gstdx9screencapsrc.c b/sys/winscreencap/gstdx9screencapsrc.c
index af1b89f..d3bd61c 100644
--- a/sys/winscreencap/gstdx9screencapsrc.c
+++ b/sys/winscreencap/gstdx9screencapsrc.c
@@ -202,10 +202,6 @@
switch (prop_id) {
case PROP_MONITOR:
- if (g_value_get_int (value) >= GetSystemMetrics (SM_CMONITORS)) {
- G_OBJECT_WARN_INVALID_PSPEC (object, "Monitor", prop_id, pspec);
- break;
- }
src->monitor = g_value_get_int (value);
break;
case PROP_X_POS:
@@ -310,8 +306,13 @@
RECT rect_dst;
GstCaps *caps;
- if (src->monitor >= IDirect3D9_GetAdapterCount (g_d3d9) ||
- FAILED (IDirect3D9_GetAdapterDisplayMode (g_d3d9, src->monitor,
+ if (src->monitor >= IDirect3D9_GetAdapterCount (g_d3d9)) {
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
+ ("Specified monitor with index %d not found", src->monitor), (NULL));
+ return NULL;
+ }
+
+ if (FAILED (IDirect3D9_GetAdapterDisplayMode (g_d3d9, src->monitor,
&src->disp_mode))) {
return NULL;
}
@@ -382,6 +383,12 @@
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
+ if (src->monitor >= IDirect3D9_GetAdapterCount (g_d3d9)) {
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
+ ("Specified monitor with index %d not found", src->monitor), (NULL));
+ return FALSE;
+ }
+
res = IDirect3D9_CreateDevice (g_d3d9, src->monitor, D3DDEVTYPE_HAL,
GetDesktopWindow (), D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &src->d3d9_device);
diff --git a/tests/Makefile.in b/tests/Makefile.in
index b6a8115..02adc4e 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -666,6 +666,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index ab8c787..2c0cdb2 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -474,7 +474,7 @@
elements_dash_demux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
elements_dash_demux_LDADD = \
- $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
+ $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgsttag-$(GST_API_VERSION) \
-lgstapp-$(GST_API_VERSION) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
@@ -485,7 +485,7 @@
elements_mssdemux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
elements_mssdemux_LDADD = \
- $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
+ $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgsttag-$(GST_API_VERSION) \
-lgstapp-$(GST_API_VERSION) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
@@ -653,7 +653,7 @@
elements_hlsdemux_m3u8_SOURCES = elements/hlsdemux_m3u8.c
elements_hls_demux_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
-elements_hls_demux_LDADD = $(GST_BASE_LIBS) $(LDADD) \
+elements_hls_demux_LDADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(LDADD) \
-lgsttag-$(GST_API_VERSION) \
-lgstapp-$(GST_API_VERSION) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index f08163b..cf3a183 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -317,6 +317,7 @@
elements_dash_demux_OBJECTS = $(am_elements_dash_demux_OBJECTS)
elements_dash_demux_DEPENDENCIES = $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
elements_dash_demux_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
@@ -403,7 +404,7 @@
elements/elements_hls_demux-hls_demux.$(OBJEXT)
elements_hls_demux_OBJECTS = $(am_elements_hls_demux_OBJECTS)
elements_hls_demux_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
elements_hls_demux_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
@@ -477,6 +478,7 @@
elements_mssdemux_OBJECTS = $(am_elements_mssdemux_OBJECTS)
elements_mssdemux_DEPENDENCIES = $(am__DEPENDENCIES_2) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
elements_mssdemux_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
@@ -1609,6 +1611,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
@@ -1975,7 +1980,7 @@
elements_dash_isoff_SOURCES = elements/dash_isoff.c
elements_dash_demux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
elements_dash_demux_LDADD = \
- $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
+ $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgsttag-$(GST_API_VERSION) \
-lgstapp-$(GST_API_VERSION) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
@@ -1984,7 +1989,7 @@
elements_neonhttpsrc_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
elements_mssdemux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
elements_mssdemux_LDADD = \
- $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
+ $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgsttag-$(GST_API_VERSION) \
-lgstapp-$(GST_API_VERSION) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
@@ -2126,7 +2131,7 @@
elements_hlsdemux_m3u8_LDADD = $(GST_BASE_LIBS) $(LDADD)
elements_hlsdemux_m3u8_SOURCES = elements/hlsdemux_m3u8.c
elements_hls_demux_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
-elements_hls_demux_LDADD = $(GST_BASE_LIBS) $(LDADD) \
+elements_hls_demux_LDADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(LDADD) \
-lgsttag-$(GST_API_VERSION) \
-lgstapp-$(GST_API_VERSION) \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
diff --git a/tests/check/elements/rtponviftimestamp.c b/tests/check/elements/rtponviftimestamp.c
index 09413a8..f5c6c7c 100644
--- a/tests/check/elements/rtponviftimestamp.c
+++ b/tests/check/elements/rtponviftimestamp.c
@@ -250,7 +250,8 @@
/* Create a copy of @buffer_in having the RTP extension */
static GstBuffer *
create_extension_buffer (GstBuffer * buffer_in, gboolean clean_point,
- gboolean end_contiguous, gboolean discont, guint64 ntp_offset, guint8 cseq)
+ gboolean end_contiguous, gboolean discont, guint64 ntp_offset, guint8 cseq,
+ gboolean first_buffer)
{
GstBuffer *buffer_out;
GstRTPBuffer rtpbuffer_out = GST_RTP_BUFFER_INIT;
@@ -273,6 +274,8 @@
ntp_offset));
/* C E D mbz */
+ if (first_buffer)
+ flags |= (1 << 5);
if (clean_point)
flags |= (1 << 7);
if (end_contiguous)
@@ -304,7 +307,7 @@
buffer_in = create_rtp_buffer (TIMESTAMP, clean_point);
buffer_out = create_extension_buffer (buffer_in, clean_point, FALSE, FALSE,
- NTP_OFFSET, CSEQ);
+ NTP_OFFSET, CSEQ, TRUE);
/* push initial events */
gst_check_setup_events (mysrcpad, element, NULL, GST_FORMAT_TIME);
@@ -331,7 +334,7 @@
buffer_in = create_rtp_buffer (TIMESTAMP, FALSE);
buffer_out = create_extension_buffer (buffer_in, FALSE, end_contiguous,
- FALSE, NTP_OFFSET, CSEQ);
+ FALSE, NTP_OFFSET, CSEQ, TRUE);
/* push initial events */
gst_check_setup_events (mysrcpad, element, NULL, GST_FORMAT_TIME);
@@ -367,7 +370,7 @@
/* Last buffer always has the 'E' flag */
buffer_out = create_extension_buffer (buffer_in, FALSE, TRUE, end_contiguous,
- NTP_OFFSET, CSEQ);
+ NTP_OFFSET, CSEQ, FALSE);
node = g_list_last (buffers);
check_buffer_equal ((GstBuffer *) node->data, buffer_out);
gst_buffer_unref (buffer_out);
@@ -546,12 +549,12 @@
/* push an ntp-offset event */
fail_unless (gst_pad_push_event (mysrcpad,
- create_ntp_offset_event (NTP_OFFSET, FALSE)));
+ create_ntp_offset_event (NTP_OFFSET, TRUE)));
/* create and push the first buffer */
buffer_in = create_rtp_buffer (TIMESTAMP, TRUE);
buffer1_out = create_extension_buffer (buffer_in, TRUE, TRUE, FALSE,
- NTP_OFFSET, 0);
+ NTP_OFFSET, 0, TRUE);
fail_unless_equals_int (gst_pad_push (mysrcpad, buffer_in), GST_FLOW_OK);
/* push a new ntp offset */
@@ -561,7 +564,7 @@
/* create and push a second buffer (last) */
buffer_in = create_rtp_buffer (TIMESTAMP + 1, TRUE);
buffer2_out = create_extension_buffer (buffer_in, TRUE, TRUE, TRUE,
- 2 * NTP_OFFSET, 0);
+ 2 * NTP_OFFSET, 0, FALSE);
fail_unless_equals_int (gst_pad_push (mysrcpad, buffer_in), GST_FLOW_OK);
/* the first buffer should have been pushed now */
diff --git a/tests/check/libs/player.c b/tests/check/libs/player.c
index e4c83fc..8c203b9 100644
--- a/tests/check/libs/player.c
+++ b/tests/check/libs/player.c
@@ -764,7 +764,7 @@
new_state->test_data = GINT_TO_POINTER (steps + 1);
/* load invalid suburi */
- fail_unless (gst_player_set_subtitle_uri (player, suburi) != FALSE);
+ gst_player_set_subtitle_uri (player, suburi);
g_free (suburi);
} else if (steps && change == STATE_CHANGE_WARNING) {
@@ -1026,7 +1026,7 @@
suburi = gst_filename_to_uri (TEST_PATH "/test_sub.srt", NULL);
fail_unless (suburi != NULL);
- fail_unless (gst_player_set_subtitle_uri (player, suburi) != FALSE);
+ gst_player_set_subtitle_uri (player, suburi);
g_free (suburi);
new_state->test_data = GINT_TO_POINTER (steps + 1);
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 803ee0d..135e2b9 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -709,6 +709,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/avsamplesink/Makefile.in b/tests/examples/avsamplesink/Makefile.in
index b89b942..8440a9b 100644
--- a/tests/examples/avsamplesink/Makefile.in
+++ b/tests/examples/avsamplesink/Makefile.in
@@ -663,6 +663,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/camerabin2/Makefile.in b/tests/examples/camerabin2/Makefile.in
index 1756f39..164721e 100644
--- a/tests/examples/camerabin2/Makefile.in
+++ b/tests/examples/camerabin2/Makefile.in
@@ -681,6 +681,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/codecparsers/Makefile.in b/tests/examples/codecparsers/Makefile.in
index 86bdf11..4eb2cc7 100644
--- a/tests/examples/codecparsers/Makefile.in
+++ b/tests/examples/codecparsers/Makefile.in
@@ -666,6 +666,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/directfb/Makefile.in b/tests/examples/directfb/Makefile.in
index ff39816..863c88f 100644
--- a/tests/examples/directfb/Makefile.in
+++ b/tests/examples/directfb/Makefile.in
@@ -660,6 +660,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/Makefile.in b/tests/examples/gl/Makefile.in
index 533c7b6..a4f8f34 100644
--- a/tests/examples/gl/Makefile.in
+++ b/tests/examples/gl/Makefile.in
@@ -671,6 +671,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/clutter/Makefile.am b/tests/examples/gl/clutter/Makefile.am
index cb8796c..a8e3115 100644
--- a/tests/examples/gl/clutter/Makefile.am
+++ b/tests/examples/gl/clutter/Makefile.am
@@ -30,7 +30,7 @@
$(GL_CFLAGS) $(CLUTTER_CFLAGS) \
$(CLUTTER_GLX_CFLAGS) $(CLUTTER_X11_CFLAGS) $(XCOMPOSITE_CFLAGS)
clutteractor_LDADD=$(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
- $(GST_PLUGINS_GL_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
+ $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) $(XCOMPOSITE_LIBS) -lgstvideo-$(GST_API_VERSION)
clutteractortee_SOURCES = clutteractortee.c
@@ -40,7 +40,7 @@
$(GL_CFLAGS) $(CLUTTER_CFLAGS) \
$(CLUTTER_GLX_CFLAGS) $(CLUTTER_X11_CFLAGS) $(XCOMPOSITE_CFLAGS)
clutteractortee_LDADD=$(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
- $(GST_PLUGINS_GL_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
+ $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
$(GL_LIBS) $(XCOMPOSITE_LIBS) -lgstvideo-$(GST_API_VERSION)
endif
diff --git a/tests/examples/gl/clutter/Makefile.in b/tests/examples/gl/clutter/Makefile.in
index 6a290fd..b570e19 100644
--- a/tests/examples/gl/clutter/Makefile.in
+++ b/tests/examples/gl/clutter/Makefile.in
@@ -703,6 +703,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
@@ -811,7 +814,7 @@
@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(CLUTTER_GLX_CFLAGS) $(CLUTTER_X11_CFLAGS) $(XCOMPOSITE_CFLAGS)
@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@clutteractor_LDADD = $(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
-@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(GST_PLUGINS_GL_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
+@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(GL_LIBS) $(XCOMPOSITE_LIBS) -lgstvideo-$(GST_API_VERSION)
@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@clutteractortee_SOURCES = clutteractortee.c
@@ -821,7 +824,7 @@
@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(CLUTTER_GLX_CFLAGS) $(CLUTTER_X11_CFLAGS) $(XCOMPOSITE_CFLAGS)
@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@clutteractortee_LDADD = $(CLUTTER_LIBS) $(CLUTTER_GLX_LIBS) $(CLUTTER_X11_LIBS) \
-@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(GST_PLUGINS_GL_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
+@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
@HAVE_CLUTTER_GLX_TRUE@@HAVE_CLUTTER_X11_TRUE@@HAVE_XCOMPOSITE_TRUE@ $(GL_LIBS) $(XCOMPOSITE_LIBS) -lgstvideo-$(GST_API_VERSION)
all: all-am
diff --git a/tests/examples/gl/cocoa/Makefile.in b/tests/examples/gl/cocoa/Makefile.in
index 8880a29..099ff94 100644
--- a/tests/examples/gl/cocoa/Makefile.in
+++ b/tests/examples/gl/cocoa/Makefile.in
@@ -666,6 +666,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/generic/Makefile.in b/tests/examples/gl/generic/Makefile.in
index de99217..2853eb0 100644
--- a/tests/examples/gl/generic/Makefile.in
+++ b/tests/examples/gl/generic/Makefile.in
@@ -667,6 +667,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/generic/cube/Makefile.in b/tests/examples/gl/generic/cube/Makefile.in
index 572dc66..15e8308 100644
--- a/tests/examples/gl/generic/cube/Makefile.in
+++ b/tests/examples/gl/generic/cube/Makefile.in
@@ -662,6 +662,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/generic/cubeyuv/Makefile.in b/tests/examples/gl/generic/cubeyuv/Makefile.in
index ad626a9..4015864 100644
--- a/tests/examples/gl/generic/cubeyuv/Makefile.in
+++ b/tests/examples/gl/generic/cubeyuv/Makefile.in
@@ -662,6 +662,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/generic/doublecube/Makefile.in b/tests/examples/gl/generic/doublecube/Makefile.in
index bc0e573..3b7f8a5 100644
--- a/tests/examples/gl/generic/doublecube/Makefile.in
+++ b/tests/examples/gl/generic/doublecube/Makefile.in
@@ -662,6 +662,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/generic/recordgraphic/Makefile.in b/tests/examples/gl/generic/recordgraphic/Makefile.in
index 088e093..e1d9308 100644
--- a/tests/examples/gl/generic/recordgraphic/Makefile.in
+++ b/tests/examples/gl/generic/recordgraphic/Makefile.in
@@ -663,6 +663,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/gtk/3dvideo/Makefile.in b/tests/examples/gl/gtk/3dvideo/Makefile.in
index ce5c4a6..850bb28 100644
--- a/tests/examples/gl/gtk/3dvideo/Makefile.in
+++ b/tests/examples/gl/gtk/3dvideo/Makefile.in
@@ -686,6 +686,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/gtk/Makefile.in b/tests/examples/gl/gtk/Makefile.in
index b7ab5fb..4b1db57 100644
--- a/tests/examples/gl/gtk/Makefile.in
+++ b/tests/examples/gl/gtk/Makefile.in
@@ -703,6 +703,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
index dd578f8..9bad27c 100644
--- a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
@@ -664,6 +664,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
index c90fe5e..a22742a 100644
--- a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
@@ -665,6 +665,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/gtk/fxtest/Makefile.in b/tests/examples/gl/gtk/fxtest/Makefile.in
index e0f05af..ac50a68 100644
--- a/tests/examples/gl/gtk/fxtest/Makefile.in
+++ b/tests/examples/gl/gtk/fxtest/Makefile.in
@@ -671,6 +671,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
index 16a30de..e5ec574 100644
--- a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
@@ -665,6 +665,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/qt/Makefile.in b/tests/examples/gl/qt/Makefile.in
index 9cf080c..9562426 100644
--- a/tests/examples/gl/qt/Makefile.in
+++ b/tests/examples/gl/qt/Makefile.in
@@ -607,6 +607,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gl/sdl/Makefile.in b/tests/examples/gl/sdl/Makefile.in
index 2301892..a82243a 100644
--- a/tests/examples/gl/sdl/Makefile.in
+++ b/tests/examples/gl/sdl/Makefile.in
@@ -678,6 +678,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/gtk/Makefile.in b/tests/examples/gtk/Makefile.in
index c2bdbc2..c5dcb57 100644
--- a/tests/examples/gtk/Makefile.in
+++ b/tests/examples/gtk/Makefile.in
@@ -690,6 +690,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/mpegts/Makefile.in b/tests/examples/mpegts/Makefile.in
index 311443f..1ab72cf 100644
--- a/tests/examples/mpegts/Makefile.in
+++ b/tests/examples/mpegts/Makefile.in
@@ -660,6 +660,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/mxf/Makefile.in b/tests/examples/mxf/Makefile.in
index 1dee61a..f2032eb 100644
--- a/tests/examples/mxf/Makefile.in
+++ b/tests/examples/mxf/Makefile.in
@@ -665,6 +665,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/opencv/Makefile.in b/tests/examples/opencv/Makefile.in
index 6a00c49..3410221 100644
--- a/tests/examples/opencv/Makefile.in
+++ b/tests/examples/opencv/Makefile.in
@@ -682,6 +682,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/uvch264/Makefile.in b/tests/examples/uvch264/Makefile.in
index 06ae78a..58b010b 100644
--- a/tests/examples/uvch264/Makefile.in
+++ b/tests/examples/uvch264/Makefile.in
@@ -668,6 +668,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/examples/waylandsink/Makefile.in b/tests/examples/waylandsink/Makefile.in
index 3d773df..2281cdf 100644
--- a/tests/examples/waylandsink/Makefile.in
+++ b/tests/examples/waylandsink/Makefile.in
@@ -664,6 +664,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index 27e7cc2..91d84fc 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -607,6 +607,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index 814f147..46afe54 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -665,6 +665,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 869f9b8..a159425 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -607,6 +607,9 @@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
+WAYLAND_PROTOCOLS_CFLAGS = @WAYLAND_PROTOCOLS_CFLAGS@
+WAYLAND_PROTOCOLS_DATADIR = @WAYLAND_PROTOCOLS_DATADIR@
+WAYLAND_PROTOCOLS_LIBS = @WAYLAND_PROTOCOLS_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WEBRTCDSP_CFLAGS = @WEBRTCDSP_CFLAGS@
diff --git a/win32/common/config.h b/win32/common/config.h
index 0f7fa12..20cbc17 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -86,7 +86,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2016-09-01"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-09-30"
/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC
@@ -737,7 +737,7 @@
#define PACKAGE_NAME "GStreamer Bad Plug-ins"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.9.2"
+#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.9.90"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-bad"
@@ -746,7 +746,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.9.2"
+#define PACKAGE_VERSION "1.9.90"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -790,7 +790,7 @@
#undef USE_EGL_RPI
/* Version number of package */
-#define VERSION "1.9.2"
+#define VERSION "1.9.90"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */